From b2310213b3b671351c68e62d7291908d099f7cca Mon Sep 17 00:00:00 2001 From: MrFry Date: Thu, 24 Oct 2019 14:30:41 +0200 Subject: [PATCH 1/3] Module loading refactor --- public/moodle-test-userscript | 2 +- server.js | 62 ++++++++++++++++++++++------------- 2 files changed, 41 insertions(+), 23 deletions(-) diff --git a/public/moodle-test-userscript b/public/moodle-test-userscript index de7760e..fe74436 160000 --- a/public/moodle-test-userscript +++ b/public/moodle-test-userscript @@ -1 +1 @@ -Subproject commit de7760ea8262febe71e697c697e3c34a87eb10df +Subproject commit fe74436ab119a31fdb35f7a3bbae50a572b0fb21 diff --git a/server.js b/server.js index eef8795..f1c3fd6 100644 --- a/server.js +++ b/server.js @@ -32,11 +32,46 @@ const https = require('https') const stat = require('./utils/stat.js') stat.Load() -const qmining = require('./modules/qmining.js').app -const main = require('./modules/main.js').app -const sio = require('./modules/sio.js').app -const stuff = require('./modules/stuff.js').app -const old = require('./modules/old.js').app +const loggableKeywords = [ + 'user.js' +] +let modules = { + qmining: { + path: './modules/qmining.js', + name: 'qmining', + urls: [ 'qmining.frylabs.net', 'localhost' ] + }, + main: { + path: './modules/main.js', + name: 'main', + urls: [ 'frylabs.net', 'www.frylabs.net' ] + }, + sio: { + path: './modules/sio.js', + name: 'sio', + urls: [ 'sio.frylabs.net' ] + }, + stuff: { + path: './modules/stuff.js', + name: 'stuff', + urls: [ 'stuff.frylabs.net' ] + }, + old: { + path: './modules/old.js', + name: 'old', + urls: [ 'qmining.tk', 'www.qmining.tk' ] + } +} + +const app = express() + +Object.keys(modules).forEach(function (k, i) { + let x = modules[k] + x.app = require(x.path).app + x.urls.forEach((url) => { + app.use(vhost(url, x.app)) + }) +}) const locLogFile = './stats/logs' const allLogFile = '/nlogs/log' @@ -93,12 +128,6 @@ function setLogTimer () { setLogTimer() -const app = express() - -const loggableKeywords = [ - 'user.js' -] - app.use(function (req, res, next) { res.on('finish', function () { logger.LogReq(req, true, res.statusCode) @@ -111,17 +140,6 @@ app.use(function (req, res, next) { next() }) -app.use(vhost('qmining.frylabs.net', qmining)) -app.use(vhost('sio.frylabs.net', sio)) -app.use(vhost('stuff.frylabs.net', stuff)) -app.use(vhost('frylabs.net', main)) -app.use(vhost('www.frylabs.net', main)) - -app.use(vhost('qmining.tk', old)) -app.use(vhost('www.qmining.tk', old)) - -app.use(vhost('localhost', qmining)) - logger.Log('Node version: ' + process.version) logger.Log('Listening on port: ' + port) From bca8fa097d5bfe9941e8379bcfcb7af61f41cf69 Mon Sep 17 00:00:00 2001 From: MrFry Date: Thu, 24 Oct 2019 14:31:44 +0200 Subject: [PATCH 2/3] More error resistant module loading --- server.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/server.js b/server.js index f1c3fd6..c59d84b 100644 --- a/server.js +++ b/server.js @@ -67,10 +67,14 @@ const app = express() Object.keys(modules).forEach(function (k, i) { let x = modules[k] - x.app = require(x.path).app - x.urls.forEach((url) => { - app.use(vhost(url, x.app)) - }) + try { + x.app = require(x.path).app + x.urls.forEach((url) => { + app.use(vhost(url, x.app)) + }) + } catch (e) { + console.log(e) + } }) const locLogFile = './stats/logs' From a7e014796a01300c4a41d13e216e8fbc557549ce Mon Sep 17 00:00:00 2001 From: MrFry Date: Thu, 24 Oct 2019 15:20:00 +0200 Subject: [PATCH 3/3] Spaces in url fix --- modules/stuff.js | 3 ++- views/stuff/folders.ejs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/stuff.js b/modules/stuff.js index 3a09682..08c72ba 100644 --- a/modules/stuff.js +++ b/modules/stuff.js @@ -49,7 +49,8 @@ app.use(bodyParser.json({ // -------------------------------------------------------------- app.get('/*', function (req, res) { - let curr = listedFiles + '/' + req.url.substring('/'.length, req.url.length).split('?')[0] + let parsedUrl = req.url.replace(/%20/g, " ") + let curr = listedFiles + '/' + parsedUrl.substring('/'.length, parsedUrl.length).split('?')[0] let relPath = curr.substring('./public/files'.length, curr.length) if (relPath[relPath.length - 1] !== '/') { relPath += '/' } diff --git a/views/stuff/folders.ejs b/views/stuff/folders.ejs index fd69db0..77013af 100644 --- a/views/stuff/folders.ejs +++ b/views/stuff/folders.ejs @@ -65,7 +65,7 @@ <%=dirname%> - > Up one level + " > Up one level