diff options
author | RaindropsSys <contact@minteck.org> | 2023-06-02 16:31:02 +0200 |
---|---|---|
committer | RaindropsSys <contact@minteck.org> | 2023-06-02 16:31:02 +0200 |
commit | 48afc99d05c7bcd54231f340635f5102a03fbda4 (patch) | |
tree | bdad312490ee42b84dde71d5c49266f1b7fc792e /includes/external/computers/index.js | |
parent | 82ef2e6f4fadb6ed721a0de79ec4d2fcfdc3f426 (diff) | |
download | pluralconnect-48afc99d05c7bcd54231f340635f5102a03fbda4.tar.gz pluralconnect-48afc99d05c7bcd54231f340635f5102a03fbda4.tar.bz2 pluralconnect-48afc99d05c7bcd54231f340635f5102a03fbda4.zip |
Updated 7 files, added error.php and deleted 39 files (automated)
Diffstat (limited to 'includes/external/computers/index.js')
-rw-r--r-- | includes/external/computers/index.js | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/includes/external/computers/index.js b/includes/external/computers/index.js deleted file mode 100644 index a8109cb..0000000 --- a/includes/external/computers/index.js +++ /dev/null @@ -1,91 +0,0 @@ -const { WebSocketServer } = require('ws'); -const fs = require('fs'); -const uuid = require('uuid-v4'); - -const wss = new WebSocketServer({ port: 38050 }); -const servers = {}; -const clients = {}; - -wss.on('connection', function connection(ws, req) { - ws.linked = null; - ws.id = null; - ws.linkedServer = null; - - console.log("New client: " + req.headers['x-forwarded-for'].split(',')[0].trim()); - - ws.on('message', (_data) => { - if (ws.linked) { - try { - let data = JSON.parse(_data.toString()); - data["_id"] = ws.id; - servers[ws.linked].send(JSON.stringify(data)); - } catch (e) { - console.error(e); - } - } else { - try { - let data = JSON.parse(_data.toString()); - - if (data.type === "client") { - if (Object.keys(servers).includes(data.id)) { - if (fs.existsSync(__dirname + "/../../../includes/tokens/" + data.token.replaceAll(".", "").replaceAll("/", ""))) { - ws.linked = data.id; - ws.id = uuid(); - - servers[data.id].send(JSON.stringify({ - type: "client", - id: ws.id, - address: req.headers['x-forwarded-for'].split(',')[0].trim(), - name: data.name - })); - - clients[ws.id] = ws; - } else { - console.log("close(c), reason: invalid token"); - ws.close(); - } - } else { - console.log("close(c), reason: no server"); - ws.close(); - } - } else if (data.type === "server") { - if (Object.keys(servers).includes(data.id)) { - console.log("close(s), reason: already online"); - ws.close(); - return; - } - - ws.linkedServer = data.id; - servers[data.id] = ws; - } else if (data._id) { - try { - if (clients[data._id]) { - clients[data._id].send(_data); - } - } catch (e) { - console.error(e); - } - } - } catch (e) { - console.error(e); - } - } - }) - - ws.on('close', () => { - if (ws.linked) { - try { - servers[ws.linked].send(JSON.stringify({ - type: "close", - id: ws.id - })) - } catch (e) { - console.error(e); - } - - delete clients[ws.id]; - } else if (ws.linkedServer) { - delete servers[ws.linkedServer]; - } - }) -});
\ No newline at end of file |