some changes

This commit is contained in:
2026-05-20 17:31:03 +02:00
parent e30a08c0a1
commit 1b99b2e5d8
10 changed files with 19 additions and 30 deletions
+1
View File
@@ -1 +1,2 @@
console.log("FM-DX Webserver by Noobish @ FMDX.org and KubaPro010 @ radio95")
require('./server/index.js'); require('./server/index.js');
-1
View File
@@ -18,7 +18,6 @@
"express": "5.2.1", "express": "5.2.1",
"express-session": "1.19.0", "express-session": "1.19.0",
"ffmpeg-static": "5.3.0", "ffmpeg-static": "5.3.0",
"figlet": "^1.10.0",
"geoip-lite": "^1.4.10", "geoip-lite": "^1.4.10",
"http": "0.0.1-security", "http": "0.0.1-security",
"net": "1.0.2", "net": "1.0.2",
+1 -1
View File
@@ -150,7 +150,7 @@ function handleData(wss, receivedData, rdsWss) {
case receivedLine.startsWith('Ss'): case receivedLine.startsWith('Ss'):
processSignal(receivedLine, true, false); processSignal(receivedLine, true, false);
break; break;
case receivedLine.startsWith('SS'): // ss? oh no case receivedLine.startsWith('SS'): // ss? germany mentioned?
processSignal(receivedLine, true, true); processSignal(receivedLine, true, true);
break; break;
case receivedLine.startsWith('SM'): case receivedLine.startsWith('SM'):
+6 -11
View File
@@ -14,7 +14,7 @@ const storage = require('./storage');
const tunerProfiles = require('./tuner_profiles'); const tunerProfiles = require('./tuner_profiles');
const { logInfo, logs } = require('./console'); const { logInfo, logs } = require('./console');
const dataHandler = require('./datahandler'); const dataHandler = require('./datahandler');
const serverList = require('./server_list'); const serverListUpdate = require('./server_list');
// Endpoints // Endpoints
router.get('/', (req, res) => { router.get('/', (req, res) => {
@@ -246,12 +246,7 @@ router.get('/addToBanlist', (req, res) => {
return; return;
} }
const ipAddress = req.query.ip; userBanData = [req.query.ip, 'Unknown', Date.now(), req.query.reason];
const location = 'Unknown';
const date = Date.now();
const reason = req.query.reason;
userBanData = [ipAddress, location, date, reason];
if (typeof serverConfig.webserver.banlist !== 'object') serverConfig.webserver.banlist = []; if (typeof serverConfig.webserver.banlist !== 'object') serverConfig.webserver.banlist = [];
@@ -286,7 +281,7 @@ router.post('/saveData', (req, res) => {
let firstSetup; let firstSetup;
if(req.session.isAdminAuthenticated || !configExists()) { if(req.session.isAdminAuthenticated || !configExists()) {
configUpdate(data); configUpdate(data);
serverList.update(); serverListUpdate.update();
if(!configExists()) firstSetup = true; if(!configExists()) firstSetup = true;
logInfo('Server config changed successfully.'); logInfo('Server config changed successfully.');
@@ -327,7 +322,8 @@ router.get('/static_data', (req, res) => {
rdsTimeout: serverConfig.webserver.rdsTimeout || 0, rdsTimeout: serverConfig.webserver.rdsTimeout || 0,
tunerName: serverConfig.identification.tunerName || '', tunerName: serverConfig.identification.tunerName || '',
tunerDesc: serverConfig.identification.tunerDesc || '', tunerDesc: serverConfig.identification.tunerDesc || '',
ant: serverConfig.antennas || {} ant: serverConfig.antennas || {},
fork: "radio95"
}); });
}); });
@@ -441,8 +437,7 @@ router.get('/tunnelservers', async (req, res) => {
const servers = [ const servers = [
{ value: "eu", host: "eu.fmtuner.org", label: "Europe" }, { value: "eu", host: "eu.fmtuner.org", label: "Europe" },
{ value: "us", host: "us.fmtuner.org", label: "Americas" }, { value: "us", host: "us.fmtuner.org", label: "Americas" },
{ value: "sg", host: "sg.fmtuner.org", label: "Asia & Oceania" }, { value: "sg", host: "sg.fmtuner.org", label: "Asia & Oceania" }
{ value: "pldx", host: "pldx.duckdns.org", label: "Poland (k201)" },
]; ];
const results = await Promise.all( const results = await Promise.all(
+4 -12
View File
@@ -1,18 +1,10 @@
const terminalWidth = require('readline').createInterface({input: process.stdin, output: process.stdout}).output.columns;
console.log('\x1b[32m' + require('figlet').textSync("FM-DX Webserver"));
console.log('\x1b[2mby (Noobish @ \x1b[4mFMDX.org\x1b[0m\x1b[32m\x1b[2m) + KubaPro010\x1b[0m');
console.log("v" + require('../package.json').version)
console.log('\x1b[90m' + '─'.repeat(terminalWidth - 1) + '\x1b[0m');
const { serverConfig } = require('./server_config');
const tunnel = require('./tunnel'); const tunnel = require('./tunnel');
tunnel.download(); tunnel.download();
require('./stream/index');
require("./device"); require("./device");
require('./stream/index'); const { serverConfig } = require('./server_config');
const startServer = require("./web");
{ {
const helpers = require('./helpers'); const helpers = require('./helpers');
@@ -20,7 +12,7 @@ const startServer = require("./web");
if (plugins.length > 0) setTimeout(helpers.startPluginsWithDelay, 3000, plugins, 3000); if (plugins.length > 0) setTimeout(helpers.startPluginsWithDelay, 3000, plugins, 3000);
} }
startServer(serverConfig.webserver.webserverIp === '0.0.0.0' ? 'localhost' : serverConfig.webserver.webserverIp); require("./web")(serverConfig.webserver.webserverIp);
tunnel.connect(); tunnel.connect();
require('./server_list').update(); require('./server_list')();
+4 -1
View File
@@ -77,7 +77,10 @@ if (process.platform === 'win32') {
const pluginConfigs = []; const pluginConfigs = [];
readJSFiles(pluginsDir).forEach(file => { readJSFiles(pluginsDir).forEach(file => {
const filePath = path.join(pluginsDir, file); var filePath = undefined;
if(fs.statSync(file).isFile()) filePath = path.join(pluginsDir, file);
else if(fs.statSync(file).isDirectory()) filePath = path.join(pluginsDir, file, file);
const config = parsePluginConfig(filePath); const config = parsePluginConfig(filePath);
if (Object.keys(config).length > 0) pluginConfigs.push(config); if (Object.keys(config).length > 0) pluginConfigs.push(config);
}); });
+1 -1
View File
@@ -94,7 +94,7 @@ let serverConfig = {
enabled: false, enabled: false,
username: "", username: "",
token: "", token: "",
region: "pldx", region: "eu",
lowLatencyMode: false, lowLatencyMode: false,
subdomain: "", subdomain: "",
httpName: "", httpName: "",
+1 -1
View File
@@ -81,4 +81,4 @@ function update() {
timeoutID = setInterval(sendKeepalive, 5 * 60 * 1000); timeoutID = setInterval(sendKeepalive, 5 * 60 * 1000);
} }
module.exports.update = update; module.exports = update;
+1 -1
View File
@@ -43,7 +43,7 @@ async function connect() {
const cfg = ejs.render(frpcConfigTemplate, { const cfg = ejs.render(frpcConfigTemplate, {
cfg: serverConfig.tunnel, cfg: serverConfig.tunnel,
host: serverConfig.tunnel.community.enabled ? serverConfig.tunnel.community.host : ((serverConfig.tunnel.region == "pldx") ? "pldx.duckdns.org" : (serverConfig.tunnel.region + ".fmtuner.org")), host: serverConfig.tunnel.community.enabled ? serverConfig.tunnel.community.host : (serverConfig.tunnel.region + ".fmtuner.org"),
server: { server: {
port: serverConfig.webserver.webserverPort port: serverConfig.webserver.webserverPort
} }
-1
View File
@@ -685,7 +685,6 @@
{ value: 'eu', label: 'Europe' }, { value: 'eu', label: 'Europe' },
{ value: 'us', label: 'Americas' }, { value: 'us', label: 'Americas' },
{ value: 'sg', label: 'Asia & Oceania' }, { value: 'sg', label: 'Asia & Oceania' },
{ value: 'pldx', label: 'Poland (k201)' },
] ]
}) %> }) %>
<%- include('_components', {component: 'text', cssClass: 'w-150 br-15', placeholder: '', label: 'Username', id: 'tunnel-username'}) %> <%- include('_components', {component: 'text', cssClass: 'w-150 br-15', placeholder: '', label: 'Username', id: 'tunnel-username'}) %>