remove encryption from nodejs server

This commit is contained in:
FullGreaM 2025-02-06 13:51:15 +03:00
parent b0df352f70
commit a324a9edad
6 changed files with 15 additions and 19 deletions

View File

@ -17,7 +17,7 @@ class APIMethods {
cb({ result: require("./server-info") }); cb({ result: require("./server-info") });
} }
setSession (isEncrypted, address, { key, counter }, cb) { /*setSession (isEncrypted, address, { key, counter }, cb) {
if (!global.config.server.secureMode) if (!global.config.server.secureMode)
return cb({ error: "Encryption is off by configuration file into server" }); return cb({ error: "Encryption is off by configuration file into server" });
if (!isEncrypted) if (!isEncrypted)
@ -28,7 +28,7 @@ class APIMethods {
} catch (err) { } catch (err) {
return cb({ error: "Invalid params. Must be key and counter" }); return cb({ error: "Invalid params. Must be key and counter" });
} }
} }*/
} }
class API { class API {
@ -52,11 +52,7 @@ class API {
} }
async exec (address, bytes, cb) { async exec (address, bytes, cb) {
const requestUnencrypted = parseRq(bytes); const request = parseRq(bytes);
const requestEncrypted = parseRq(this.decrypt(address, bytes));
const request = requestEncrypted ?? requestUnencrypted;
const isEncrypted = request === requestEncrypted;
if (request === undefined) if (request === undefined)
return cb({ return cb({
@ -67,7 +63,7 @@ class API {
const { const {
method method
} = request; } = request;
this.methods[method]?.(isEncrypted, address, request, cb); this.methods[method]?.(false, address, request, cb);
} else { } else {
return cb({ return cb({
error: "required JSON-object based request" error: "required JSON-object based request"

View File

@ -8,13 +8,12 @@
"wsPort": 57891, "wsPort": 57891,
"httpPort": 49901 "httpPort": 49901
}, },
"secureMode": true,
"ssl-path": null,
"auth-mode": 1, "auth-mode": 1,
"info": { "info": {
"name": "FullGreaM Test Neuro-RP Server", "name": "FullGreaM Test Neuro-RP Server",
"tag": "fullgream-server", "tag": "fullgream-server",
"pubaddress": "fullgream.online" "pubaddress": "airp.fullgream.tech",
"pubusetls": true
} }
}, },
"database": { "database": {

View File

@ -87,12 +87,13 @@ fl.bindLoad("/connect", () => {
const mp = servers.map(async serverItem => { const mp = servers.map(async serverItem => {
const promise = new Promise((resolve, reject) => { const promise = new Promise((resolve, reject) => {
console.log("serverItem:", serverItem); 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(); let ping = new Date();
socket.onopen = () => { socket.onopen = () => {
ping = (new Date()) - ping; ping = (new Date()) - ping;
socket.onmessage = (ev) => { socket.onmessage = (ev) => {
const data = JSON.parse(ev.data).result; const data = JSON.parse(ev.data).result;
data.secureMode = serverItem.secureMode;
itemIDs.push({ itemIDs.push({
...data, ...data,
itemID: `con-btn-to:${data.tag}:${serverItem.address}:${serverItem.port}` itemID: `con-btn-to:${data.tag}:${serverItem.address}:${serverItem.port}`

View File

@ -3,7 +3,7 @@ module.exports = async function (req, res) {
result: [{ result: [{
address: global.config.server.address === "0.0.0.0" ? req.headers.host.split(":").at(0) : global.config.server.address, address: global.config.server.address === "0.0.0.0" ? req.headers.host.split(":").at(0) : global.config.server.address,
port: global.config.server.port, port: global.config.server.port,
secureMode: global.config.server.secureMode secureMode: false
}, { }, {
address: "offline.example.org", address: "offline.example.org",
port: 8891, port: 8891,

View File

@ -179,6 +179,9 @@ cfgHandle(server, defaultConfigData, logger);
logger.log("Current config:", global.config); logger.log("Current config:", global.config);
server.run(global.config.server.address, global.config.server.port);
/*
if (global.config.server.secureMode) { if (global.config.server.secureMode) {
async function initEncryption () { async function initEncryption () {
const datadir = global.config.server["ssl-path"] ?? path.join(__dirname, "/encryption"); const datadir = global.config.server["ssl-path"] ?? path.join(__dirname, "/encryption");
@ -231,4 +234,5 @@ if (global.config.server.secureMode) {
}); });
} }
else else
server.run(global.config.server.address, global.config.server.port); server.run(global.config.server.address, global.config.server.port);
*/

View File

@ -12,16 +12,12 @@ module.exports = (address, port, api) => {
const peerAddress = `${req.socket.remoteAddress}:${req.socket.remotePort}`; const peerAddress = `${req.socket.remoteAddress}:${req.socket.remotePort}`;
console.log("peerAddress is", peerAddress); console.log("peerAddress is", peerAddress);
ws.on('message', async (message) => { ws.on('message', async (message) => {
//console.log('received: %s', message);
logger.wslog("api received:", message); logger.wslog("api received:", message);
try {
message = Buffer.from(message, "base64");
} catch (_) {}
await api.exec(peerAddress, message, (rs, encryptor) => { await api.exec(peerAddress, message, (rs, encryptor) => {
logger.wslog("api sended:", rs); logger.wslog("api sended:", rs);
let result = JSON.stringify(rs); let result = JSON.stringify(rs);
if (encryptor) if (encryptor)
result = encryptor.encrypt(result).toString('base64'); throw new Error("encryptor is deprecated. Use TLS wrapping");
ws.send(result); ws.send(result);
}); });
}); });