diff --git a/index.js b/index.js index baafd06..49befbe 100644 --- a/index.js +++ b/index.js @@ -1 +1,2 @@ +console.log("FM-DX Webserver by Noobish @ FMDX.org and KubaPro010 @ radio95") require('./server/index.js'); \ No newline at end of file diff --git a/package.json b/package.json index 470a1be..c242537 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "express": "5.2.1", "express-session": "1.19.0", "ffmpeg-static": "5.3.0", - "figlet": "^1.10.0", "geoip-lite": "^1.4.10", "http": "0.0.1-security", "net": "1.0.2", diff --git a/server/datahandler.js b/server/datahandler.js index 84c90fe..8d01809 100644 --- a/server/datahandler.js +++ b/server/datahandler.js @@ -150,7 +150,7 @@ function handleData(wss, receivedData, rdsWss) { case receivedLine.startsWith('Ss'): processSignal(receivedLine, true, false); break; - case receivedLine.startsWith('SS'): // ss? oh no + case receivedLine.startsWith('SS'): // ss? germany mentioned? processSignal(receivedLine, true, true); break; case receivedLine.startsWith('SM'): diff --git a/server/endpoints.js b/server/endpoints.js index 42a2f3e..3836a43 100644 --- a/server/endpoints.js +++ b/server/endpoints.js @@ -14,7 +14,7 @@ const storage = require('./storage'); const tunerProfiles = require('./tuner_profiles'); const { logInfo, logs } = require('./console'); const dataHandler = require('./datahandler'); -const serverList = require('./server_list'); +const serverListUpdate = require('./server_list'); // Endpoints router.get('/', (req, res) => { @@ -246,12 +246,7 @@ router.get('/addToBanlist', (req, res) => { return; } - const ipAddress = req.query.ip; - const location = 'Unknown'; - const date = Date.now(); - const reason = req.query.reason; - - userBanData = [ipAddress, location, date, reason]; + userBanData = [req.query.ip, 'Unknown', Date.now(), req.query.reason]; if (typeof serverConfig.webserver.banlist !== 'object') serverConfig.webserver.banlist = []; @@ -286,7 +281,7 @@ router.post('/saveData', (req, res) => { let firstSetup; if(req.session.isAdminAuthenticated || !configExists()) { configUpdate(data); - serverList.update(); + serverListUpdate.update(); if(!configExists()) firstSetup = true; logInfo('Server config changed successfully.'); @@ -327,7 +322,8 @@ router.get('/static_data', (req, res) => { rdsTimeout: serverConfig.webserver.rdsTimeout || 0, tunerName: serverConfig.identification.tunerName || '', tunerDesc: serverConfig.identification.tunerDesc || '', - ant: serverConfig.antennas || {} + ant: serverConfig.antennas || {}, + fork: "radio95" }); }); @@ -441,8 +437,7 @@ router.get('/tunnelservers', async (req, res) => { const servers = [ { value: "eu", host: "eu.fmtuner.org", label: "Europe" }, { value: "us", host: "us.fmtuner.org", label: "Americas" }, - { value: "sg", host: "sg.fmtuner.org", label: "Asia & Oceania" }, - { value: "pldx", host: "pldx.duckdns.org", label: "Poland (k201)" }, + { value: "sg", host: "sg.fmtuner.org", label: "Asia & Oceania" } ]; const results = await Promise.all( diff --git a/server/index.js b/server/index.js index c46e99a..bd7af94 100644 --- a/server/index.js +++ b/server/index.js @@ -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'); tunnel.download(); +require('./stream/index'); require("./device"); -require('./stream/index'); -const startServer = require("./web"); +const { serverConfig } = require('./server_config'); { const helpers = require('./helpers'); @@ -20,7 +12,7 @@ const startServer = require("./web"); 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(); -require('./server_list').update(); \ No newline at end of file +require('./server_list')(); \ No newline at end of file diff --git a/server/plugins.js b/server/plugins.js index f9c39ae..54671c6 100644 --- a/server/plugins.js +++ b/server/plugins.js @@ -77,7 +77,10 @@ if (process.platform === 'win32') { const pluginConfigs = []; 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); if (Object.keys(config).length > 0) pluginConfigs.push(config); }); diff --git a/server/server_config.js b/server/server_config.js index 338c0a2..4756de9 100644 --- a/server/server_config.js +++ b/server/server_config.js @@ -94,7 +94,7 @@ let serverConfig = { enabled: false, username: "", token: "", - region: "pldx", + region: "eu", lowLatencyMode: false, subdomain: "", httpName: "", diff --git a/server/server_list.js b/server/server_list.js index ea8d7bf..ec100e9 100644 --- a/server/server_list.js +++ b/server/server_list.js @@ -81,4 +81,4 @@ function update() { timeoutID = setInterval(sendKeepalive, 5 * 60 * 1000); } -module.exports.update = update; +module.exports = update; diff --git a/server/tunnel.js b/server/tunnel.js index 381730e..465eee1 100644 --- a/server/tunnel.js +++ b/server/tunnel.js @@ -43,7 +43,7 @@ async function connect() { const cfg = ejs.render(frpcConfigTemplate, { 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: { port: serverConfig.webserver.webserverPort } diff --git a/views/setup.ejs b/views/setup.ejs index 1187cb6..619a71e 100644 --- a/views/setup.ejs +++ b/views/setup.ejs @@ -685,7 +685,6 @@ { value: 'eu', label: 'Europe' }, { value: 'us', label: 'Americas' }, { 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'}) %>