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