From 48afc99d05c7bcd54231f340635f5102a03fbda4 Mon Sep 17 00:00:00 2001 From: RaindropsSys Date: Fri, 2 Jun 2023 16:31:02 +0200 Subject: Updated 7 files, added error.php and deleted 39 files (automated) --- includes/external/computers/index.js | 91 ------------------------------------ 1 file changed, 91 deletions(-) delete mode 100644 includes/external/computers/index.js (limited to 'includes/external/computers/index.js') 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 -- cgit