Moved api-keys out of 'sight', and added analytics as optional

This commit is contained in:
Kasper Rynning-Tønnesen
2018-02-26 12:35:11 +01:00
parent 78adcf1caf
commit 973a4f6fa9
9 changed files with 29 additions and 13 deletions

1
.gitignore vendored
View File

@@ -4,6 +4,7 @@ server/config/api_key.js
server/config/mongo_config.js server/config/mongo_config.js
server/config/cert_config.js server/config/cert_config.js
server/config/recaptcha.js server/config/recaptcha.js
server/config/analytics.js
server/public/assets/dist/callback.min.js server/public/assets/dist/callback.min.js
server/public/assets/dist/embed.min.js server/public/assets/dist/embed.min.js
server/public/assets/dist/main.min.js server/public/assets/dist/main.min.js

View File

@@ -24,6 +24,8 @@ mongo_config.js
in ```/server/config```. There are ```*.example.js``` files for all the ones mentioned above. If you're going to deploy the server with a certificate, you also need to create the ```cert_config.js``` in ```/server/config/```. If you want the mailing to work, take a look at ```mailconfig.example.js``` and ```recaptcha.example.js```. You'll need ```mailconfig.js``` and ```recaptcha.js``` for this to work. in ```/server/config```. There are ```*.example.js``` files for all the ones mentioned above. If you're going to deploy the server with a certificate, you also need to create the ```cert_config.js``` in ```/server/config/```. If you want the mailing to work, take a look at ```mailconfig.example.js``` and ```recaptcha.example.js```. You'll need ```mailconfig.js``` and ```recaptcha.js``` for this to work.
If you want to use Google Analytics, have a look at ```analytics.example.js``` in ```server/config/```.
Use ```$ npm start``` to start the server. Use ```$ npm start``` to start the server.
### About ### About

View File

@@ -4,7 +4,7 @@ var gulp = require('gulp'),
concat = require('gulp-concat'); concat = require('gulp-concat');
gulp.task('js', function () { gulp.task('js', function () {
gulp.src(['server/VERSION.js', 'server/public/assets/js/*.js', '!server/public/assets/js/embed*', '!server/public/assets/js/remotecontroller.js', '!server/public/assets/js/callback.js']) gulp.src(['server/VERSION.js', 'server/config/api_key.js', 'server/public/assets/js/*.js', '!server/public/assets/js/embed*', '!server/public/assets/js/remotecontroller.js', '!server/public/assets/js/callback.js'])
.pipe(uglify({ .pipe(uglify({
mangle: true, mangle: true,
compress: true, compress: true,
@@ -15,7 +15,7 @@ gulp.task('js', function () {
}); });
gulp.task('embed', function () { gulp.task('embed', function () {
gulp.src(['server/VERSION.js', 'server/public/assets/js/player.js', 'server/public/assets/js/helpers.js', 'server/public/assets/js/playercontrols.js', 'server/public/assets/js/list.js', 'server/public/assets/js/embed.js', '!server/public/assets/js/frontpage*', '!server/public/assets/js/remotecontroller.js', 'server/public/assets/js/hostcontroller.js']) gulp.src(['server/VERSION.js', 'server/config/api_key.js', 'server/public/assets/js/player.js', 'server/public/assets/js/helpers.js', 'server/public/assets/js/playercontrols.js', 'server/public/assets/js/list.js', 'server/public/assets/js/embed.js', '!server/public/assets/js/frontpage*', '!server/public/assets/js/remotecontroller.js', 'server/public/assets/js/hostcontroller.js'])
.pipe(uglify({ .pipe(uglify({
mangle: true, mangle: true,
compress: true, compress: true,
@@ -26,7 +26,7 @@ gulp.task('embed', function () {
}); });
gulp.task('callback', function () { gulp.task('callback', function () {
gulp.src(['server/VERSION.js', 'server/public/assets/js/callback.js']) gulp.src(['server/VERSION.js', 'server/config/api_key.js', 'server/public/assets/js/callback.js'])
.pipe(uglify({ .pipe(uglify({
mangle: true, mangle: true,
compress: true, compress: true,
@@ -41,7 +41,7 @@ gulp.task('build', function() {
}) })
gulp.task('remotecontroller', function () { gulp.task('remotecontroller', function () {
gulp.src(['server/VERSION.js', 'server/public/assets/js/remotecontroller.js']) gulp.src(['server/VERSION.js', 'server/config/api_key.js', 'server/public/assets/js/remotecontroller.js'])
.pipe(uglify({ .pipe(uglify({
mangle: true, mangle: true,
compress: true, compress: true,

View File

@@ -0,0 +1,3 @@
var analytics = "xxxx";
module.exports = analytics;

View File

@@ -1,3 +1,5 @@
var key = "xxxx"; var api_key = "xxxx";
module.exports = key; try {
module.exports = api_key;
} catch(e) {}

View File

@@ -3,7 +3,6 @@ var w_p = true;
var hasadmin = 0; var hasadmin = 0;
var list_html = $("#list-song-html").html(); var list_html = $("#list-song-html").html();
var unseen = false; var unseen = false;
var api_key = "***REMOVED***";
var searching = false; var searching = false;
var time_regex = /P((([0-9]*\.?[0-9]*)Y)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)W)?(([0-9]*\.?[0-9]*)D)?)?(T(([0-9]*\.?[0-9]*)H)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)S)?)?/; var time_regex = /P((([0-9]*\.?[0-9]*)Y)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)W)?(([0-9]*\.?[0-9]*)D)?)?(T(([0-9]*\.?[0-9]*)H)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)S)?)?/;
var conf = []; var conf = [];

View File

@@ -38,7 +38,7 @@ var Search = {
if(search_input !== ""){ if(search_input !== ""){
searching = true; searching = true;
var keyword= encodeURIComponent(search_input); var keyword= encodeURIComponent(search_input);
var yt_url = "https://www.googleapis.com/youtube/v3/search?key="+api_key+"&videoEmbeddable=true&part=id&type=video&order=viewCount&safeSearch=none&maxResults=25"; var yt_url = "https://www.googleapis.com/youtube/v3/search?key="+api_key+"&videoEmbeddable=true&part=id&type=video&order=relevance&safeSearch=none&maxResults=25";
yt_url+="&q="+keyword; yt_url+="&q="+keyword;
if(music)yt_url+="&videoCategoryId=10"; if(music)yt_url+="&videoCategoryId=10";
if(pagination) yt_url += "&pageToken=" + pagination; if(pagination) yt_url += "&pageToken=" + pagination;

View File

@@ -40,7 +40,7 @@
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '***REMOVED***', 'auto'); ga('create', '{{{ analytics }}}', 'auto');
} }
</script> </script>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script> <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>

View File

@@ -3,7 +3,12 @@ var router = express.Router();
var path = require('path'); var path = require('path');
var year = new Date().getYear()+1900; var year = new Date().getYear()+1900;
var path = require('path'); var path = require('path');
var analytics = "xx";
try {
analytics = require(path.join(path.join(__dirname, '../../config/'), 'analytics.js'));
} catch(e) {
console.log("No analytics-id found");
}
try { try {
var Recaptcha = require('express-recaptcha'); var Recaptcha = require('express-recaptcha');
var recaptcha_config = require(path.join(path.join(__dirname, '../../config/'), 'recaptcha.js')); var recaptcha_config = require(path.join(path.join(__dirname, '../../config/'), 'recaptcha.js'));
@@ -52,7 +57,8 @@ function root(req, res, next) {
var data = { var data = {
year: year, year: year,
javascript_file: "remote.min.js", javascript_file: "remote.min.js",
captcha: res.recaptcha captcha: res.recaptcha,
analytics: analytics
} }
res.render('layouts/client/remote', data); res.render('layouts/client/remote', data);
} else if(subdomain[0] == "www") { } else if(subdomain[0] == "www") {
@@ -61,7 +67,8 @@ function root(req, res, next) {
var data = { var data = {
year: year, year: year,
javascript_file: "main.min.js", javascript_file: "main.min.js",
captcha: res.recaptcha captcha: res.recaptcha,
analytics: analytics
} }
res.render('layouts/client/frontpage', data); res.render('layouts/client/frontpage', data);
} }
@@ -83,7 +90,8 @@ function channel(req, res, next) {
var data = { var data = {
year: year, year: year,
javascript_file: "remote.min.js", javascript_file: "remote.min.js",
captcha: res.recaptcha captcha: res.recaptcha,
analytics: analytics
} }
res.render('layouts/client/remote', data); res.render('layouts/client/remote', data);
} else if(subdomain.length >= 2 && subdomain[0] == "www") { } else if(subdomain.length >= 2 && subdomain[0] == "www") {
@@ -100,6 +108,7 @@ function channel(req, res, next) {
year: year, year: year,
javascript_file: "main.min.js", javascript_file: "main.min.js",
captcha: res.recaptcha, captcha: res.recaptcha,
analytics: analytics
} }