Version 0.2.2 Add multiple cookie token #2
This commit is contained in:
		
							
								
								
									
										60
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										60
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,13 +1,14 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "subsonics-web",
 | 
			
		||||
  "version": "0.2.0",
 | 
			
		||||
  "version": "0.2.2",
 | 
			
		||||
  "lockfileVersion": 2,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "packages": {
 | 
			
		||||
    "": {
 | 
			
		||||
      "name": "subsonics-web",
 | 
			
		||||
      "version": "0.2.0",
 | 
			
		||||
      "version": "0.2.2",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "cookie": "^0.5.0",
 | 
			
		||||
        "cookie-parser": "^1.4.6",
 | 
			
		||||
        "discord.js": "^14.9.0",
 | 
			
		||||
        "ejs": "^3.1.9",
 | 
			
		||||
@@ -433,9 +434,9 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/cookie": {
 | 
			
		||||
      "version": "0.4.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
 | 
			
		||||
      "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
 | 
			
		||||
      "version": "0.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.6"
 | 
			
		||||
      }
 | 
			
		||||
@@ -452,6 +453,14 @@
 | 
			
		||||
        "node": ">= 0.8.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/cookie-parser/node_modules/cookie": {
 | 
			
		||||
      "version": "0.4.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
 | 
			
		||||
      "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/cookie-signature": {
 | 
			
		||||
      "version": "1.0.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
 | 
			
		||||
@@ -578,6 +587,14 @@
 | 
			
		||||
        "node": ">=10.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/engine.io/node_modules/cookie": {
 | 
			
		||||
      "version": "0.4.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
 | 
			
		||||
      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/engine.io/node_modules/debug": {
 | 
			
		||||
      "version": "4.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
@@ -687,14 +704,6 @@
 | 
			
		||||
        "node": ">= 0.10.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/express/node_modules/cookie": {
 | 
			
		||||
      "version": "0.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 0.6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/fast-deep-equal": {
 | 
			
		||||
      "version": "3.1.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
 | 
			
		||||
@@ -2038,9 +2047,9 @@
 | 
			
		||||
      "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="
 | 
			
		||||
    },
 | 
			
		||||
    "cookie": {
 | 
			
		||||
      "version": "0.4.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
 | 
			
		||||
      "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
 | 
			
		||||
      "version": "0.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
 | 
			
		||||
    },
 | 
			
		||||
    "cookie-parser": {
 | 
			
		||||
      "version": "1.4.6",
 | 
			
		||||
@@ -2049,6 +2058,13 @@
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "cookie": "0.4.1",
 | 
			
		||||
        "cookie-signature": "1.0.6"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "cookie": {
 | 
			
		||||
          "version": "0.4.1",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
 | 
			
		||||
          "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "cookie-signature": {
 | 
			
		||||
@@ -2144,6 +2160,11 @@
 | 
			
		||||
        "ws": "~8.11.0"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "cookie": {
 | 
			
		||||
          "version": "0.4.2",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
 | 
			
		||||
          "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
 | 
			
		||||
        },
 | 
			
		||||
        "debug": {
 | 
			
		||||
          "version": "4.3.4",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
@@ -2227,13 +2248,6 @@
 | 
			
		||||
        "type-is": "~1.6.18",
 | 
			
		||||
        "utils-merge": "1.0.1",
 | 
			
		||||
        "vary": "~1.1.2"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "cookie": {
 | 
			
		||||
          "version": "0.5.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
 | 
			
		||||
          "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "fast-deep-equal": {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "subsonics-web",
 | 
			
		||||
  "author": "Raphix",
 | 
			
		||||
  "version": "0.2.1",
 | 
			
		||||
  "version": "0.2.2",
 | 
			
		||||
  "nodemonConfig": {
 | 
			
		||||
    "ext": "js, html",
 | 
			
		||||
    "ignore": [
 | 
			
		||||
@@ -12,6 +12,7 @@
 | 
			
		||||
    "delay": "2000000"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "cookie": "^0.5.0",
 | 
			
		||||
    "cookie-parser": "^1.4.6",
 | 
			
		||||
    "discord.js": "^14.9.0",
 | 
			
		||||
    "ejs": "^3.1.9",
 | 
			
		||||
 
 | 
			
		||||
@@ -3,8 +3,7 @@ const { __glob, __web } = require("../modules/global-variables");
 | 
			
		||||
const { LogType } = require("./sub-log");
 | 
			
		||||
const log = require("./sub-log");
 | 
			
		||||
const auth = require("./sub-auth");
 | 
			
		||||
const cookieParser = require("cookie-parser");
 | 
			
		||||
const { error } = require("console");
 | 
			
		||||
const cook = require("cookie")
 | 
			
		||||
const wlog = new LogType("Web")
 | 
			
		||||
 | 
			
		||||
module.exports.WebServer = class {
 | 
			
		||||
@@ -70,7 +69,32 @@ function init() {
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    server.listen(port);
 | 
			
		||||
    server.on('error', onError(error, port));
 | 
			
		||||
    server.on('error', (error) => {
 | 
			
		||||
        if (error.syscall !== 'listen') {
 | 
			
		||||
            throw error;
 | 
			
		||||
        }
 | 
			
		||||
     
 | 
			
		||||
        let bind = typeof port === 'string'
 | 
			
		||||
            ? 'Pipe ' + port
 | 
			
		||||
            : 'Port ' + port;
 | 
			
		||||
     
 | 
			
		||||
        // Handle specific listen errors with
 | 
			
		||||
        // friendly messages
 | 
			
		||||
        switch (error.code) {
 | 
			
		||||
            case 'EACCES':
 | 
			
		||||
                console.error(bind
 | 
			
		||||
                    + ' requires elevated privileges');
 | 
			
		||||
                process.exit(1);
 | 
			
		||||
                break;
 | 
			
		||||
            case 'EADDRINUSE':
 | 
			
		||||
                console.error(bind + ' is already in use');
 | 
			
		||||
                process.exit(1);
 | 
			
		||||
                break;
 | 
			
		||||
            default:
 | 
			
		||||
                throw error;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    });
 | 
			
		||||
    server.on('listening', () => {
 | 
			
		||||
 | 
			
		||||
        let addr = server.address();
 | 
			
		||||
@@ -104,32 +128,6 @@ function normalizePort(val) {
 | 
			
		||||
    return false;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
// Event listener for HTTP server "error" event
 | 
			
		||||
function onError(error, port) {
 | 
			
		||||
    if (error.syscall !== 'listen') {
 | 
			
		||||
        throw error;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
    let bind = typeof port === 'string'
 | 
			
		||||
        ? 'Pipe ' + port
 | 
			
		||||
        : 'Port ' + port;
 | 
			
		||||
 
 | 
			
		||||
    // Handle specific listen errors with
 | 
			
		||||
    // friendly messages
 | 
			
		||||
    switch (error.code) {
 | 
			
		||||
        case 'EACCES':
 | 
			
		||||
            console.error(bind
 | 
			
		||||
                + ' requires elevated privileges');
 | 
			
		||||
            process.exit(1);
 | 
			
		||||
            break;
 | 
			
		||||
        case 'EADDRINUSE':
 | 
			
		||||
            console.error(bind + ' is already in use');
 | 
			
		||||
            process.exit(1);
 | 
			
		||||
            break;
 | 
			
		||||
        default:
 | 
			
		||||
            throw error;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function IOConnection(io) {
 | 
			
		||||
@@ -166,11 +164,12 @@ function IOConnection(io) {
 | 
			
		||||
        socket.on("GET/USER_INFO", () => {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            var token = socket.handshake.headers.cookie
 | 
			
		||||
            var cookies = socket.handshake.headers.cookie
 | 
			
		||||
 | 
			
		||||
            if(token) {
 | 
			
		||||
            if(cookies) {
 | 
			
		||||
 | 
			
		||||
                token = socket.handshake.headers.cookie.replace("token=", "")
 | 
			
		||||
                cookies = cook.parse(cookies)
 | 
			
		||||
                var token = cookies.token
 | 
			
		||||
                 
 | 
			
		||||
                if(auth.checkUser(token)) {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user