From 643ea3efa5d806c61f575da61efeec8bec2e00ae Mon Sep 17 00:00:00 2001 From: FullGreaM Date: Thu, 6 Feb 2025 17:14:52 +0300 Subject: [PATCH] add code of connect page --- server/frontend/connect-router.js | 15 ++++++ server/frontend/public/js/connect/main.js | 58 +++++++++++++++++++++++ server/frontend/public/js/main.js | 2 +- server/packet-parser.js | 5 +- 4 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 server/frontend/public/js/connect/main.js diff --git a/server/frontend/connect-router.js b/server/frontend/connect-router.js index 7d93c00..08a8421 100644 --- a/server/frontend/connect-router.js +++ b/server/frontend/connect-router.js @@ -1,5 +1,18 @@ module.exports = function (req, res) { + console.log(123); const serverAddress = req.query.server; + const encryption = req.query.encrypted === "true"; + if (req.query.encrypted === undefined || req.query.server === undefined) + return res.status(400).send(` + + + Error + + + +

[400] Error


unuse required params

+ +`); res.send(` @@ -14,6 +27,8 @@ module.exports = function (req, res) { + + `); } \ No newline at end of file diff --git a/server/frontend/public/js/connect/main.js b/server/frontend/public/js/connect/main.js new file mode 100644 index 0000000..e638db4 --- /dev/null +++ b/server/frontend/public/js/connect/main.js @@ -0,0 +1,58 @@ +// load styles +document.head.innerHTML += '\\n '; +document.head.innerHTML += '\\n '; +document.head.innerHTML += '\\n '; +document.head.innerHTML += '\\n ' + +// load main page +document.body.innerHTML = ` +
+
+
+

Connection to server...

+

+
+
+
`; + +//document \ No newline at end of file diff --git a/server/frontend/public/js/main.js b/server/frontend/public/js/main.js index e404b9d..406ada4 100644 --- a/server/frontend/public/js/main.js +++ b/server/frontend/public/js/main.js @@ -147,7 +147,7 @@ fl.bindLoad("/connect", () => { document.getElementById(btn.itemID).onclick = () => { checkContentWarning(() => { const serverInfo = serversByItemID[btn.itemID].serverItem; - window.open(`/connect-area?server=${serverInfo.address}:${serverInfo.port}`); + window.open(`/connect-area?server=${serverInfo.address}:${serverInfo.port}&encrypted=${serverInfo.secureMode ? "true" : "false"}`); }); }; }); diff --git a/server/packet-parser.js b/server/packet-parser.js index a1d3e22..6177ab3 100644 --- a/server/packet-parser.js +++ b/server/packet-parser.js @@ -16,10 +16,11 @@ class PacketParseResult { } module.exports = async (bytes) => { - // console.log("((('", bytes.toString("utf8"), "')))"); + console.log("((('", bytes.toString("utf8"), "')))"); const packet = bytes.toString("utf8"); - const isHTTP = packet.match(/(GET|POST|PUT|DELETE|OPTIONS|HEAD|PATCH|TRACE|CONNECT)\s{1,}\/[a-zA-Z0-9_\-\.\/?=&%]{0,}\s{1,}HTTP(S|)\/(1\.0|1\.1|2\.0)(\n|\r)/gmu)?.length > 0 ?? false; + const isHTTP = packet.match(/(GET|POST|PUT|DELETE|OPTIONS|HEAD|PATCH|TRACE|CONNECT)\s{1,}\/[a-zA-Z0-9_\-\.\/?=&%:]{0,}\s{1,}HTTP(S|)\/(1\.0|1\.1|2\.0)(\n|\r)/gmu)?.length > 0 ?? false; + console.log({ isHTTP }); let isWebSocket = false; if (isHTTP) { const headers = simpleParseHeaders(packet);