diff --git a/app.js b/app.js index 54867dd..c624453 100644 --- a/app.js +++ b/app.js @@ -15,15 +15,8 @@ const eventDispatcher = new Dispatcher(); let app = express(); let server = require('http').Server(app); -let io = require('socket.io')(server, { - cookieHttpOnly: true, - cookieSecure: false, - cookie: false, - cors: { - origin: "*", - methods: ["GET", "POST"] - } -}); +let io = require('socket.io')(server); + let i18next = require("i18next"); let FilesystemBackend = require("i18next-node-fs-backend"); let i18nextMiddleware = require("i18next-express-middleware"); @@ -199,11 +192,11 @@ let pluginManager = new PluginManager(app, io, eventDispatcher); let websocket = require("./modules/websocket")(pluginManager, io, eventDispatcher); let indexRouter = require('./routes/index.js')(pluginManager, websocket, eventDispatcher); let adminRouter = require('./routes/admin.js')(pluginManager, websocket, eventDispatcher); -let authRouter = require('./routes/auth.js')(app, websocket, eventDispatcher); +let authRouter = require('./routes/auth.js')(websocket, eventDispatcher); +app.use('/', authRouter); app.use('/', indexRouter); app.use('/admin', adminRouter); -app.use('/', authRouter); // catch 404 and forward to error handler app.use(function (req, res, next) { diff --git a/package-lock.json b/package-lock.json index 8ab8ea8..bdc7fb5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -522,64 +522,17 @@ "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" }, "debug": { -<<<<<<< HEAD "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", -======= - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" - } - } - }, - "engine.io-client": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz", - "integrity": "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==", - "requires": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", ->>>>>>> 9ade1badf5751a86b20b6d19dc3b118630ec668d "requires": { "ms": "2.1.2" } -<<<<<<< HEAD -======= - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "ws": { "version": "7.4.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" ->>>>>>> 9ade1badf5751a86b20b6d19dc3b118630ec668d } } }, @@ -1309,15 +1262,16 @@ "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" }, "node-media-server": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/node-media-server/-/node-media-server-2.2.8.tgz", - "integrity": "sha512-sLusJjFVJ3mWeDMHnkyx1gitPjsMcWbhzlXT7wC8gRRjP0HKmY3d8wGLjl0s+JVPB6ruwSZw0mAwntOwrOCnRw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/node-media-server/-/node-media-server-2.3.8.tgz", + "integrity": "sha512-IWji6X4RQHoiAu0mTojtQ7dznrdsHRahXG51d8um0bjFKkmtJHN3W9oA2fVtFtDrAYMC5bG9GvGDO2qdZtgzww==", "requires": { "basic-auth-connect": "^1.0.0", "chalk": "^2.4.2", "dateformat": "^3.0.3", "express": "^4.16.4", "lodash": ">=4.17.13", + "minimist": "^1.2.5", "mkdirp": "1.0.3", "ws": "^7.4.6" }, @@ -1370,6 +1324,11 @@ "requires": { "has-flag": "^3.0.0" } + }, + "ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==" } } }, @@ -2135,20 +2094,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "ws": { -<<<<<<< HEAD - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" -======= - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", - "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", - "requires": { - "async-limiter": "~1.0.0" - } ->>>>>>> 9ade1badf5751a86b20b6d19dc3b118630ec668d - }, "xmlhttprequest-ssl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", diff --git a/package.json b/package.json index afb06dc..7bb5dc8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "infoscreen3", - "version": "1.4.0", + "version": "1.4.1", "private": true, "scripts": { "start": "node --expose-gc ./bin/infoscreen3", @@ -27,7 +27,7 @@ "lodash": "^4.17.21", "minimist": "1.2.5", "morgan": "1.10.0", - "node-media-server": "2.2.8", + "node-media-server": "2.3.8", "node.extend": "2.0.2", "passport": "^0.4.1", "passport-local": "^1.0.0", diff --git a/routes/auth.js b/routes/auth.js index 40108d6..eb9c9ae 100644 --- a/routes/auth.js +++ b/routes/auth.js @@ -1,4 +1,6 @@ let passport = require("passport"); +let express = require('express'); +let router = express.Router(); const {RateLimiterMemory} = require('rate-limiter-flexible'); const maxWrongAttemptsByIPperDay = 30; const maxConsecutiveFailsByUsernameAndIP = 5; @@ -17,14 +19,13 @@ const limiterConsecutiveFailsByUsernameAndIP = new RateLimiterMemory({ const getUsernameIPkey = (username, ip) => `${username}_${ip}`; -module.exports = function (app, websocket, dispatcher) { +module.exports = function (websocket, dispatcher) { - - app.get('/login', function (req, res, next) { + router.get('/login', function (req, res, next) { res.render('auth/login'); }); - app.post('/login', + router.post('/login', function (req, res, next) { passport.authenticate('local', async function (err, user, info) { const ipAddr = req.ip; @@ -94,15 +95,15 @@ module.exports = function (app, websocket, dispatcher) { })(req, res, next); }); - app.get('/logout', + router.get('/logout', function (req, res) { req.logout(); res.redirect('/'); }); - app.get('/empty', function (req, res, next) { + router.get('/empty', function (req, res, next) { res.render('empty'); }); - - return app; + + return router; }; \ No newline at end of file