diff --git a/server/VERSION.js b/server/VERSION.js index 7ae9cbbe..edfb38fc 100644 --- a/server/VERSION.js +++ b/server/VERSION.js @@ -1,5 +1 @@ -VERSION = 6; - -try { - module.exports = VERSION; -} catch (e) {} +export const VERSION = 6; \ No newline at end of file diff --git a/server/apps/client.js b/server/apps/client.js index 4b41594e..9972a5bd 100755 --- a/server/apps/client.js +++ b/server/apps/client.js @@ -1,27 +1,18 @@ import { publicPath, - pathThumbnails, + handlersPath, + clientRoutingPath, + certAvailble } from "../settings/globals"; -var secure = false; -var path = require("path"); -try { - var cert_config = require(path.join( - path.join(__dirname, "../config/"), - "cert_config.js" - )); - var fs = require("fs"); - secure = true; -} catch (err) {} +let express = require("express"); +let app = express(); +let compression = require("compression"); +let exphbs = require("express-handlebars"); +let cors = require("cors"); +let Functions = require(handlersPath + "/functions.js"); -var express = require("express"); -var app = express(); -var compression = require("compression"); -var exphbs = require("express-handlebars"); -var cors = require("cors"); -var Functions = require(pathThumbnails + "/handlers/functions.js"); - -var hbs = exphbs.create({ +let hbs = exphbs.create({ defaultLayout: publicPath + "/layouts/client/main", layoutsDir: publicPath + "/layouts/client", partialsDir: publicPath + "/partials", @@ -39,7 +30,32 @@ var hbs = exphbs.create({ } } }); -var uniqid = require("uniqid"); + +let uniqid = require("uniqid"); +let bodyParser = require("body-parser"); +let cookieParser = require("cookie-parser"); +let referrerPolicy = require("referrer-policy"); +let helmet = require("helmet"); +let featurePolicy = require("feature-policy"); + +/* Globally needed "libraries" and files */ +let router = require(clientRoutingPath + "/router.js"); +let api_file = require(clientRoutingPath + "/api.js"); +let api = api_file.router; +api_file.sIO = app.socketIO; +let ico_router = require(clientRoutingPath + "/icons_routing.js"); + +app.engine("handlebars", hbs.engine); +app.set("view engine", "handlebars"); +app.enable("view cache"); +app.set("views", publicPath); +app.set("trust proxy", "127.0.0.1"); + +import { + start +} from "../handlers/io"; +app.socketIO = start(); + app.use(compression({ filter: shouldCompress })); @@ -53,19 +69,10 @@ function shouldCompress(req, res) { // fallback to standard filter function return compression.filter(req, res); } - -app.engine("handlebars", hbs.engine); -app.set("view engine", "handlebars"); -app.enable("view cache"); -app.set("views", publicPath); -app.set("trust proxy", "127.0.0.1"); - -var bodyParser = require("body-parser"); -var cookieParser = require("cookie-parser"); -var referrerPolicy = require("referrer-policy"); -var helmet = require("helmet"); -var featurePolicy = require("feature-policy"); - +app.get("/robots.txt", function (req, res) { + res.type("text/plain"); + res.send("User-agent: *\nAllow: /$\nDisallow: /"); +}); app.use( featurePolicy({ features: { @@ -95,30 +102,10 @@ app.use( ); app.use(cookieParser()); -io = require("socket.io")({ - pingTimeout: 25000 -}); - -var socketIO = require(pathThumbnails + "/handlers/io.js"); -socketIO(); - -app.socketIO = io; - -/* Globally needed "libraries" and files */ -var router = require(pathThumbnails + "/routing/client/router.js"); -var api_file = require(pathThumbnails + "/routing/client/api.js"); -var api = api_file.router; -api_file.sIO = app.socketIO; -var ico_router = require(pathThumbnails + "/routing/client/icons_routing.js"); - -app.get("/robots.txt", function (req, res) { - res.type("text/plain"); - res.send("User-agent: *\nAllow: /$\nDisallow: /"); -}); app.use(function (req, res, next) { - var cookie = req.cookies._uI; - var skipElements = [ + let cookie = req.cookies._uI; + let skipElements = [ "/_embed", "/assets/manifest.json", "/apple-touch-icon.png" @@ -146,13 +133,13 @@ app.use(function (req, res, next) { res.cookie("_uI", user_name, { maxAge: 365 * 10000 * 3600000, httpOnly: true, - secure: secure + secure: certAvailble }); } else { res.cookie("_uI", cookie, { maxAge: 365 * 10000 * 3600000, httpOnly: true, - secure: secure + secure: certAvailble }); } res.header("Access-Control-Allow-Origin", "*"); diff --git a/server/handlers/chat.js b/server/handlers/chat.js index 960925cf..ae172f4d 100644 --- a/server/handlers/chat.js +++ b/server/handlers/chat.js @@ -1,13 +1,13 @@ import { - pathThumbnails + handlersPath } from "../settings/globals"; -var Functions = require(pathThumbnails + "/handlers/functions.js"); -var crypto = require("crypto"); -var db = require(pathThumbnails + "/handlers/db.js"); +let db = require(handlersPath + "/db.js"); +let crypto = require("crypto"); +let Functions = require(handlersPath + "/functions.js"); function get_history(channel, all, socket) { - var query = {}; + let query = {}; if (all) { query = { all: true @@ -18,7 +18,7 @@ function get_history(channel, all, socket) { channel: channel }; } - var pass = ""; + let pass = ""; if (!query.all) { Functions.getSessionAdminUser( Functions.getSession(socket), @@ -93,7 +93,7 @@ function chat(msg, guid, offline, socket) { typeof msg.data != "string" || typeof msg.channel != "string" ) { - var result = { + const result = { data: { expected: "string", got: msg.hasOwnProperty("data") ? typeof msg.data : undefined @@ -110,7 +110,7 @@ function chat(msg, guid, offline, socket) { socket.emit("update_required", result); return; } - var coll = msg.channel.toLowerCase(); + let coll = msg.channel.toLowerCase(); coll = Functions.removeEmojis(coll).toLowerCase(); checkIfUserIsBanned(coll, socket, guid, function () { @@ -143,7 +143,7 @@ function chat(msg, guid, offline, socket) { conf[0].userpass == "" || (msg.hasOwnProperty("pass") && conf[0].userpass == msg.pass)) ) { - var data = msg.data; + let data = msg.data; Functions.check_inlist( coll, @@ -157,7 +157,7 @@ function chat(msg, guid, offline, socket) { channels: coll }, function (err, docs) { - var userAdd = "s"; + let userAdd = "s"; if (docs.length == 1) userAdd = ""; socket.emit("chat", { from: "System", @@ -183,13 +183,13 @@ function chat(msg, guid, offline, socket) { docs ) { if (docs.length == 1) { - var splitData = data.split(" "); + let splitData = data.split(" "); if ( (data.startsWith("/ban") && splitData.length >= 3) || (data.startsWith("/unban") && splitData.length >= 2) ) { if (splitData[1].length > 0) { - var passToCompare = Functions.hash_pass(adminpass); + const passToCompare = Functions.hash_pass(adminpass); if (passToCompare == conf[0].adminpass) { db.collection("user_names").find({ name: splitData[1] @@ -200,11 +200,11 @@ function chat(msg, guid, offline, socket) { data.startsWith("/ban") && splitData.length >= 3 ) { - var reason = splitData + let reason = splitData .slice(2, splitData.length) .join(" "); - var connection_id = name[0].connection_id; - var yourSelf = Functions.hash_pass( + let connection_id = name[0].connection_id; + let yourSelf = Functions.hash_pass( socket.handshake.headers["user-agent"] + socket.handshake.address + socket.handshake.headers[ @@ -213,11 +213,11 @@ function chat(msg, guid, offline, socket) { ); if (connection_id != yourSelf) { db.collection(coll + "_banned_chat").update({ - connection_id: connection_id + connection_id }, { - connection_id: connection_id, + connection_id, by: docs[0].name, - reason: reason + reason }, { upsert: true }, @@ -317,7 +317,7 @@ function chat(msg, guid, offline, socket) { _id: docs[0].name }, function (err, n) { - var icon = false; + let icon = false; if (n.length > 0 && n[0].icon) { icon = n[0].icon; } @@ -327,12 +327,12 @@ function chat(msg, guid, offline, socket) { channel: coll, from: docs[0].name, msg: ": " + data, - icon: icon + icon }); io.to(coll).emit("chat", { from: docs[0].name, msg: ": " + data, - icon: icon + icon }); } ); @@ -343,7 +343,7 @@ function chat(msg, guid, offline, socket) { channel: coll, message: data, all: false, - socket: socket + socket }); } }); @@ -367,7 +367,7 @@ function all_chat(msg, guid, offline, socket) { typeof msg.data != "string" || typeof msg.channel != "string" ) { - var result = { + const result = { data: { expected: "string", got: msg.hasOwnProperty("data") ? typeof msg.data : undefined @@ -380,8 +380,8 @@ function all_chat(msg, guid, offline, socket) { socket.emit("update_required", result); return; } - var coll = msg.channel.toLowerCase(); - var data = msg.data; + let coll = msg.channel.toLowerCase(); + const data = msg.data; coll = Functions.removeEmojis(coll).toLowerCase(); Functions.check_inlist( coll, @@ -397,7 +397,7 @@ function all_chat(msg, guid, offline, socket) { data.replace(/\s/g, "").length ) { db.collection("user_names").find({ - guid: guid + guid }, function (err, docs) { if (docs.length == 1) { db.collection("registered_users").find({ @@ -414,7 +414,7 @@ function all_chat(msg, guid, offline, socket) { channel: coll, from: docs[0].name, msg: ": " + data, - icon: icon + icon }, function (err, docs) {} ); @@ -422,7 +422,7 @@ function all_chat(msg, guid, offline, socket) { from: docs[0].name, msg: ": " + data, channel: coll, - icon: icon + icon }); } ); @@ -432,7 +432,7 @@ function all_chat(msg, guid, offline, socket) { channel: coll, message: data, all: true, - socket: socket + socket }); } }); @@ -443,8 +443,9 @@ function all_chat(msg, guid, offline, socket) { } function checkIfChatEnabled(channel, socket, callback) { - if (channel == "" || channel == undefined) callback(); - else { + if (channel == "" || channel == undefined) { + callback(); + } else { db.collection(channel + "_settings").find(function (err, docs) { if ( docs.length > 0 && @@ -471,17 +472,18 @@ function checkIfUserIsBanned(channel, socket, guid, callback, callback_error) { ); db.collection(channel + "_banned_chat").find({ $or: [{ - connection_id: connection_id + connection_id }, { connection_id: guid }] }, function (err, docs) { - if (docs.length == 0) callback(); - else { + if (docs.length == 0) { + callback(); + } else { db.collection("user_names").findAndModify({ query: { - guid: guid + guid }, update: { $addToSet: { @@ -516,9 +518,9 @@ function namechange(data, guid, socket, tried, callback) { socket, guid, function () { - var pw = ""; - var new_password; - var first = false; + let pw = ""; + let new_password; + let first = false; Functions.getSessionChatPass(Functions.getSession(socket), function ( name, pass @@ -565,8 +567,8 @@ function namechange(data, guid, socket, tried, callback) { _id: name.toLowerCase() }, function (err, docs) { - var accepted_password = false; - var icon = false; + let accepted_password = false; + let icon = false; if (docs.length == 0) { if (new_password) { if (typeof callback == "function") callback(true); @@ -582,7 +584,7 @@ function namechange(data, guid, socket, tried, callback) { _id: name.toLowerCase() }, { $set: { - password: password + password } }, { upsert: true @@ -604,7 +606,7 @@ function namechange(data, guid, socket, tried, callback) { function () { db.collection("registered_users").update({ _id: name.toLowerCase(), - password: password + password }, { $set: { password: Functions.hash_pass(new_password) @@ -629,7 +631,7 @@ function namechange(data, guid, socket, tried, callback) { } if (accepted_password) { db.collection("user_names").find({ - guid: guid + guid }, function ( err, names @@ -639,9 +641,11 @@ function namechange(data, guid, socket, tried, callback) { (docs.length != 0 && docs[0].password == password) ) { var no_name = false; - if (names.length == 0) no_name = true; + if (names.length == 0) { + no_name = true; + }; if (!no_name) { - var old_name = names[0].name; + const old_name = names[0].name; db.collection("user_names").update({ _id: "all_names" }, { @@ -652,25 +656,25 @@ function namechange(data, guid, socket, tried, callback) { function () {} ); } - var connection_id = Functions.hash_pass( + const connection_id = Functions.hash_pass( socket.handshake.headers["user-agent"] + socket.handshake.address + socket.handshake.headers["accept-language"] ); - var updateElement = { + let updateElement = { $set: { - name: name, - icon: icon, - connection_id: connection_id + name, + icon, + connection_id } }; if (data.hasOwnProperty("channel") && data.channel != "") { - updateElement["$addToSet"] = { + updateElement.$addToSet = { channels: data.channel }; } db.collection("user_names").update({ - guid: guid + guid }, updateElement, { upsert: true @@ -742,10 +746,10 @@ function removename(guid, coll, socket) { checkIfChatEnabled(coll, socket, function (enabled) { if (!enabled) return; db.collection("user_names").find({ - guid: guid + guid }, function (err, docs) { if (docs.length == 1) { - var old_name = docs[0].name; + const old_name = docs[0].name; Functions.removeSessionChatPass( Functions.getSession(socket), function () { @@ -758,16 +762,16 @@ function removename(guid, coll, socket) { }, function (err, updated) { db.collection("user_names").remove({ - guid: guid + guid }, function ( err, removed ) { get_name(guid, { announce: true, - old_name: old_name, + old_name, channel: coll, - socket: socket + socket }); }); } @@ -780,8 +784,10 @@ function removename(guid, coll, socket) { } function generate_name(guid, announce_payload, second, round, channel) { - if (round == undefined) round = 0; - var tmp_name = Functions.rndName( + if (round == undefined) { + round = 0; + } + const tmp_name = Functions.rndName( second ? second : guid, Math.floor(8 + round) ); @@ -817,11 +823,11 @@ function generate_name(guid, announce_payload, second, round, channel) { $set: { name: tmp_name, icon: false, - connection_id: connection_id + connection_id } }; if (channel != undefined && channel != "") { - updateElement["$addToSet"] = { + updateElement.$addToSet = { channels: channel }; } @@ -829,12 +835,12 @@ function generate_name(guid, announce_payload, second, round, channel) { announce_payload.hasOwnProperty("channel") && announce_payload.channel != "" ) { - updateElement["$addToSet"] = { + updateElement.$addToSet = { channels: announce_payload.channel }; } db.collection("user_names").update({ - guid: guid + guid }, updateElement, { upsert: true @@ -921,20 +927,20 @@ function get_name(guid, announce_payload, first) { ); var updateElement = { $set: { - name: name, - icon: icon, - connection_id: connection_id + name, + icon, + connection_id } }; if ( announce_payload.hasOwnProperty("channel") && announce_payload.channel != "" ) - updateElement["$addToSet"] = { + updateElement.$addToSet = { channel: announce_payload.channel }; db.collection("user_names").update({ - guid: guid + guid }, updateElement, { upsert: true @@ -965,7 +971,7 @@ function get_name(guid, announce_payload, first) { function get_name_generate(guid, announce_payload, first, channel) { db.collection("user_names").find({ - guid: guid + guid }, function (err, docs) { if (docs.length == 0) { generate_name(guid, announce_payload, undefined); diff --git a/server/handlers/db.js b/server/handlers/db.js index 4c5b945b..eea23b44 100644 --- a/server/handlers/db.js +++ b/server/handlers/db.js @@ -1,7 +1,7 @@ -import { join } from "path"; import { - mongojs -} from 'mongojs'; + join +} from "path"; +import mongojs from 'mongojs'; try { var mongo_config = require( diff --git a/server/handlers/frontpage.js b/server/handlers/frontpage.js index e255b502..35a06896 100644 --- a/server/handlers/frontpage.js +++ b/server/handlers/frontpage.js @@ -1,10 +1,10 @@ import { - pathThumbnails, + handlersPath, VERSION } from "../settings/globals"; -var Functions = require(pathThumbnails + "/handlers/functions.js"); -var db = require(pathThumbnails + "/handlers/db.js"); +let db = require(handlersPath + "/db.js"); +let Functions = require(handlersPath + "/functions.js"); function frontpage_lists(msg, socket) { if ( @@ -13,7 +13,7 @@ function frontpage_lists(msg, socket) { msg.version != VERSION || msg.version == undefined ) { - var result = { + const result = { version: { expected: VERSION, got: msg.hasOwnProperty("version") ? msg.version : undefined @@ -46,7 +46,7 @@ function frontpage_lists(msg, socket) { } function get_frontpage_lists(callback) { - var project_object = { + const project_object = { _id: 1, count: 1, frontpage: 1, @@ -136,9 +136,9 @@ function update_frontpage(coll, id, title, thumbnail, source, callback) { db.collection("frontpage_lists").find({ _id: coll }, function (e, doc) { - var updateObject = { - id: id, - title: title, + const updateObject = { + id, + title, accessed: Functions.get_time() }; if ( diff --git a/server/handlers/functions.js b/server/handlers/functions.js index b698598d..f4b031fe 100644 --- a/server/handlers/functions.js +++ b/server/handlers/functions.js @@ -1,8 +1,8 @@ import { - pathThumbnails + handlersPath } from "../settings/globals"; -var path = require("path"); +let path = require("path"); try { var mongo_config = require(path.join( path.join(__dirname, "../config/"), @@ -14,24 +14,24 @@ try { ); process.exit(1); } -var mongojs = require("mongojs"); -var connected_db = mongojs( +let mongojs = require("mongojs"); +let connected_db = mongojs( "mongodb://" + mongo_config.host + "/user_credentials" ); -var crypto = require("crypto"); -var db = require(pathThumbnails + "/handlers/db.js"); -var uniqid = require("uniqid"); -var Filter = require("bad-words"); -var filter = new Filter({ +let crypto = require("crypto"); +let db = require(handlersPath + "/db.js"); +let uniqid = require("uniqid"); +let Filter = require("bad-words"); +let filter = new Filter({ placeHolder: "x" }); -var Chat = require(pathThumbnails + "/handlers/chat.js"); +let Chat = require(handlersPath + "/chat.js"); function encodeChannelName(str) { - var _fn = encodeURIComponent; + const _fn = encodeURIComponent; str = filter.clean(str); - var toReturn = _fn(str); + let toReturn = _fn(str); toReturn = toReturn.replace(/_/g, "%5F"); toReturn = toReturn.replace(/'/g, "%27"); toReturn = toReturn.replace(/%26amp%3B/g, "%26").replace(/%26amp%3b/g, "%26"); @@ -40,9 +40,9 @@ function encodeChannelName(str) { } function decodeChannelName(str) { - var _fn = decodeURIComponent; + const _fn = decodeURIComponent; str = str.toUpperCase(); - var toReturn = _fn(str.replace(/%5F/g, "_").replace(/%27/g, "'")); + let toReturn = _fn(str.replace(/%5F/g, "_").replace(/%27/g, "'")); toReturn = filter.clean(toReturn); return toReturn.toLowerCase(); } @@ -98,7 +98,7 @@ function remove_name_from_db(guid, channel) { } else { if (channel == undefined || channel == "") return; db.collection("user_names").update({ - guid: guid + guid }, { $pull: { channels: channel @@ -111,7 +111,7 @@ function remove_name_from_db(guid, channel) { } function isUrl(str) { - var pattern = new RegExp( + const pattern = new RegExp( "\\b(((ht|f)tp(s?)\\:\\/\\/|~\\/|\\/)|www.)" + "(\\w+:\\w+@)?(([-\\w]+\\.)+(com|org|net|gov" + "|mil|biz|info|mobi|name|aero|jobs|museum" + @@ -146,13 +146,13 @@ function getSession(socket) { function remove_from_array(array, element) { if (contains(array, element)) { - var index = array.indexOf(element); + const index = array.indexOf(element); if (index != -1) array.splice(index, 1); } } function generate_channel_name(res) { - var trying_id = uniqid.time().toLowerCase(); + const trying_id = uniqid.time().toLowerCase(); db.collection("frontpage_lists").find({ frontpage: { $exists: true @@ -172,7 +172,7 @@ function generate_channel_name(res) { } function get_short_id(socket) { - var new_short_id = uniqid.time().toLowerCase(); + const new_short_id = uniqid.time().toLowerCase(); socket.join(new_short_id); socket.emit("id", new_short_id); @@ -233,10 +233,10 @@ function check_inlist(coll, guid, socket, offline, callback, double_check) { docs ) { if (docs.length == 1) { - var icon = ""; + let icon = ""; if (docs[0].icon != undefined) icon = docs[0].icon; db.collection("user_names").update({ - guid: guid + guid }, { $addToSet: { channels: coll @@ -247,14 +247,14 @@ function check_inlist(coll, guid, socket, offline, callback, double_check) { if (enabled) { socket.broadcast.to(coll).emit("chat", { from: docs[0].name, - icon: icon, + icon, msg: " joined" }); } } else if (docs.length == 0) { Chat.get_name(guid, { announce: false, - socket: socket, + socket, channel: coll }); } @@ -331,7 +331,7 @@ function check_inlist(coll, guid, socket, offline, callback, double_check) { } function rndName(seed, len) { - var vowels = ["a", "e", "i", "o", "u"]; + const vowels = ["a", "e", "i", "o", "u"]; consts = [ "b", "c", @@ -356,9 +356,9 @@ function rndName(seed, len) { len = Math.floor(len); word = ""; is_vowel = false; - var arr; + let arr; try { - for (var i = 0; i < len; i++) { + for (let i = 0; i < len; i++) { if (is_vowel) arr = vowels; else arr = consts; is_vowel = !is_vowel; @@ -372,7 +372,7 @@ function rndName(seed, len) { function removeEmojis(string) { //https://stackoverflow.com/a/41164278/4266467 - var regex = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g; + const regex = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g; return string.replace(regex, ""); } @@ -385,14 +385,14 @@ function decrypt_string(pw) { } function get_time() { - var d = new Date(); - var time = Math.floor(d.getTime() / 1000); + const d = new Date(); + const time = Math.floor(d.getTime() / 1000); return time; } function contains(a, obj) { try { - var i = a.length; + let i = a.length; while (i--) { if (a[i] === obj) { return true; @@ -483,8 +483,8 @@ function getSessionChatPass(id, callback) { _id: "_chat_" }, function (e, d) { if (d.length > 0) { - var name = ""; - var pass = ""; + let name = ""; + let pass = ""; if (d[0].name != undefined) name = d[0].name; if (d[0].password != undefined) pass = d[0].password; callback(name, pass); @@ -568,8 +568,8 @@ function getSessionAdminUser(id, list, callback) { connected_db.collection(id).find({ _id: list }, function (e, d) { - var userpass = ""; - var adminpass = ""; + let userpass = ""; + let adminpass = ""; if (d.length > 0) { if (d[0].hasOwnProperty("chromecast") && d[0].chromecast) { getSessionAdminUser(d[0].id, list, callback); @@ -682,7 +682,7 @@ function left_channel(coll, guid, short_id, in_list, socket, change, caller) { docs ) { if (docs.length == 1) { - var icon = ""; + let icon = ""; if (docs[0].icon != undefined) icon = docs[0].icon; io.to(coll).emit("chat", { from: docs[0].name, @@ -749,21 +749,21 @@ function checkTimeout( return; } db.collection("timeout_api").find({ - type: type, - guid: guid + type, + guid }, function (err, docs) { if (docs.length > 0) { - var date = new Date(docs[0].createdAt); + const date = new Date(docs[0].createdAt); date.setSeconds(date.getSeconds() + timeout); - var now = new Date(); + const now = new Date(); - var retry_in = (date.getTime() - now.getTime()) / 1000; + const retry_in = (date.getTime() - now.getTime()) / 1000; if (retry_in > 0) { if (typeof error_callback == "function") { error_callback(); } else if (error_message) { - var sOrNot = + const sOrNot = Math.ceil(retry_in) > 1 || Math.ceil(retry_in) == 0 ? "s" : ""; socket.emit( "toast", @@ -775,15 +775,14 @@ function checkTimeout( return; } } - var now_date = new Date(); db.collection("timeout_api").update({ - type: type, - guid: guid + type, + guid }, { $set: { - createdAt: now_date, - type: type, - guid: guid + createdAt: now, + type, + guid } }, { upsert: true diff --git a/server/handlers/io.js b/server/handlers/io.js index 06b5ee1f..7ff2e415 100644 --- a/server/handlers/io.js +++ b/server/handlers/io.js @@ -1,31 +1,33 @@ import { - pathThumbnails + handlersPath } from "../settings/globals"; -var cookie = require("cookie"); +let cookie = require("cookie"); +let Functions = require(handlersPath + "/functions.js"); +let ListChange = require(handlersPath + "/list_change.js"); +let Chat = require(handlersPath + "/chat.js"); +let List = require(handlersPath + "/list.js"); +let Suggestions = require(handlersPath + "/suggestions.js"); +let ListSettings = require(handlersPath + "/list_settings.js"); +let Frontpage = require(handlersPath + "/frontpage.js"); +let Search = require(handlersPath + "/search.js"); +let crypto = require("crypto"); +let db = require(handlersPath + "/db.js"); +let ioServer = require("socket.io")({ + pingTimeout: 25000 +}); -var Functions = require(pathThumbnails + "/handlers/functions.js"); -var ListChange = require(pathThumbnails + "/handlers/list_change.js"); -var Chat = require(pathThumbnails + "/handlers/chat.js"); -var List = require(pathThumbnails + "/handlers/list.js"); -var Suggestions = require(pathThumbnails + "/handlers/suggestions.js"); -var ListSettings = require(pathThumbnails + "/handlers/list_settings.js"); -var Frontpage = require(pathThumbnails + "/handlers/frontpage.js"); -var Search = require(pathThumbnails + "/handlers/search.js"); -var crypto = require("crypto"); -var db = require(pathThumbnails + "/handlers/db.js"); - -module.exports = function () { - io.on("connection", function (socket) { +function start() { + ioServer.on("connection", function (socket) { try { - var parsedCookies = cookie.parse(socket.handshake.headers.cookie); - socket.cookie_id = parsedCookies["_uI"]; + const parsedCookies = cookie.parse(socket.handshake.headers.cookie); + socket.cookie_id = parsedCookies._uI; } catch (e) { socket.cookie_id = "empty"; } socket.zoff_id = socket.id; socket.emit("get_list"); - var guid = socket.cookie_id; + let guid = socket.cookie_id; if (guid == "empty" || guid == null || guid == undefined) guid = Functions.hash_pass( socket.handshake.headers["user-agent"] + @@ -40,22 +42,22 @@ module.exports = function () { socket.emit("ok"); }); - var socketid = socket.zoff_id; - var coll; - var in_list = false; - var name = ""; - var short_id; + let socketid = socket.zoff_id; + let coll; + let in_list = false; + let name = ""; + let short_id; Chat.get_name(guid, { announce: false, socket: socket }); - var offline = false; - var chromecast_object = false; + let offline = false; + let chromecast_object = false; socket.emit("guid", guid); socket.on("self_ping", function (msg) { - var channel = msg.channel; + let channel = msg.channel; if (channel.indexOf("?") > -1) { channel = channel.substring(0, channel.indexOf("?")); } @@ -126,7 +128,7 @@ module.exports = function () { if (obj == undefined || !obj.hasOwnProperty("channel")) return; db.collection(obj.channel + "_settings").find(function (e, docs) { if (docs.length == 0) return; - var pass = ""; + let pass = ""; if (obj.hasOwnProperty("pass")) { pass = crypto .createHash("sha256") @@ -198,14 +200,14 @@ module.exports = function () { socket.on("get_id", function () { socket.emit("id_chromecast", { cookie_id: Functions.getSession(socket), - guid: guid + guid }); }); socket.on("error_video", function (msg) { try { msg.channel = Functions.encodeChannelName(msg.channel); - var _list = msg.channel; + let _list = msg.channel; if (_list.length == 0) return; if (_list.indexOf("?") > -1) { _list = _list.substring(0, _list.indexOf("?")); @@ -263,7 +265,7 @@ module.exports = function () { socket.on("suggest_thumbnail", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -274,7 +276,7 @@ module.exports = function () { socket.on("suggest_description", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -285,7 +287,7 @@ module.exports = function () { socket.on("suggest_rules", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -296,7 +298,7 @@ module.exports = function () { socket.on("namechange", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -307,14 +309,14 @@ module.exports = function () { socket.on("removename", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { msg.channel = Functions.encodeChannelName(msg.channel); } if (typeof msg != "object" || !msg.hasOwnProperty("channel")) { - var result = { + const result = { channel: { expected: "string", got: msg.hasOwnProperty("channel") ? typeof msg.channel : undefined @@ -328,7 +330,7 @@ module.exports = function () { socket.on("offline", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -340,7 +342,7 @@ module.exports = function () { typeof msg.status != "boolean" || typeof msg.channel != "string" ) { - var result = { + const result = { status: { expected: "boolean", got: msg.hasOwnProperty("status") ? typeof msg.status : undefined @@ -353,8 +355,8 @@ module.exports = function () { socket.emit("update_required", result); return; } - var status = msg.status; - var channel = msg.channel; + const status = msg.status; + const channel = msg.channel; if (status) { in_list = false; offline = true; @@ -374,11 +376,11 @@ module.exports = function () { }, function (err, updated, d) { if (d.n == 1) { - var num = 0; + let num = 0; if (updated && updated.users) { num = updated.users.length; } - io.to(coll).emit("viewers", num); + ioServer.to(coll).emit("viewers", num); db.collection("frontpage_lists").update({ _id: coll, viewers: { @@ -459,7 +461,7 @@ module.exports = function () { socket.on("get_history", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -471,7 +473,7 @@ module.exports = function () { typeof msg.channel != "string" || typeof msg.all != "boolean" ) { - var result = { + const result = { all: { expected: "boolean", got: msg.hasOwnProperty("all") ? typeof msg.all : undefined @@ -493,7 +495,7 @@ module.exports = function () { socket.on("chat", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -504,7 +506,7 @@ module.exports = function () { socket.on("all,chat", function (data) { if (data.hasOwnProperty("channel") && data.channel.indexOf("?") > -1) { - var _list = data.channel.substring(0, data.channel.indexOf("?")); + const _list = data.channel.substring(0, data.channel.indexOf("?")); data.channel = _list; } if (data.hasOwnProperty("channel")) { @@ -515,7 +517,7 @@ module.exports = function () { socket.on("frontpage_lists", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -526,7 +528,7 @@ module.exports = function () { socket.on("import_zoff", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -541,14 +543,14 @@ module.exports = function () { socket.on("id", function (arr) { if (arr.hasOwnProperty("channel") && arr.channel.indexOf("?") > -1) { - var _list = arr.channel.substring(0, arr.channel.indexOf("?")); + const _list = arr.channel.substring(0, arr.channel.indexOf("?")); arr.channel = _list; } if (arr.hasOwnProperty("channel")) { arr.channel = Functions.encodeChannelName(arr.channel); } if (typeof arr == "object") - io.to(arr.id).emit(arr.id.toLowerCase(), { + ioServer.to(arr.id).emit(arr.id.toLowerCase(), { type: arr.type, value: arr.value }); @@ -556,7 +558,7 @@ module.exports = function () { socket.on("join_silent", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -569,14 +571,14 @@ module.exports = function () { socket.on("list", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { msg.channel = Functions.encodeChannelName(msg.channel); } try { - var _list = msg.channel; + let _list = msg.channel; if (_list.length == 0) return; if (_list.indexOf("?") > -1) { _list = _list.substring(0, _list.indexOf("?")); @@ -596,7 +598,7 @@ module.exports = function () { socket.on("end", function (obj) { if (obj.hasOwnProperty("channel") && obj.channel.indexOf("?") > -1) { - var _list = obj.channel.substring(0, obj.channel.indexOf("?")); + const _list = obj.channel.substring(0, obj.channel.indexOf("?")); obj.channel = _list; } if (obj.hasOwnProperty("channel")) { @@ -615,7 +617,7 @@ module.exports = function () { socket.on("addPlaylist", function (arr) { if (arr.hasOwnProperty("channel") && arr.channel.indexOf("?") > -1) { - var _list = arr.channel.substring(0, arr.channel.indexOf("?")); + const _list = arr.channel.substring(0, arr.channel.indexOf("?")); arr.channel = _list; } if (arr.hasOwnProperty("channel")) { @@ -626,7 +628,7 @@ module.exports = function () { socket.on("add", function (arr) { if (arr.hasOwnProperty("list") && arr.list.indexOf("?") > -1) { - var _list = arr.list.substring(0, arr.list.indexOf("?")); + const _list = arr.list.substring(0, arr.list.indexOf("?")); arr.list = _list; } if (arr.hasOwnProperty("list")) { @@ -653,7 +655,7 @@ module.exports = function () { socket.on("delete_all", function (msg) { try { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -671,7 +673,7 @@ module.exports = function () { socket.on("vote", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -691,7 +693,7 @@ module.exports = function () { socket.on("password", function (inp) { if (inp.hasOwnProperty("channel") && inp.channel.indexOf("?") > -1) { - var _list = inp.channel.substring(0, inp.channel.indexOf("?")); + const _list = inp.channel.substring(0, inp.channel.indexOf("?")); inp.channel = _list; } if (inp.hasOwnProperty("channel")) { @@ -702,7 +704,7 @@ module.exports = function () { socket.on("skip", function (list) { if (list.hasOwnProperty("channel") && list.channel.indexOf("?") > -1) { - var _list = list.channel.substring(0, list.channel.indexOf("?")); + const _list = list.channel.substring(0, list.channel.indexOf("?")); list.channel = _list; coll = list.channel; } @@ -714,7 +716,7 @@ module.exports = function () { socket.on("conf", function (conf) { if (conf.hasOwnProperty("channel") && conf.channel.indexOf("?") > -1) { - var _list = conf.channel.substring(0, conf.channel.indexOf("?")); + const _list = conf.channel.substring(0, conf.channel.indexOf("?")); conf.channel = _list; coll = conf.channel; } @@ -727,7 +729,7 @@ module.exports = function () { socket.on("shuffle", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -753,7 +755,7 @@ module.exports = function () { obj.hasOwnProperty("channel") && obj.channel.indexOf("?") > -1 ) { - var _list = obj.channel.substring(0, obj.channel.indexOf("?")); + const _list = obj.channel.substring(0, obj.channel.indexOf("?")); obj.channel = _list; } if (obj == undefined && coll == undefined) { @@ -813,7 +815,7 @@ module.exports = function () { socket.on("left_channel", function (msg) { if (msg.hasOwnProperty("channel") && msg.channel.indexOf("?") > -1) { - var _list = msg.channel.substring(0, msg.channel.indexOf("?")); + const _list = msg.channel.substring(0, msg.channel.indexOf("?")); msg.channel = _list; } if (msg.hasOwnProperty("channel")) { @@ -880,7 +882,7 @@ module.exports = function () { obj.hasOwnProperty("channel") && obj.channel.indexOf("?") > -1 ) { - var _list = obj.channel.substring(0, obj.channel.indexOf("?")); + const _list = obj.channel.substring(0, obj.channel.indexOf("?")); obj.channel = _list; } if (obj != undefined && obj.hasOwnProperty("channel")) { @@ -900,7 +902,7 @@ module.exports = function () { } if (!obj.hasOwnProperty("channel") || typeof obj.channel != "string") { - var result = { + const result = { channel: { expected: "string", got: obj.hasOwnProperty("channel") ? typeof obj.channel : undefined @@ -950,4 +952,9 @@ module.exports = function () { }); }); }); -}; \ No newline at end of file + return ioServer; +} + +export { + start +} \ No newline at end of file diff --git a/server/handlers/list.js b/server/handlers/list.js index 368a70df..db6d9638 100644 --- a/server/handlers/list.js +++ b/server/handlers/list.js @@ -1,16 +1,16 @@ import { - pathThumbnails, + handlersPath, VERSION } from "../settings/globals"; -var ColorThief = require("color-thief-jimp"); -var Jimp = require("jimp"); -var Functions = require(pathThumbnails + "/handlers/functions.js"); -var Frontpage = require(pathThumbnails + "/handlers/frontpage.js"); -var projects = require(pathThumbnails + "/handlers/aggregates.js"); -var crypto = require("crypto"); -var Search = require(pathThumbnails + "/handlers/search.js"); -var db = require(pathThumbnails + "/handlers/db.js"); +let ColorThief = require("color-thief-jimp"); +let Jimp = require("jimp"); +let Functions = require(handlersPath + "/functions.js"); +let Frontpage = require(handlersPath + "/frontpage.js"); +let projects = require(handlersPath + "/aggregates.js"); +let crypto = require("crypto"); +let Search = require(handlersPath + "/search.js"); +let db = require(handlersPath + "/db.js"); function now_playing(list, fn, socket) { if (typeof list !== "string" || typeof fn !== "function") { diff --git a/server/handlers/list_change.js b/server/handlers/list_change.js index 4fbcbdf2..96f39675 100644 --- a/server/handlers/list_change.js +++ b/server/handlers/list_change.js @@ -1,14 +1,14 @@ import { - pathThumbnails + handlersPath } from "../settings/globals"; -var Functions = require(pathThumbnails + "/handlers/functions.js"); -var List = require(pathThumbnails + "/handlers/list.js"); -var Frontpage = require(pathThumbnails + "/handlers/frontpage.js"); -var Search = require(pathThumbnails + "/handlers/search.js"); -var Chat = require(pathThumbnails + "/handlers/chat.js"); -var crypto = require("crypto"); -var db = require(pathThumbnails + "/handlers/db.js"); +let Functions = require(handlersPath + "/functions.js"); +let List = require(handlersPath + "/list.js"); +let Frontpage = require(handlersPath + "/frontpage.js"); +let Search = require(handlersPath + "/search.js"); +let Chat = require(handlersPath + "/chat.js"); +let crypto = require("crypto"); +let db = require(handlersPath + "/db.js"); function addFromOtherList(arr, guid, offline, socket) { if (typeof arr == "object") { diff --git a/server/handlers/list_settings.js b/server/handlers/list_settings.js index b58f34a3..93dfeb3f 100644 --- a/server/handlers/list_settings.js +++ b/server/handlers/list_settings.js @@ -1,12 +1,11 @@ import { - pathThumbnails + handlersPath } from "../settings/globals"; - -var Functions = require(pathThumbnails + "/handlers/functions.js"); -var crypto = require("crypto"); -var projects = require(pathThumbnails + "/handlers/aggregates.js"); -var db = require(pathThumbnails + "/handlers/db.js"); +let Functions = require(handlersPath + "/functions.js"); +let crypto = require("crypto"); +let projects = require(handlersPath + "/aggregates.js"); +let db = require(handlersPath + "/db.js"); function password(inp, coll, guid, offline, socket) { var sessionId = Functions.getSession(socket); diff --git a/server/handlers/notifications.js b/server/handlers/notifications.js index 24b552f4..d25edee6 100644 --- a/server/handlers/notifications.js +++ b/server/handlers/notifications.js @@ -1,16 +1,16 @@ -var path = require("path"); +let path = require("path"); function requested_change(type, string, channel) { try { - var nodemailer = require("nodemailer"); - var mailconfig = require(path.join(__dirname, "../config/mailconfig.js")); - var transporter = nodemailer.createTransport(mailconfig); + let nodemailer = require("nodemailer"); + let mailconfig = require(path.join(__dirname, "../config/mailconfig.js")); + let transporter = nodemailer.createTransport(mailconfig); transporter.verify(function (error, success) { if (error) { return; } else { - var message = + let message = "A " + type + " change was requested on " + @@ -19,7 +19,7 @@ function requested_change(type, string, channel) { string + "


\ Go to https://admin.zoff.me/ to accept or decline the request."; - var msg = { + let msg = { from: mailconfig.from, to: mailconfig.notify_mail, subject: "ZOFF: Requested new " + type, diff --git a/server/handlers/search.js b/server/handlers/search.js index 2e7a8760..7b2073d9 100644 --- a/server/handlers/search.js +++ b/server/handlers/search.js @@ -1,5 +1,5 @@ import { - pathThumbnails + handlersPath } from "../settings/globals"; var path = require("path"); @@ -15,7 +15,7 @@ try { process.exit(1); } var request = require("request"); -var db = require(pathThumbnails + "/handlers/db.js"); +var db = require(handlersPath + "/db.js"); var countryCodes = ["US", "NO", "SE", "DK", "CA", "EU", "UK"]; function check_if_error_or_blocked(id, channel, errored, callback) { diff --git a/server/handlers/suggestions.js b/server/handlers/suggestions.js index c625790c..069b2b22 100644 --- a/server/handlers/suggestions.js +++ b/server/handlers/suggestions.js @@ -1,11 +1,11 @@ import { - pathThumbnails + handlersPath } from "../settings/globals"; -var Functions = require(pathThumbnails + "/handlers/functions.js"); -var Notifications = require(pathThumbnails + "/handlers/notifications.js"); -var crypto = require("crypto"); -var db = require(pathThumbnails + "/handlers/db.js"); +let Functions = require(handlersPath + "/functions.js"); +let Notifications = require(handlersPath + "/notifications.js"); +let crypto = require("crypto"); +let db = require(handlersPath + "/db.js"); function thumbnail(msg, coll, guid, offline, socket) { if ( diff --git a/server/public/assets/js/listeners.js b/server/public/assets/js/listeners.js index 9026a072..77f47459 100755 --- a/server/public/assets/js/listeners.js +++ b/server/public/assets/js/listeners.js @@ -13,12 +13,12 @@ if (domain.length > 0 && domain[0] == "client") { client = true; } var _VERSION; -try { - _VERSION = localStorage.getItem("VERSION"); - if (_VERSION == null || _VERSION == undefined) throw "Some error"; -} catch (e) { + +_VERSION = localStorage.getItem("VERSION"); +if (_VERSION == null || _VERSION == undefined) { _VERSION = VERSION; -} +}; + var SC_widget; var scUsingWidget = false; var SC_player; @@ -197,9 +197,7 @@ window.addEventListener( function () { addDynamicListeners(); if (!_VERSION || parseInt(_VERSION) != VERSION) { - try { - localStorage.setItem("VERSION", VERSION); - } catch (e) {} + localStorage.setItem("VERSION", VERSION); } if (!fromFront && window.location.pathname != "/") Channel.init(); diff --git a/server/routing/client/api.js b/server/routing/client/api.js index 709fcdea..5beafc6f 100644 --- a/server/routing/client/api.js +++ b/server/routing/client/api.js @@ -1,14 +1,15 @@ import { - pathThumbnails -} from "../settings/globals"; + pathThumbnails, + handlersPath +} from "../../settings/globals"; -var express = require("express"); -var router = express.Router(); -var path = require("path"); -var mongojs = require("mongojs"); -var token_db = mongojs("tokens"); -var db = require(pathThumbnails + "/handlers/db.js"); -var allowed_key; +let express = require("express"); +let router = express.Router(); +let path = require("path"); +let mongojs = require("mongojs"); +let token_db = mongojs("tokens"); +let db = require(handlersPath + "/db.js"); +let allowed_key; try { allowed_key = require(pathThumbnails + "/config/allowed_api.js"); @@ -18,25 +19,25 @@ try { "(!) Missing file - /config/allowed_api.js Have a look at /config/allowed_api.example.js." ); } -var crypto = require("crypto"); -var List = require(pathThumbnails + "/handlers/list.js"); -var Functions = require(pathThumbnails + "/handlers/functions.js"); -var Frontpage = require(pathThumbnails + "/handlers/frontpage.js"); -var Search = require(pathThumbnails + "/handlers/search.js"); -var uniqid = require("uniqid"); -var Filter = require("bad-words"); -var filter = new Filter({ +let crypto = require("crypto"); +let List = require(handlersPath + "/list.js"); +let Functions = require(handlersPath + "/functions.js"); +let Frontpage = require(handlersPath + "/frontpage.js"); +let Search = require(handlersPath + "/search.js"); +let uniqid = require("uniqid"); +let Filter = require("bad-words"); +let filter = new Filter({ placeHolder: "x" }); -var paginate = require("mongojs-paginate"); +let paginate = require("mongojs-paginate"); -var _exports = { +let _exports = { router: router, sIO: {} }; -var projects = require(pathThumbnails + "/handlers/aggregates.js"); +let projects = require(handlersPath + "/aggregates.js"); -var error = { +let error = { not_found: { youtube: { status: 404, diff --git a/server/routing/client/icons_routing.js b/server/routing/client/icons_routing.js index 7b95f703..f53b8ac4 100644 --- a/server/routing/client/icons_routing.js +++ b/server/routing/client/icons_routing.js @@ -1,6 +1,6 @@ import { pathThumbnails -} from "../settings/globals"; +} from "../../settings/globals"; var express = require("express"); diff --git a/server/routing/client/router.js b/server/routing/client/router.js index 69ba618a..d74a9b14 100644 --- a/server/routing/client/router.js +++ b/server/routing/client/router.js @@ -1,6 +1,6 @@ import { - pathThumbnails -} from "../settings/globals"; + handlersPath +} from "../../settings/globals"; var express = require("express"); var router = express.Router(); @@ -13,9 +13,9 @@ var adsense = "xx"; var adds = false; var mongojs = require("mongojs"); var token_db = mongojs("tokens"); -var Frontpage = require(pathThumbnails + "/handlers/frontpage.js"); +var Frontpage = require(handlersPath + "/frontpage.js"); -var db = require(pathThumbnails + "/handlers/db.js"); +var db = require(handlersPath + "/db.js"); try { google = require(path.join( diff --git a/server/settings/globals.js b/server/settings/globals.js index a531761a..065f5f50 100644 --- a/server/settings/globals.js +++ b/server/settings/globals.js @@ -1,6 +1,21 @@ import * as path from "path"; import version from "../VERSION"; -export const publicPath = path.join(__dirname, "public"); +export const clientRoutingPath = path.resolve('server', 'routing/client'); +console.log('rounting path: ', clientRoutingPath); +export const publicPath = path.resolve('server', 'public'); +export const handlersPath = path.resolve('server', "handlers"); export const pathThumbnails = __dirname; -export const VERSION = version; \ No newline at end of file +export const VERSION = version; + +function checkCert() { + let secure = false; + try { + const cert_config = require(path.join( + __dirname, "../config/cert_config.js")); + secure = true; + } catch (err) {} + return secure; +} + +export const certAvailble = checkCert(); \ No newline at end of file