mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
176 lines
4.4 KiB
JavaScript
Executable File
176 lines
4.4 KiB
JavaScript
Executable File
var Crypt = {
|
|
|
|
conf_pass: undefined,
|
|
|
|
init: function(){
|
|
|
|
document.cookie = chan.toLowerCase() + '=; path=/' + chan.toLowerCase() + '; expires=' + new Date(0).toUTCString();
|
|
|
|
try{
|
|
conf_arr = Crypt.decrypt(Crypt.getCookie("_opt"), "_opt");
|
|
}catch(err){
|
|
conf_arr = Crypt.decrypt(Crypt.create_cookie("_opt"), "_opt");
|
|
}
|
|
try{
|
|
Crypt.conf_pass = Crypt.decrypt(Crypt.getCookie(chan.toLowerCase()), chan.toLowerCase());
|
|
}catch(err){
|
|
Crypt.conf_pass = Crypt.decrypt(Crypt.create_cookie(chan.toLowerCase()), chan.toLowerCase());
|
|
}
|
|
Hostcontroller.change_enabled(conf_arr.remote);
|
|
if(conf_arr.width != 100) Player.set_width(conf_arr.width);
|
|
if(conf_arr.name !== undefined && conf_arr.name !== "") Chat.namechange(conf_arr.name);
|
|
},
|
|
|
|
decrypt: function(cookie, name){
|
|
if(Crypt.getCookie(name) === undefined) {
|
|
cookie = Crypt.create_cookie(name);
|
|
}
|
|
|
|
var decrypted = CryptoJS.AES.decrypt(
|
|
cookie,"0103060703080703080701",
|
|
{
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
}
|
|
);
|
|
|
|
return $.parseJSON(decrypted.toString(CryptoJS.enc.Utf8));
|
|
},
|
|
|
|
decrypt_pass: function(pass){
|
|
var decrypted = CryptoJS.AES.decrypt(
|
|
pass,socket.id,
|
|
{
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
}
|
|
);
|
|
|
|
return decrypted.toString(CryptoJS.enc.Utf8);
|
|
},
|
|
|
|
encrypt: function(json_formated, cookie){
|
|
var to_encrypt = JSON.stringify(json_formated);
|
|
|
|
var encrypted = CryptoJS.AES.encrypt(
|
|
to_encrypt,
|
|
"0103060703080703080701",
|
|
{
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
}
|
|
);
|
|
|
|
var CookieDate = new Date();
|
|
CookieDate.setFullYear(CookieDate.getFullYear( ) +1);
|
|
document.cookie = cookie+"="+encrypted.toString()+";expires="+CookieDate.toGMTString()+";path=/;";
|
|
},
|
|
|
|
encrypt_string: function(string){
|
|
var encrypted = CryptoJS.AES.encrypt(
|
|
string,
|
|
socket.id,
|
|
{
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
}
|
|
);
|
|
return encrypted.toString();
|
|
},
|
|
|
|
get_volume: function(){
|
|
return Crypt.decrypt(Crypt.getCookie("_opt"), "_opt").volume;
|
|
//return conf_arr.volume;
|
|
},
|
|
|
|
set_volume: function(val){
|
|
conf_arr.volume = val;
|
|
Crypt.encrypt(conf_arr, "_opt");
|
|
},
|
|
|
|
create_cookie: function(name){
|
|
if(name == "_opt") cookie_object = {volume: 100, width: 100, remote: true, name: ""};
|
|
else cookie_object = {passwords: {}};
|
|
|
|
var string_it = JSON.stringify(cookie_object);
|
|
|
|
var encrypted = CryptoJS.AES.encrypt(
|
|
string_it,
|
|
"0103060703080703080701",
|
|
{
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
}
|
|
);
|
|
|
|
var CookieDate = new Date();
|
|
CookieDate.setFullYear(CookieDate.getFullYear( ) +1);
|
|
|
|
document.cookie = name+"="+encrypted.toString()+";expires="+CookieDate.toGMTString()+";path=/;";
|
|
//document.cookie = name+"="+encrypted.toString()+";expires="+CookieDate.toGMTString()+";path=/;"
|
|
//document.cookie = na"="+encrypted.toString()+";expires="+CookieDate.toGMTString()+";path=/;"
|
|
return Crypt.getCookie(name);
|
|
},
|
|
|
|
set_pass: function(chan, pass){
|
|
Crypt.conf_pass.passwords[chan] = pass;
|
|
Crypt.encrypt(Crypt.conf_pass, chan);
|
|
},
|
|
|
|
remove_pass:function(chan){
|
|
delete Crypt.conf_pass.passwords[chan];
|
|
Crypt.encrypt(Crypt.conf_pass, chan.toLowerCase());
|
|
},
|
|
|
|
set_name:function(name){
|
|
conf_arr.name = encodeURIComponent(name).replace(/\W/g, '');
|
|
Crypt.encrypt(conf_arr, "_opt");
|
|
},
|
|
|
|
remove_name:function(){
|
|
conf_arr.name = "";
|
|
Crypt.encrypt(conf_arr, "_opt");
|
|
},
|
|
|
|
get_pass: function(chan){
|
|
if(Crypt.conf_pass !== undefined) return Crypt.conf_pass.passwords[chan];
|
|
return undefined;
|
|
},
|
|
|
|
set_remote: function(val){
|
|
conf_arr.remote = val;
|
|
Crypt.encrypt(conf_arr, "_opt");
|
|
},
|
|
|
|
get_remote: function(val){
|
|
return conf_arr.remote;
|
|
},
|
|
|
|
crypt_pass: function(pass){
|
|
var encrypted = CryptoJS.AES.encrypt(
|
|
pass,
|
|
socket.id,
|
|
{
|
|
mode: CryptoJS.mode.CBC,
|
|
padding: CryptoJS.pad.Pkcs7
|
|
}
|
|
);
|
|
return encrypted.toString();
|
|
},
|
|
|
|
get_width: function(){
|
|
return conf_arr.width;
|
|
},
|
|
|
|
set_width: function(val){
|
|
conf_arr.width = val;
|
|
Crypt.encrypt(conf_arr, "_opt");
|
|
},
|
|
|
|
getCookie: function(name) {
|
|
var value = "; " + document.cookie;
|
|
var parts = value.split("; " + name + "=");
|
|
if (parts.length == 2) return parts.pop().split(";").shift();
|
|
}
|
|
};
|