From 8169e2dd07d9ca78c1c2b5a5e276db05352af68f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Mon, 5 Feb 2018 18:06:53 +0100 Subject: [PATCH] Removed cors-anywhere dependency --- package-lock.json | 202 +++++++++++++++------------ package.json | 4 +- server/app.js | 16 --- server/handlers/io.js | 6 + server/handlers/list.js | 20 +++ server/public/assets/js/channel.js | 1 + server/public/assets/js/functions.js | 1 + server/public/assets/js/player.js | 54 ++++--- 8 files changed, 164 insertions(+), 140 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10e0f87c..7c0de356 100644 --- a/package-lock.json +++ b/package-lock.json @@ -165,7 +165,8 @@ } }, "bignumber.js": { - "version": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=" }, "blob": { @@ -173,7 +174,8 @@ "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=" }, "bmp-js": { - "version": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz", + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz", "integrity": "sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=" }, "body-parser": { @@ -221,7 +223,8 @@ "integrity": "sha1-k8ENOeqltYQVy8QFLz5T5WKwtyw=" }, "buffer-equal": { - "version": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" }, "buffer-shims": { @@ -297,6 +300,14 @@ "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, + "color-thief-jimp": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-thief-jimp/-/color-thief-jimp-2.0.2.tgz", + "integrity": "sha1-KVHbZ8ssInJU877macVi11NNQ+o=", + "requires": { + "jimp": "0.2.28" + } + }, "combined-stream": { "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", @@ -355,13 +366,6 @@ "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "cors-anywhere": { - "version": "https://registry.npmjs.org/cors-anywhere/-/cors-anywhere-0.2.5.tgz", - "integrity": "sha1-Sn0y/xAKJw7cjUz55UK9NrLTkFw=", - "requires": { - "http-proxy": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.11.1.tgz" - } - }, "cryptiles": { "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", @@ -439,7 +443,8 @@ } }, "dom-walk": { - "version": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" }, "double-ended-queue": { @@ -540,7 +545,8 @@ } }, "es6-promise": { - "version": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=" }, "escape-html": { @@ -555,12 +561,9 @@ "version": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, - "eventemitter3": { - "version": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=" - }, "exif-parser": { - "version": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" }, "expand-brackets": { @@ -691,7 +694,8 @@ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" }, "file-type": { - "version": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" }, "filename-regex": { @@ -765,10 +769,11 @@ "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=" }, "for-each": { - "version": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", "requires": { - "is-function": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz" + "is-function": "1.0.1" } }, "for-in": { @@ -905,11 +910,12 @@ } }, "global": { - "version": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "process": "https://registry.npmjs.org/process/-/process-0.5.2.tgz" + "min-document": "2.19.0", + "process": "0.5.2" } }, "global-modules": { @@ -1167,14 +1173,6 @@ "statuses": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz" } }, - "http-proxy": { - "version": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.11.1.tgz", - "integrity": "sha1-cd9VdX6ALVjqgQ3yJEAZ3aBa6F0=", - "requires": { - "eventemitter3": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "requires-port": "https://registry.npmjs.org/requires-port/-/requires-port-0.0.1.tgz" - } - }, "http-signature": { "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", @@ -1218,7 +1216,8 @@ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "ip-regex": { - "version": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=" }, "ipaddr.js": { @@ -1257,7 +1256,8 @@ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" }, "is-function": { - "version": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" }, "is-glob": { @@ -1347,29 +1347,31 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jimp": { - "version": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz", + "version": "0.2.28", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz", "integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=", "requires": { - "bignumber.js": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", - "bmp-js": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz", - "es6-promise": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "exif-parser": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", - "file-type": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "jpeg-js": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz", - "load-bmfont": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.3.0.tgz", + "bignumber.js": "2.4.0", + "bmp-js": "0.0.3", + "es6-promise": "3.3.1", + "exif-parser": "0.1.12", + "file-type": "3.9.0", + "jpeg-js": "0.2.0", + "load-bmfont": "1.3.0", "mime": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "pixelmatch": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", - "pngjs": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.0.tgz", - "read-chunk": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz", + "pixelmatch": "4.0.2", + "pngjs": "3.3.1", + "read-chunk": "1.0.1", "request": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "stream-to-buffer": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", - "tinycolor2": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", - "url-regex": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz" + "stream-to-buffer": "0.1.0", + "tinycolor2": "1.4.1", + "url-regex": "3.2.0" } }, "jpeg-js": { - "version": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz", "integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=" }, "jsbn": { @@ -1437,15 +1439,16 @@ } }, "load-bmfont": { - "version": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.3.0.tgz", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.3.0.tgz", "integrity": "sha1-u358cQ3mvK/LE8s7jIHgwBMey8k=", "requires": { - "buffer-equal": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "buffer-equal": "0.0.1", "mime": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "parse-bmfont-ascii": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", - "parse-bmfont-binary": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", - "parse-bmfont-xml": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.3.tgz", - "xhr": "https://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz", + "parse-bmfont-ascii": "1.0.6", + "parse-bmfont-binary": "1.0.6", + "parse-bmfont-xml": "1.1.3", + "xhr": "2.4.1", "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" } }, @@ -1615,10 +1618,11 @@ } }, "min-document": { - "version": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz" + "dom-walk": "0.1.1" } }, "minimatch": { @@ -1890,19 +1894,22 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "parse-bmfont-ascii": { - "version": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" }, "parse-bmfont-binary": { - "version": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" }, "parse-bmfont-xml": { - "version": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.3.tgz", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.3.tgz", "integrity": "sha1-1rZqNxr9OcUAfZ8O6yYqTyzOe3w=", "requires": { - "xml-parse-from-string": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", - "xml2js": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz" + "xml-parse-from-string": "1.0.1", + "xml2js": "0.4.19" } }, "parse-filepath": { @@ -1925,11 +1932,12 @@ } }, "parse-headers": { - "version": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", "requires": { - "for-each": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", - "trim": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz" + "for-each": "0.3.2", + "trim": "0.0.1" } }, "parse-mongo-url": { @@ -1986,15 +1994,17 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pixelmatch": { - "version": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", "requires": { - "pngjs": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.0.tgz" + "pngjs": "3.3.1" } }, "pngjs": { - "version": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.0.tgz", - "integrity": "sha1-H1cwwYnJSTO4G+2iqy+OKFUmOo8=" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.1.tgz", + "integrity": "sha512-ggXCTsqHRIsGMkHlCEhbHhUmNTA2r1lpkE0NL4Q9S8spkXbm4vE9TVmPso2AGYn90Gltdz8W5CyzhcIGg2Gejg==" }, "preserve": { "version": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", @@ -2005,7 +2015,8 @@ "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" }, "process": { - "version": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" }, "process-nextick-args": { @@ -2083,7 +2094,8 @@ } }, "read-chunk": { - "version": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz", "integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=" }, "readable-stream": { @@ -2188,10 +2200,6 @@ } } }, - "requires-port": { - "version": "https://registry.npmjs.org/requires-port/-/requires-port-0.0.1.tgz", - "integrity": "sha1-S0QUQR2d98hVmV3YmajHiilRwW0=" - }, "resolve": { "version": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", "integrity": "sha1-p1vgHFPaJdk0qY69DkxKcxL5KoY=", @@ -2223,7 +2231,8 @@ "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" }, "sax": { - "version": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" }, "semver": { @@ -2387,14 +2396,16 @@ "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=" }, "stream-to": { - "version": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz", "integrity": "sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=" }, "stream-to-buffer": { - "version": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", "integrity": "sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=", "requires": { - "stream-to": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz" + "stream-to": "0.2.2" } }, "string_decoder": { @@ -2478,7 +2489,8 @@ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" }, "tinycolor2": { - "version": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" }, "to-array": { @@ -2497,7 +2509,8 @@ } }, "trim": { - "version": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" }, "tunnel-agent": { @@ -2563,10 +2576,11 @@ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "url-regex": { - "version": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", "requires": { - "ip-regex": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz" + "ip-regex": "1.0.3" } }, "user-home": { @@ -2699,29 +2713,33 @@ } }, "xhr": { - "version": "https://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz", - "integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.1.tgz", + "integrity": "sha512-pAIU5vBr9Hiy5cpFIbPnwf0C18ZF86DBsZKrlsf87N5De/JbA6RJ83UP/cv+aljl4S40iRVMqP4pr4sF9Dnj0A==", "requires": { - "global": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "is-function": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "parse-headers": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "global": "4.3.2", + "is-function": "1.0.1", + "parse-headers": "2.0.1", "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" } }, "xml-parse-from-string": { - "version": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" }, "xml2js": { - "version": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", "integrity": "sha1-aGwg8hMgnpSr8NG88e+qKRx4J6c=", "requires": { - "sax": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "xmlbuilder": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz" + "sax": "1.2.4", + "xmlbuilder": "9.0.4" } }, "xmlbuilder": { - "version": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz", "integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8=" }, "xmlhttprequest-ssl": { diff --git a/package.json b/package.json index d59e21a8..4d07f577 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,8 @@ "dependencies": { "bad-words": "^1.5.1", "body-parser": "^1.17.1", + "color-thief-jimp": "^2.0.2", "cookie-parser": "^1.4.3", - "cors-anywhere": "^0.2.3", "emoji-strip": "^0.0.3", "express": "^4.15.2", "express-handlebars": "^3.0.0", @@ -40,7 +40,7 @@ "gulp-concat": "^2.6.1", "gulp-uglifyjs": "^0.6.2", "gulp-util": "^3.0.8", - "jimp": "^0.2.27", + "jimp": "^0.2.28", "mobile-detect": "^1.3.7", "mongodb": "^2.0.27", "mongojs": "^2.4.0", diff --git a/server/app.js b/server/app.js index d5e9ec9f..7ee7e126 100644 --- a/server/app.js +++ b/server/app.js @@ -53,8 +53,6 @@ function startClustered() { function startSingle(clustered) { var app = require('./index.js'); - var cors_options = {}; - var cors_proxy = require('cors-anywhere'); try { var cert_config = require(path.join(path.join(__dirname, 'config'), 'cert_config.js')); var fs = require('fs'); @@ -70,27 +68,13 @@ function startSingle(clustered) { var https = require('https'); server = https.Server(credentials, app); - cors_options = { - requireHeader: ['origin', 'x-requested-with'], - removeHeaders: ['cookie', 'cookie2'], - httpsOptions: credentials - }; - } catch(err){ console.log("Starting without https (probably on localhost)"); - cors_options = { - requireHeader: ['origin', 'x-requested-with'], - removeHeaders: ['cookie', 'cookie2'], - }; var http = require('http'); server = http.Server(app); //add = ",http://localhost:80*,http://localhost:8080*,localhost:8080*, localhost:8082*,http://zoff.dev:80*,http://zoff.dev:8080*,zoff.dev:8080*, zoff.dev:8082*"; } - cors_proxy.createServer(cors_options).listen(8081, function() { - console.log('Running CORS Anywhere on :' + 8081 + " [" + process.pid + "]"); - }); - if(clustered) { server.listen(onListen); } else { diff --git a/server/handlers/io.js b/server/handlers/io.js index 634b5c71..f766a493 100644 --- a/server/handlers/io.js +++ b/server/handlers/io.js @@ -38,6 +38,12 @@ module.exports = function() { } }); + socket.on('color', function(msg) { + if(msg.hasOwnProperty("id")) { + List.sendColor(false, socket, msg.id); + } + }); + socket.on('chromecast', function(msg) { try { if(typeof(msg) == "object" && msg.hasOwnProperty("guid") && msg.hasOwnProperty("socket_id") && msg.hasOwnProperty("channel")) { diff --git a/server/handlers/list.js b/server/handlers/list.js index 18aafb37..d7f1137d 100644 --- a/server/handlers/list.js +++ b/server/handlers/list.js @@ -1,3 +1,5 @@ +var ColorThief = require('color-thief-jimp'); +var Jimp = require('jimp'); function now_playing(list, fn, socket) { if(typeof(list) !== 'string' || typeof(fn) !== 'function') { @@ -443,12 +445,16 @@ function send_play(coll, socket) toSend = {np: np, conf: conf, time: Functions.get_time()}; if(socket === undefined) { io.to(coll).emit("np", toSend); + // List.getNextSong(coll) + sendColor(coll, false, np[0].id); } else { socket.emit("np", toSend); + sendColor(coll, socket, np[0].id); } } } catch(e){ + console.log(e); if(socket) { socket.emit("np", {}); } else { @@ -459,6 +465,19 @@ function send_play(coll, socket) }); } +function sendColor(coll, socket, id) { + var url = 'https://img.youtube.com/vi/'+id+'/mqdefault.jpg'; + Jimp.read(url).then(function (image) { + + var c = ColorThief.getColor(image); + if(socket) { + socket.emit("color", {color: c}); + } else { + io.to(coll).emit("color", {color: c}); + } + }); +} + function getNextSong(coll) { db.collection(coll).aggregate([{ $match:{ @@ -518,6 +537,7 @@ function left_channel(coll, guid, short_id, in_list, socket, change) Functions.remove_unique_id(short_id); } +module.exports.sendColor = sendColor; module.exports.now_playing = now_playing; module.exports.list = list; module.exports.skip = skip; diff --git a/server/public/assets/js/channel.js b/server/public/assets/js/channel.js index 493a832c..91cb15de 100644 --- a/server/public/assets/js/channel.js +++ b/server/public/assets/js/channel.js @@ -540,6 +540,7 @@ var Channel = { socket.removeEventListener("channel"); //socket.removeEventListener(id); } + socket.removeEventListener("color"); document.getElementById("volume-button").removeEventListener("click", Playercontrols.mute_video); document.getElementById("playpause").removeEventListener("click", Playercontrols.play_pause); document.getElementById("fullscreen").removeEventListener("click", Playercontrols.fullscreen); diff --git a/server/public/assets/js/functions.js b/server/public/assets/js/functions.js index 49983899..d2c4dce9 100644 --- a/server/public/assets/js/functions.js +++ b/server/public/assets/js/functions.js @@ -191,6 +191,7 @@ function setup_chat_listener(){ function setup_list_listener(){ socket.on("channel", List.channel_function); + socket.on("color", Player.setBGimage); } function setup_playlist_listener(){ diff --git a/server/public/assets/js/player.js b/server/public/assets/js/player.js index 8b282cd5..c44f803f 100755 --- a/server/public/assets/js/player.js +++ b/server/public/assets/js/player.js @@ -37,7 +37,9 @@ var Player = { Helper.log("mobile_beginning variable: " + mobile_beginning); try{ Helper.log("getVideoUrl(): " + Player.player.getVideoUrl().split('v=')[1]); - } catch(e){} + } catch(e){ + + } Helper.log("video_id variable: " + video_id); Helper.log("---------------------------------"); @@ -56,7 +58,9 @@ var Player = { if(!chromecastAvailable) { Player.stopVideo(); } - }catch(e){} + }catch(e){ + + } //List.importOldList(channel.toLowerCase()); } else if(paused){ @@ -87,7 +91,7 @@ var Player = { seekTo = (time - conf.startTime) + Player.np.start; song_title = obj.np[0].title; duration = obj.np[0].duration; - Player.setBGimage(video_id); + //Player.setBGimage(video_id); } else if(!paused){ //Helper.log("gotten new song"); if(previous_video_id === undefined) { @@ -127,7 +131,7 @@ var Player = { }catch(e){} Player.getTitle(song_title, viewers); - Player.setBGimage(video_id); + //Player.setBGimage(video_id); //if(player_ready && !Helper.mobilecheck()) if(player_ready && !window.MSStream) { try { @@ -324,6 +328,9 @@ var Player = { window.player = Player.player; Player.player.loadVideoById({'videoId': id, 'startSeconds': s, 'endSeconds': e}); } + if(offline) { + socket.emit("color", {id: id}); + } }, stopVideo: function(){ @@ -366,7 +373,7 @@ var Player = { }; Player.getTitle(song_title, viewers); - Player.setBGimage(video_id); + //Player.setBGimage(video_id); if(chromecastAvailable){ castSession.sendMessage("urn:x-cast:zoff.me", {type: "loadVideo", videoId: video_id, channel: chan.toLowerCase(), start: start, end:end}); chrome.cast.media.GenericMediaMetadata({metadataType: "GENERIC", title:song_title, image: 'https://img.youtube.com/vi/'+video_id+'/mqdefault.jpg'}); @@ -402,7 +409,7 @@ var Player = { }; Player.getTitle(song_title, viewers); - Player.setBGimage(video_id); + //Player.setBGimage(video_id); if(chromecastAvailable){ castSession.sendMessage("urn:x-cast:zoff.me", {type: "loadVideo", videoId: video_id, channel: chan.toLowerCase(), start: start, end: end}); @@ -517,32 +524,19 @@ var Player = { }, readyLooks: function() { - Player.setBGimage(video_id); + //Player.setBGimage(video_id); }, - setBGimage: function(id){ - if(id !== undefined && !embed) - { - var img = new Image(); - img.onload = function () - { - - var colorThief = new ColorThief(); - var color = colorThief.getColor(img); - - if(window.location.pathname != "/") { - document.getElementById("main-container").style.backgroundColor = Helper.rgbToHsl(color,true); - $("meta[name=theme-color]").attr("content", Helper.rgbToHex(color[0], color[1], color[2])); - var new_color = Helper.rgbToHex(color[0], color[1], color[2]); - new_color = Helper.hexToComplimentary(new_color); - new_color = Helper.hexToRgb(new_color); - new_color = Helper.rgbToHsl([new_color.r, new_color.g, new_color.b], true); - $("#controls").css("background", new_color); - } - }; - - img.crossOrigin = 'Anonymous'; - img.src = 'https://zoff.me:8081/https://img.youtube.com/vi/'+id+'/mqdefault.jpg'; + setBGimage: function(c){ + var color = c.color; + if(window.location.pathname != "/") { + document.getElementById("main-container").style.backgroundColor = Helper.rgbToHsl(color,true); + $("meta[name=theme-color]").attr("content", Helper.rgbToHex(color[0], color[1], color[2])); + var new_color = Helper.rgbToHex(color[0], color[1], color[2]); + new_color = Helper.hexToComplimentary(new_color); + new_color = Helper.hexToRgb(new_color); + new_color = Helper.rgbToHsl([new_color.r, new_color.g, new_color.b], true); + $("#controls").css("background", new_color); } },