diff --git a/server/api/index.js b/server/api/index.js index c68bc26..78c2391 100644 --- a/server/api/index.js +++ b/server/api/index.js @@ -17,7 +17,7 @@ class APIMethods { cb({ result: require("./server-info") }); } - setSession (isEncrypted, address, { key, counter }, cb) { + /*setSession (isEncrypted, address, { key, counter }, cb) { if (!global.config.server.secureMode) return cb({ error: "Encryption is off by configuration file into server" }); if (!isEncrypted) @@ -28,7 +28,7 @@ class APIMethods { } catch (err) { return cb({ error: "Invalid params. Must be key and counter" }); } - } + }*/ } class API { @@ -52,11 +52,7 @@ class API { } async exec (address, bytes, cb) { - const requestUnencrypted = parseRq(bytes); - const requestEncrypted = parseRq(this.decrypt(address, bytes)); - - const request = requestEncrypted ?? requestUnencrypted; - const isEncrypted = request === requestEncrypted; + const request = parseRq(bytes); if (request === undefined) return cb({ @@ -67,7 +63,7 @@ class API { const { method } = request; - this.methods[method]?.(isEncrypted, address, request, cb); + this.methods[method]?.(false, address, request, cb); } else { return cb({ error: "required JSON-object based request" diff --git a/server/config.json b/server/config.json index f9ce3b2..69727c8 100644 --- a/server/config.json +++ b/server/config.json @@ -8,13 +8,12 @@ "wsPort": 57891, "httpPort": 49901 }, - "secureMode": true, - "ssl-path": null, "auth-mode": 1, "info": { "name": "FullGreaM Test Neuro-RP Server", "tag": "fullgream-server", - "pubaddress": "fullgream.online" + "pubaddress": "airp.fullgream.tech", + "pubusetls": true } }, "database": { diff --git a/server/frontend/public/js/main.js b/server/frontend/public/js/main.js index 0157edf..4627ae8 100644 --- a/server/frontend/public/js/main.js +++ b/server/frontend/public/js/main.js @@ -87,12 +87,13 @@ fl.bindLoad("/connect", () => { const mp = servers.map(async serverItem => { const promise = new Promise((resolve, reject) => { console.log("serverItem:", serverItem); - const socket = new WebSocket(`ws://${serverItem.address}:${serverItem.port}`); + const socket = new WebSocket(`${!serverItem.secureMode ? "ws" : "wss"}://${serverItem.address}:${serverItem.port}`); let ping = new Date(); socket.onopen = () => { ping = (new Date()) - ping; socket.onmessage = (ev) => { const data = JSON.parse(ev.data).result; + data.secureMode = serverItem.secureMode; itemIDs.push({ ...data, itemID: `con-btn-to:${data.tag}:${serverItem.address}:${serverItem.port}` diff --git a/server/frontend/web-api/active-servers.js b/server/frontend/web-api/active-servers.js index 71f479d..5e4b1d8 100644 --- a/server/frontend/web-api/active-servers.js +++ b/server/frontend/web-api/active-servers.js @@ -3,7 +3,7 @@ module.exports = async function (req, res) { result: [{ address: global.config.server.address === "0.0.0.0" ? req.headers.host.split(":").at(0) : global.config.server.address, port: global.config.server.port, - secureMode: global.config.server.secureMode + secureMode: false }, { address: "offline.example.org", port: 8891, diff --git a/server/server.js b/server/server.js index db3f069..d7356fe 100644 --- a/server/server.js +++ b/server/server.js @@ -179,6 +179,9 @@ cfgHandle(server, defaultConfigData, logger); logger.log("Current config:", global.config); +server.run(global.config.server.address, global.config.server.port); + +/* if (global.config.server.secureMode) { async function initEncryption () { const datadir = global.config.server["ssl-path"] ?? path.join(__dirname, "/encryption"); @@ -231,4 +234,5 @@ if (global.config.server.secureMode) { }); } else - server.run(global.config.server.address, global.config.server.port); \ No newline at end of file + server.run(global.config.server.address, global.config.server.port); +*/ \ No newline at end of file diff --git a/server/ws-handler.js b/server/ws-handler.js index aee9f82..6d5fca5 100644 --- a/server/ws-handler.js +++ b/server/ws-handler.js @@ -12,16 +12,12 @@ module.exports = (address, port, api) => { const peerAddress = `${req.socket.remoteAddress}:${req.socket.remotePort}`; console.log("peerAddress is", peerAddress); ws.on('message', async (message) => { - //console.log('received: %s', message); logger.wslog("api received:", message); - try { - message = Buffer.from(message, "base64"); - } catch (_) {} await api.exec(peerAddress, message, (rs, encryptor) => { logger.wslog("api sended:", rs); let result = JSON.stringify(rs); if (encryptor) - result = encryptor.encrypt(result).toString('base64'); + throw new Error("encryptor is deprecated. Use TLS wrapping"); ws.send(result); }); });