Updating channel to fetch prettier

This commit is contained in:
Kasper Rynning-Tønnesen
2018-03-12 19:17:01 +01:00
parent 1d7331cb86
commit 3f0f8eb5d9
14 changed files with 196 additions and 57 deletions

View File

@@ -105,7 +105,7 @@ Get song in channel (protected)
POST /api/list/:channel_name/:video_id POST /api/list/:channel_name/:video_id
{ {
"fetch_song": ANYTHING_HERE, "fetch_song": ANYTHING_HERE,
"userpass": SHA256(USERPASS) "userpass": USERPASS
} }
Returns 400 for bad request Returns 400 for bad request
@@ -128,7 +128,7 @@ Get list (protected)
// Important fetch_song is present, or else the request will try to add a song to the channel // Important fetch_song is present, or else the request will try to add a song to the channel
POST /api/list/:channel_name/ POST /api/list/:channel_name/
{ {
"userpass": SHA256(USERPASS) "userpass": USERPASS
} }
Returns 400 for bad request Returns 400 for bad request
@@ -150,7 +150,7 @@ Get channelsettings (protected)
``` ```
POST /api/conf/:channel_name/ POST /api/conf/:channel_name/
{ {
"userpass": SHA256(USERPASS) "userpass": USERPASS
} }
Returns 400 for bad request Returns 400 for bad request
@@ -173,7 +173,7 @@ Get now playing song (protected)
``` ```
POST /api/list/:channel_name/__np__ POST /api/list/:channel_name/__np__
{ {
"userpass": SHA256(USERPASS) "userpass": USERPASS
} }
Returns 400 for bad request Returns 400 for bad request

View File

@@ -13,7 +13,7 @@ function get_history(channel, all, socket, pass) {
if(!query.all) { if(!query.all) {
db.collection(channel + "_settings").find({id: "config"}, function(err, conf) { db.collection(channel + "_settings").find({id: "config"}, function(err, conf) {
if(conf.length > 0) { if(conf.length > 0) {
if(conf[0].userpass == "" || conf[0].userpass == Functions.decrypt_string(socket.zoff_id, pass)) { if(conf[0].userpass == "" || conf[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socket.zoff_id, pass)).digest('base64')) {
getAndSendLogs(channel, all, socket, pass, query); getAndSendLogs(channel, all, socket, pass, query);
} }
} }
@@ -62,7 +62,7 @@ function chat(msg, guid, offline, socket) {
} }
var coll = msg.channel.toLowerCase(); var coll = msg.channel.toLowerCase();
db.collection(coll + "_settings").find(function(err, docs){ db.collection(coll + "_settings").find(function(err, docs){
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socket.zoff_id, msg.pass)))) { if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socket.zoff_id, msg.pass)).digest("base64")))) {
var data = msg.data; var data = msg.data;
Functions.check_inlist(coll, guid, socket, offline); Functions.check_inlist(coll, guid, socket, offline);
if(data !== "" && data !== undefined && data !== null && if(data !== "" && data !== undefined && data !== null &&

View File

@@ -423,7 +423,7 @@ module.exports = function() {
} }
db.collection(coll + "_settings").find(function(err, docs) { db.collection(coll + "_settings").find(function(err, docs) {
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (obj.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socketid, obj.pass)))) { if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (obj.hasOwnProperty('pass') && docs[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socketid, obj.pass)).digest("base64")))) {
Functions.check_inlist(coll, guid, socket, offline); Functions.check_inlist(coll, guid, socket, offline);
List.send_play(coll, socket); List.send_play(coll, socket);
} else { } else {

View File

@@ -43,7 +43,7 @@ function list(msg, guid, coll, offline, socket) {
return; return;
} }
coll = msg.channel.toLowerCase(); coll = msg.channel.toLowerCase();
var pass = Functions.decrypt_string(socketid, msg.pass); var pass = crypto.createHash('sha256').update(Functions.decrypt_string(socketid, msg.pass)).digest("base64");
db.collection('frontpage_lists').find({"_id": coll}, function(err, frontpage_lists){ db.collection('frontpage_lists').find({"_id": coll}, function(err, frontpage_lists){
if(frontpage_lists.length == 1) if(frontpage_lists.length == 1)
{ {
@@ -135,7 +135,7 @@ function skip(list, guid, coll, offline, socket) {
return; return;
} }
db.collection(coll + "_settings").find(function(err, docs){ db.collection(coll + "_settings").find(function(err, docs){
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (list.hasOwnProperty('userpass') && docs[0].userpass == Functions.decrypt_string(socketid, list.userpass)))) { if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (list.hasOwnProperty('userpass') && docs[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socketid, list.userpass)).digest("base64")))) {
Functions.check_inlist(coll, guid, socket, offline); Functions.check_inlist(coll, guid, socket, offline);
@@ -502,7 +502,7 @@ function end(obj, coll, guid, offline, socket) {
} }
db.collection(coll + "_settings").find(function(err, docs){ db.collection(coll + "_settings").find(function(err, docs){
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (obj.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socketid, obj.pass)))) { if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (obj.hasOwnProperty('pass') && docs[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socketid, obj.pass)).digest("base64")))) {
Functions.check_inlist(coll, guid, socket, offline); Functions.check_inlist(coll, guid, socket, offline);
db.collection(coll).find({now_playing:true}, function(err, np){ db.collection(coll).find({now_playing:true}, function(err, np){

View File

@@ -92,7 +92,7 @@ function add_function(arr, coll, guid, offline, socket) {
} }
db.collection(coll + "_settings").find(function(err, docs){ db.collection(coll + "_settings").find(function(err, docs){
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (arr.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socketid, arr.pass)))) { if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (arr.hasOwnProperty('pass') && docs[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socketid, arr.pass)).digest("base64")))) {
Functions.check_inlist(coll, guid, socket, offline); Functions.check_inlist(coll, guid, socket, offline);
@@ -280,7 +280,7 @@ function voteUndecided(msg, coll, guid, offline, socket) {
coll = msg.channel.toLowerCase();; coll = msg.channel.toLowerCase();;
db.collection(coll + "_settings").find({id: "config"}, function(err, docs){ db.collection(coll + "_settings").find({id: "config"}, function(err, docs){
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socketid, msg.pass)))) { if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socketid, msg.pass)).digest("base64")))) {
Functions.check_inlist(coll, guid, socket, offline); Functions.check_inlist(coll, guid, socket, offline);
@@ -364,7 +364,7 @@ function shuffle(msg, coll, guid, offline, socket) {
if(msg.adminpass === "") hash = msg.adminpass; if(msg.adminpass === "") hash = msg.adminpass;
else hash = Functions.hash_pass(Functions.decrypt_string(socketid, msg.adminpass)); else hash = Functions.hash_pass(Functions.decrypt_string(socketid, msg.adminpass));
db.collection(coll + "_settings").find(function(err, docs){ db.collection(coll + "_settings").find(function(err, docs){
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socketid, msg.pass)))) { if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socketid, msg.pass)).digest("base64")))) {
if(docs !== null && docs.length !== 0 && ((docs[0].adminpass == hash || docs[0].adminpass === "") || docs[0].shuffle === false)) if(docs !== null && docs.length !== 0 && ((docs[0].adminpass == hash || docs[0].adminpass === "") || docs[0].shuffle === false))
{ {
db.collection(coll).find({now_playing:false}).forEach(function(err, docs){ db.collection(coll).find({now_playing:false}).forEach(function(err, docs){
@@ -449,7 +449,7 @@ function delete_all(msg, coll, guid, offline, socket) {
} }
var hash = Functions.hash_pass(Functions.decrypt_string(socketid, msg.adminpass)); var hash = Functions.hash_pass(Functions.decrypt_string(socketid, msg.adminpass));
var hash_userpass = Functions.decrypt_string(socketid, msg.pass); var hash_userpass = crypto.createHash('sha256').update(Functions.decrypt_string(socketid, msg.pass)).digest("base64");
db.collection(coll + "_settings").find(function(err, conf) { db.collection(coll + "_settings").find(function(err, conf) {
if(conf.length == 1 && conf) { if(conf.length == 1 && conf) {
conf = conf[0]; conf = conf[0];

View File

@@ -167,6 +167,9 @@ function conf_function(params, coll, guid, offline, socket) {
} else { } else {
hash = adminpass; hash = adminpass;
} }
if(userpass != "") {
userpass = crypto.createHash('sha256').update(userpass).digest("base64");
}
db.collection(coll + "_settings").find({id: "config"}, function(err, docs){ db.collection(coll + "_settings").find({id: "config"}, function(err, docs){
if(docs !== null && docs.length !== 0 && (docs[0].adminpass === "" || docs[0].adminpass == hash)) { if(docs !== null && docs.length !== 0 && (docs[0].adminpass === "" || docs[0].adminpass == hash)) {
var obj = { var obj = {

View File

@@ -28,7 +28,7 @@ function thumbnail(msg, coll, guid, offline, socket) {
var channel = msg.channel.toLowerCase(); var channel = msg.channel.toLowerCase();
var hash = Functions.hash_pass(Functions.decrypt_string(socket.zoff_id, msg.adminpass)); var hash = Functions.hash_pass(Functions.decrypt_string(socket.zoff_id, msg.adminpass));
db.collection(channel + "_settings").find({id: "config"}, function(err, docs){ db.collection(channel + "_settings").find({id: "config"}, function(err, docs){
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socketid, msg.pass)))) { if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socketid, msg.pass)).digest("base64")))) {
if(docs !== null && docs.length !== 0 && docs[0].adminpass !== "" && docs[0].adminpass == hash){ if(docs !== null && docs.length !== 0 && docs[0].adminpass !== "" && docs[0].adminpass == hash){
db.collection("suggested_thumbnails").update({channel: channel}, {$set:{thumbnail: msg.thumbnail}}, {upsert:true}, function(err, docs){ db.collection("suggested_thumbnails").update({channel: channel}, {$set:{thumbnail: msg.thumbnail}}, {upsert:true}, function(err, docs){
Notifications.requested_change("thumbnail", msg.thumbnail, channel); Notifications.requested_change("thumbnail", msg.thumbnail, channel);
@@ -72,7 +72,7 @@ function description(msg, coll, guid, offline, socket) {
var channel = msg.channel.toLowerCase(); var channel = msg.channel.toLowerCase();
var hash = Functions.hash_pass(Functions.decrypt_string(socket.zoff_id, msg.adminpass)); var hash = Functions.hash_pass(Functions.decrypt_string(socket.zoff_id, msg.adminpass));
db.collection(channel + "_settings").find({id: "config"}, function(err, docs){ db.collection(channel + "_settings").find({id: "config"}, function(err, docs){
if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == Functions.decrypt_string(socketid, msg.pass)))) { if(docs.length > 0 && (docs[0].userpass == undefined || docs[0].userpass == "" || (msg.hasOwnProperty('pass') && docs[0].userpass == crypto.createHash('sha256').update(Functions.decrypt_string(socketid, msg.pass)).digest("base64")))) {
if(docs !== null && docs.length !== 0 && docs[0].adminpass !== "" && docs[0].adminpass == hash){ if(docs !== null && docs.length !== 0 && docs[0].adminpass !== "" && docs[0].adminpass == hash){
db.collection("suggested_descriptions").update({channel: channel}, {$set:{description: msg.description}}, {upsert:true}, function(err, docs){ db.collection("suggested_descriptions").update({channel: channel}, {$set:{description: msg.description}}, {upsert:true}, function(err, docs){
Notifications.requested_change("description", msg.description, channel); Notifications.requested_change("description", msg.description, channel);

View File

@@ -202,7 +202,7 @@ var Admin = {
removeplay = form.removeplay.checked; removeplay = form.removeplay.checked;
skipping = form.skip.checked; skipping = form.skip.checked;
shuffling = form.shuffle.checked; shuffling = form.shuffle.checked;
var pass_send = userpass == '' ? userpass : CryptoJS.SHA256(userpass).toString(); var pass_send = userpass_changed && !form.userpass.checked ? "" : userpass;
configs = { configs = {
channel: chan.toLowerCase(), channel: chan.toLowerCase(),
voting: voting, voting: voting,
@@ -218,7 +218,7 @@ var Admin = {
userpass_changed: userpass_changed userpass_changed: userpass_changed
}; };
if(userpass_changed){ if(userpass_changed){
Crypt.set_userpass(chan.toLowerCase(), CryptoJS.SHA256(userpass).toString()); Crypt.set_userpass(chan.toLowerCase(), userpass);
} }
emit("conf", configs); emit("conf", configs);
}, },

View File

@@ -243,36 +243,11 @@ var Channel = {
if(!client) { if(!client) {
setup_chat_listener(); setup_chat_listener();
get_history(); get_history();
//console.log(Crypt.get_userpass(chan.toLowerCase())); }
} else { if(client || Helper.mobilecheck()){
var c = Crypt.get_userpass(chan.toLowerCase()); get_list_ajax();
if(c == "" || c == undefined) { get_np_ajax();
c = "";
}
$.ajax({
type: "POST",
data: {
userpass: c,
},
url: "/api/list/" + chan.toLowerCase(),
success: function(response) {
if(response.results.length > 0) {
$("#channel-load").remove();
if(response.status == 403) {
start_auth();
}
$("#channel-load").remove();
List.populate_list(response.results);
}
},
error: function(response) {
if(response.responseJSON.status == 403) {
start_auth();
}
$("#channel-load").remove();
//List.populate_list(response.responseJSON.results);
}
});
} }
if(!Helper.msieversion() && !Helper.mobilecheck() && !client) Notification.requestPermission(); if(!Helper.msieversion() && !Helper.mobilecheck() && !client) Notification.requestPermission();

View File

@@ -160,6 +160,150 @@ function emit_list() {
} }
} }
function get_list_ajax() {
var c = Crypt.get_userpass(chan.toLowerCase());
if(c == "" || c == undefined) {
c = "";
}
$.ajax({
type: "POST",
data: {
userpass: c,
},
url: "/api/list/" + chan.toLowerCase(),
success: function(response) {
if(response.results.length > 0) {
$("#channel-load").remove();
if(response.status == 403) {
start_auth();
}
$("#channel-load").remove();
List.populate_list(response.results);
}
},
error: function(response) {
if(response.responseJSON.status == 403) {
start_auth();
} else if(response.responseJSON.status == 429) {
setTimeout(function() {
get_list_ajax();
}, response.getResponseHeader("Retry-After") * 1000)
}
$("#channel-load").remove();
//List.populate_list(response.responseJSON.results);
}
});
}
function get_np_ajax() {
var c = Crypt.get_userpass(chan.toLowerCase());
$.ajax({
type: "POST",
data: {
userpass: c,
fetch_song: true
},
url: "/api/list/" + chan.toLowerCase() + "/__np__",
success: function(response) {
Player.getTitle(response.results[0].title, 1);
},
error: function(response) {
if(response.responseJSON.status == 403) {
start_auth();
} else if(response.responseJSON.status == 429) {
setTimeout(function() {
get_np_ajax();
}, response.getResponseHeader("Retry-After") * 1000)
}
}
})
}
function del_ajax(id) {
var a = Crypt.get_pass(chan.toLowerCase());
var u = Crypt.get_userpass(chan.toLowerCase());
if(a == undefined) a = "";
if(u == undefined) u = "";
$.ajax({
type: "DELETE",
data: {
adminpass: a,
userpass: u
},
url: "/api/list/" + chan.toLowerCase() + "/" + id,
success: function(response) {
toast("deletesong");
},
error: function(response) {
if(response.responseJSON.status == 403) {
start_auth();
} else if(response.responseJSON.status == 429) {
setTimeout(function() {
vote_ajax(id);
}, response.getResponseHeader("Retry-After") * 1000);
}
}
})
}
function add_ajax(id, title, duration, playlist, num, full_num, start, end) {
var a = Crypt.get_pass(chan.toLowerCase());
var u = Crypt.get_userpass(chan.toLowerCase());
if(a == undefined) a = "";
if(u == undefined) u = "";
$.ajax({
type: "POST",
data: {
adminpass: a,
userpass: u,
title: title,
duration: duration,
end_time: end,
start_time: start,
},
url: "/api/list/" + chan.toLowerCase() + "/" + id,
success: function(response) {
toast("addedsong");
},
error: function(response) {
if(response.responseJSON.status == 409) {
vote_ajax(id);
} else if(response.responseJSON.status == 429) {
setTimeout(function() {
add_ajax(id, title, duration, playlist, num, full_num, start, end);
}, response.getResponseHeader("Retry-After") * 1000);
}
}
});
}
function vote_ajax(id) {
var a = Crypt.get_pass(chan.toLowerCase());
var u = Crypt.get_userpass(chan.toLowerCase());
if(a == undefined) a = "";
if(u == undefined) u = "";
$.ajax({
type: "PUT",
data: {
adminpass: a,
userpass: u
},
url: "/api/list/" + chan.toLowerCase() + "/" + id,
success: function(response) {
toast("voted");
},
error: function(response) {
if(response.responseJSON.status == 403) {
start_auth();
} else if(response.responseJSON.status == 429) {
setTimeout(function() {
vote_ajax(id);
}, response.getResponseHeader("Retry-After") * 1000);
}
}
})
}
function setup_auth_listener() { function setup_auth_listener() {
socket.on('auth_required', function() { socket.on('auth_required', function() {
start_auth(); start_auth();
@@ -288,6 +432,10 @@ function embed_code(autoplay, width, height, color, embed_code){
} }
function change_offline(enabled, already_offline){ function change_offline(enabled, already_offline){
if(client) {
offline = false;
return;
}
Crypt.set_offline(enabled); Crypt.set_offline(enabled);
offline = enabled; offline = enabled;
ga('send', 'event', "button-click", "offline", "", offline ? 1 : 0); ga('send', 'event', "button-click", "offline", "", offline ? 1 : 0);

View File

@@ -554,6 +554,14 @@ var List = {
}, },
vote: function(id, vote) { vote: function(id, vote) {
if(client && !socket.connected) {
if(vote != "del") {
vote_ajax(id);
} else {
del_ajax(id);
}
return;
}
if(!offline || (vote == "del" && (hasadmin && (!w_p && adminpass != "")))){ if(!offline || (vote == "del" && (hasadmin && (!w_p && adminpass != "")))){
emit('vote', {channel: chan, id: id, type: vote, adminpass: adminpass == "" ? "" : Crypt.crypt_pass(adminpass), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()), true)}); emit('vote', {channel: chan, id: id, type: vote, adminpass: adminpass == "" ? "" : Crypt.crypt_pass(adminpass), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()), true)});
} else { } else {

View File

@@ -572,7 +572,7 @@ $(document).on("change", ".password_protected", function(e) {
$(document).on("submit", "#user-password-channel-form", function(e) { $(document).on("submit", "#user-password-channel-form", function(e) {
e.preventDefault(); e.preventDefault();
if(user_auth_started) { if(user_auth_started) {
temp_user_pass = CryptoJS.SHA256($("#user-pass-input").val()).toString(); temp_user_pass = $("#user-pass-input").val();
$("#user-pass-input").val(""); $("#user-pass-input").val("");
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: chan.toLowerCase(), pass: Crypt.crypt_pass(temp_user_pass)}); socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: chan.toLowerCase(), pass: Crypt.crypt_pass(temp_user_pass)});
@@ -595,7 +595,7 @@ $(document).on("click", ".change_user_pass_btn", function(e) {
$(document).on("click", ".submit-user-password", function(e) { $(document).on("click", ".submit-user-password", function(e) {
e.preventDefault(); e.preventDefault();
if(user_auth_started) { if(user_auth_started) {
temp_user_pass = CryptoJS.SHA256($("#user-pass-input").val()).toString(); temp_user_pass = $("#user-pass-input").val();
$("#user-pass-input").val(""); $("#user-pass-input").val("");
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: chan.toLowerCase(), pass: Crypt.crypt_pass(temp_user_pass)}); socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: chan.toLowerCase(), pass: Crypt.crypt_pass(temp_user_pass)});
} else { } else {

View File

@@ -436,6 +436,10 @@ var Search = {
}, },
submit: function(id,title,duration, playlist, num, full_num, start, end){ submit: function(id,title,duration, playlist, num, full_num, start, end){
if(client && !socket.connected) {
add_ajax(id, title, duration, playlist, num, full_num, start, end);
return;
}
if(offline && document.getElementsByName("addsongs")[0].checked && document.getElementsByName("addsongs")[0].disabled){ if(offline && document.getElementsByName("addsongs")[0].checked && document.getElementsByName("addsongs")[0].disabled){
var found_array = []; var found_array = [];
found_array = $.map(full_playlist, function(obj, index) { found_array = $.map(full_playlist, function(obj, index) {

View File

@@ -142,7 +142,7 @@ router.route('/api/list/:channel_name/:video_id').delete(function(req, res) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]); var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
var adminpass = req.body.adminpass == "" ? "" : Functions.hash_pass(crypto.createHash('sha256').update(req.body.adminpass, 'utf8').digest("hex")); var adminpass = req.body.adminpass == "" ? "" : Functions.hash_pass(crypto.createHash('sha256').update(req.body.adminpass, 'utf8').digest("hex"));
req.body.userpass = req.body.userpass == "" ? "" : req.body.userpass; req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
var userpass = req.body.userpass; var userpass = req.body.userpass;
var channel_name = cleanChannelName(req.params.channel_name); var channel_name = cleanChannelName(req.params.channel_name);
var video_id = req.params.video_id; var video_id = req.params.video_id;
@@ -243,7 +243,7 @@ router.route('/api/conf/:channel_name').put(function(req, res) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]); var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
var adminpass = req.body.adminpass == "" ? "" : Functions.hash_pass(crypto.createHash('sha256').update(req.body.adminpass, 'utf8').digest("hex")); var adminpass = req.body.adminpass == "" ? "" : Functions.hash_pass(crypto.createHash('sha256').update(req.body.adminpass, 'utf8').digest("hex"));
req.body.userpass = req.body.userpass == "" ? "" : req.body.userpass; req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
var userpass = req.body.userpass; var userpass = req.body.userpass;
var voting = req.body.vote; var voting = req.body.vote;
var addsongs = req.body.addsongs; var addsongs = req.body.addsongs;
@@ -398,7 +398,7 @@ router.route('/api/list/:channel_name/:video_id').put(function(req,res) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]); var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
var adminpass = req.body.adminpass == "" ? "" : Functions.hash_pass(crypto.createHash('sha256').update(req.body.adminpass, 'utf8').digest("hex")); var adminpass = req.body.adminpass == "" ? "" : Functions.hash_pass(crypto.createHash('sha256').update(req.body.adminpass, 'utf8').digest("hex"));
req.body.userpass = req.body.userpass == "" ? "" : req.body.userpass; req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
var userpass = req.body.userpass; var userpass = req.body.userpass;
var channel_name = cleanChannelName(req.params.channel_name); var channel_name = cleanChannelName(req.params.channel_name);
var video_id = req.params.video_id; var video_id = req.params.video_id;
@@ -485,7 +485,7 @@ router.route('/api/list/:channel_name/__np__').post(function(req, res) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]); var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
var channel_name = req.params.channel_name; var channel_name = req.params.channel_name;
req.body.userpass = req.body.userpass == "" ? "" : req.body.userpass; req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
var userpass = req.body.userpass; var userpass = req.body.userpass;
var token = ""; var token = "";
if(req.body.hasOwnProperty("token")) { if(req.body.hasOwnProperty("token")) {
@@ -569,7 +569,7 @@ router.route('/api/list/:channel_name/:video_id').post(function(req,res) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]); var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
req.body.userpass = req.body.userpass == "" ? "" : req.body.userpass; req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
var userpass = req.body.userpass; var userpass = req.body.userpass;
var channel_name = cleanChannelName(req.params.channel_name); var channel_name = cleanChannelName(req.params.channel_name);
var video_id = req.params.video_id; var video_id = req.params.video_id;
@@ -817,7 +817,7 @@ router.route('/api/conf/:channel_name').post(function(req, res) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]); var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
var channel_name = req.params.channel_name; var channel_name = req.params.channel_name;
req.body.userpass = req.body.userpass == "" ? "" : req.body.userpass; req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
var userpass = req.body.userpass; var userpass = req.body.userpass;
if(typeof(userpass) != "string") { if(typeof(userpass) != "string") {
@@ -928,7 +928,7 @@ router.route('/api/list/:channel_name').post(function(req, res) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]); var guid = Functions.hash_pass(req.get('User-Agent') + ip + req.headers["accept-language"]);
var channel_name = req.params.channel_name; var channel_name = req.params.channel_name;
req.body.userpass = req.body.userpass == "" ? "" : req.body.userpass; req.body.userpass = req.body.userpass == "" ? "" : crypto.createHash('sha256').update(req.body.userpass, 'utf8').digest("base64");
var userpass = req.body.userpass; var userpass = req.body.userpass;
if(typeof(userpass) != "string") { if(typeof(userpass) != "string") {
@@ -944,6 +944,7 @@ router.route('/api/list/:channel_name').post(function(req, res) {
var to_send = error.formatting; var to_send = error.formatting;
to_send.results.push(result); to_send.results.push(result);
res.status(400).send(JSON.stringify(to_send)); res.status(400).send(JSON.stringify(to_send));
return; return;
} }