send users to rawcomm

This commit is contained in:
2026-04-04 10:14:55 +02:00
parent 29301297bc
commit 134649f87e
3 changed files with 29 additions and 20 deletions
+2
View File
@@ -1,4 +1,5 @@
/* Libraries / Imports */
const send_to_rawcomm = require('./rawcomm');
const RDSDecoder = require("./rds.js");
const { serverConfig } = require('./server_config');
@@ -273,6 +274,7 @@ checkSerialPortStatus();
function showOnlineUsers(currentUsers) {
dataToSend.users = currentUsers;
initialData.users = currentUsers;
send_to_rawcomm(`o${currentUsers},0\n`);
}
let prevFreq = initialData.freq || '87.500';
+2 -20
View File
@@ -7,23 +7,7 @@ const dataHandler = require('./datahandler');
const storage = require('./storage');
const consoleCmd = require('./console');
const { serverConfig, configSave } = require('./server_config');
const WebSocket = require('ws');
const rawComm = new WebSocket.Server({ noServer: true });
rawComm.on('connection', (ws, request) => {
const { isAdminAuthenticated } = request.session || {};
if(!isAdminAuthenticated) {
ws.close(1008, "No admin");
return;
}
ws.on('message', (message) => {
storage.ctl_output.write(`${message.toString()}\n`);
});
});
storage.websocket_delegation.set("/rawcomm", rawComm);
const send_to_rawcomm = require("./rawcomm")
let geoip = null;
try {
@@ -292,9 +276,7 @@ function resolveDataBuffer(data, wss, rdsWss) {
if (receivedData.length) {
dataHandler.handleData(wss, receivedData, rdsWss);
rawComm.clients.forEach((client) => {
if (client.readyState === WebSocket.OPEN) client.send(receivedData);
});
send_to_rawcomm(receivedData);
}
}
+25
View File
@@ -0,0 +1,25 @@
const storage = require('./storage');
const WebSocket = require('ws');
const rawComm = new WebSocket.Server({ noServer: true });
rawComm.on('connection', (ws, request) => {
const { isAdminAuthenticated } = request.session || {};
if(!isAdminAuthenticated) {
ws.close(1008, "No admin");
return;
}
ws.on('message', (message) => {
storage.ctl_output.write(`${message.toString()}\n`);
});
});
storage.websocket_delegation.set("/rawcomm", rawComm);
function send_to_rawcomm(data) {
rawComm.clients.forEach((client) => {
if (client.readyState === WebSocket.OPEN) client.send(data);
});
}
module.exports = send_to_rawcomm;