first commit
This commit is contained in:
100
js/cookie.js
Normal file
100
js/cookie.js
Normal file
@ -0,0 +1,100 @@
|
||||
// ty 3kh0 for the code <33333
|
||||
function getMainSave() {
|
||||
var mainSave = {};
|
||||
// List of items in localStorage that should not be saved
|
||||
var localStorageDontSave = ["supportalert"];
|
||||
|
||||
// Convert localStorage to an array of key-value pairs and remove the items that should not be saved
|
||||
localStorageSave = Object.entries(localStorage);
|
||||
|
||||
for (let entry in localStorageSave) {
|
||||
if (localStorageDontSave.includes(localStorageSave[entry][0])) {
|
||||
localStorageSave.splice(entry, 1);
|
||||
}
|
||||
}
|
||||
|
||||
// Convert the localStorage array to a base64-encoded JSON string
|
||||
localStorageSave = btoa(JSON.stringify(localStorageSave));
|
||||
|
||||
// Add the localStorage data to the mainSave object
|
||||
mainSave.localStorage = localStorageSave;
|
||||
|
||||
// Get the cookies data and add it to the mainSave object
|
||||
cookiesSave = document.cookie;
|
||||
cookiesSave = btoa(cookiesSave);
|
||||
mainSave.cookies = cookiesSave;
|
||||
|
||||
// Convert the mainSave object to a base64-encoded JSON string
|
||||
mainSave = btoa(JSON.stringify(mainSave));
|
||||
|
||||
// Encrypt the mainSave data using AES encryption with the key 'save'
|
||||
mainSave = CryptoJS.AES.encrypt(mainSave, "egamepass").toString();
|
||||
|
||||
// Return the encrypted mainSave data
|
||||
return mainSave;
|
||||
}
|
||||
|
||||
// Function to download the main save data as a file
|
||||
function downloadMainSave() {
|
||||
var data = new Blob([getMainSave()]);
|
||||
var dataURL = URL.createObjectURL(data);
|
||||
|
||||
var fakeElement = document.createElement("a");
|
||||
fakeElement.href = dataURL;
|
||||
fakeElement.download = "your.selenite.save";
|
||||
fakeElement.click();
|
||||
URL.revokeObjectURL(dataURL);
|
||||
}
|
||||
|
||||
// Function to get the main save data from an uploaded file
|
||||
function getMainSaveFromUpload(data, key) {
|
||||
if(key) {
|
||||
data = CryptoJS.AES.decrypt(data, key).toString(CryptoJS.enc.Utf8);
|
||||
} else {
|
||||
data = CryptoJS.AES.decrypt(data, "egamepass").toString(CryptoJS.enc.Utf8);
|
||||
}
|
||||
// Parse the decrypted data as JSON
|
||||
var mainSave = JSON.parse(atob(data));
|
||||
var mainLocalStorageSave = JSON.parse(atob(mainSave.localStorage));
|
||||
var cookiesSave = atob(mainSave.cookies);
|
||||
|
||||
// Set the items in localStorage using the uploaded data
|
||||
for (let item of mainLocalStorageSave) {
|
||||
localStorage.setItem(item[0], item[1]);
|
||||
}
|
||||
|
||||
// Set the cookies using the uploaded data
|
||||
document.cookie = cookiesSave;
|
||||
}
|
||||
|
||||
// Function to handle the file upload
|
||||
function uploadMainSave(key) {
|
||||
var hiddenUpload = document.querySelector(".hiddenUpload");
|
||||
hiddenUpload.click();
|
||||
|
||||
// Listen for the change event on the file input element
|
||||
hiddenUpload.addEventListener("change", function (e) {
|
||||
var files = e.target.files;
|
||||
var file = files[0];
|
||||
if (!file) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Read the contents of the uploaded file as text and call getMainSaveFromUpload with the result
|
||||
var reader = new FileReader();
|
||||
|
||||
reader.onload = function (e) {
|
||||
if(key) {
|
||||
getMainSaveFromUpload(e.target.result, key);
|
||||
} else {
|
||||
getMainSaveFromUpload(e.target.result);
|
||||
}
|
||||
$("#upload").text("Upload Successful!")
|
||||
setTimeout(function() {
|
||||
$("#upload").text("Upload Save")
|
||||
}, 3000)
|
||||
};
|
||||
|
||||
reader.readAsText(file);
|
||||
});
|
||||
}
|
Reference in New Issue
Block a user