From eef830d0f83ecbd389bdb83ce5c0ef79c6f26640 Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Tue, 3 Sep 2024 22:49:42 -0600 Subject: [PATCH] Bwuh --- index.js | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/index.js b/index.js index 10f6662..9378af2 100644 --- a/index.js +++ b/index.js @@ -10,18 +10,12 @@ const ws_ = []; const app = express(); app.set('trust proxy', true); -app.set('view engine', 'ejs'); - -app.get('/', (req, res) => { - res.render('index'); -}); - -app.get('/api/connect/:jobid/:url', (req, res) => { +app.put('/api/connect/:jobid', (req, res) => { var id = btoa(Crypto.randomBytes(10).toString('base64').slice(0, 10)).replaceAll("=", ""); ws_[id] = {}; ws_[id].jobid = req.params.jobid; // Roblox server ID, checked on all requests as a sort of username alongside the ID ws_[id].message = ""; - ws_[id].connection = new WebSocket(atob(req.params.url)); + ws_[id].connection = new WebSocket(req.body); ws_[id].connection.on('message', function(data) { ws_[id].message = data; }) @@ -40,7 +34,7 @@ app.get('/api/connect/:jobid/:url', (req, res) => { res.send(id); }); -app.get("/api/send/:jobid/:id/:data", (req, res) => { +app.post("/api/send/:jobid/:id/", (req, res) => { if (ws_[req.params.id].jobid !== req.params.jobid) { res.status(401).send({ success: false, @@ -51,13 +45,12 @@ app.get("/api/send/:jobid/:id/:data", (req, res) => { var id = req.params.id; var stats = ws_[id]; var socket = ws_[id].connection; - req.params.data = atob(req.params.data); - console.log("sent data: " + req.params.data) + console.log("sent data: " + req.body) if (stats.open == true) { - socket.send(req.params.data); + socket.send(req.body); } else { socket.on('open', () => { - socket.send(req.params.data); + socket.send(req.body); }); } res.send({ @@ -79,6 +72,21 @@ app.get("/api/poll/:jobid/:id", (req, res) => { } }) +app.delete("/api/close/:jobid/:id", (req, res) => { + if (ws_[req.params.id].jobid !== req.params.jobid) { + res.status(401).send({ + success: false, + message: "Invalid job ID" + }); + return; + } + var id = req.params.id; + ws_[id].connection.terminate(); + delete ws_[id]; + res.send({ + success: true + }); +}) app.listen(PORT, () => { console.log('server started');