diff --git a/server.js b/server.js index 0b0485f9..f19704bf 100644 --- a/server.js +++ b/server.js @@ -19,7 +19,6 @@ require('./services/config-validator'); // Include and kicks off the config file /* Include route handlers for API endpoints */ const statusCheck = require('./services/status-check'); // Used by the status check feature, uses GET -const statusPing = require('./services/status-ping'); // Used for ping-only status checks const saveConfig = require('./services/save-config'); // Saves users new conf.yml to file-system const rebuild = require('./services/rebuild-app'); // A script to programmatically trigger a build @@ -72,16 +71,6 @@ try { printWarning(`Error running status check for ${req.url}\n`, e); } }) - // GET endpoint to ping a given IP address, also used for status checking - .use(ENDPOINTS.statusPing, (req, res) => { - try { - statusPing(req.url, async (results) => { - await res.end(results); - }); - } catch (e) { - printWarning(`Error running ping check for ${req.url}\n`, e); - } - }) // POST Endpoint used to save config, by writing conf.yml to disk .use(ENDPOINTS.save, method('POST', (req, res) => { try { diff --git a/services/status-ping.js b/services/status-ping.js deleted file mode 100644 index dacaab26..00000000 --- a/services/status-ping.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Short Node script for pinging an IP address to check if it's online - * Used for the optional status check feature, as an alternative to the GET request - * Accepts a single ip param, will ping that server, then respond with the status - * Credit to @nospaceships for the node-net-ping package, MIT - */ -const ping = require('net-ping'); - -/* Options used for ping */ -const pingOptions = { - networkProtocol: ping.NetworkProtocol.IPv4, - packetSize: 16, - retries: 1, - timeout: 1000, - ttl: 128, -}; - -/* Kicks of an IP ping, and returns callback with the status */ -const makePing = (ip, render) => { - const startTime = new Date(); - const session = ping.createSession(pingOptions); - session.pingHost(ip, (error, target) => { - const timeTaken = (new Date() - startTime); - if (error) { - render(JSON.stringify({ success: false, message: `❌ ${error}` })); - } else { - render(JSON.stringify({ success: true, message: `✅ ${target} is Alive\n⏱️ Took ${timeTaken} ms` })); - } - session.close(); - }); -}; - -/* Checks if a given IP address is online, and accessible */ -module.exports = (paramStr, render) => { - if (!paramStr || !paramStr.includes('ip=')) { - render(JSON.stringify({ success: false, message: '❌ Malformed or Missing IP' })); - } else { - // Prepare the parameters, which are got from the URL - const ip = decodeURIComponent((new URLSearchParams(paramStr)).get('ip')); - makePing(ip, render); - } -};