Hi there friends! Login using your correct credentials! Username Password Login Create account instead (adsbygoogle = window.adsbygoogle || []).push({}); Logs will show here... let username = document.querySelector('#username'); let password = document.querySelector('#password'); let logs = document.querySelector('#logs'); if(checkCredentials()) window.location.href = 'https://storehaccounts.blogspot.com/p/battle-cats-gamer-community.html'; function readyLogin() { document.querySelector('#form').style.pointerEvents = 'none'; document.querySelector('#form').style.opacity = '0.7'; //GETsend('https://getpantry.cloud/apiv1/pantry/373f611c-a432-4bbf-8396-e16d280325e5/basket/users', logs, callback); getData('ptc_users', callback); } function callback(data) { if(data.members[username.value]) { if(data.members[username.value][3] == btoa(password.value)) { // correct credentials saving to localStorage logs.innerText = "Correct Credentials! Redirecting..."; storeCredentials(username.value, data.members[username.value][0], data.members[username.value][2], data.members[username.value][1]); // redirect to page now window.location.href = 'https://storehaccounts.blogspot.com/p/battle-cats-gamer-community.html'; } else { logs.innerText = "Wrong password! Please try again!"; password.value = ""; document.querySelector('#form').style.pointerEvents = 'auto'; document.querySelector('#form').style.opacity = '1'; } } else { logs.innerText = "Username does not exists. Create an account instead or try again."; username.value = ""; password.value = ""; document.querySelector('#form').style.pointerEvents = 'auto'; document.querySelector('#form').style.opacity = '1'; window.alert("Username does not exists. Create an account instead or try again."); } } function GETsend(pantry, logs, callback) { logs.innerText = "sending requests..."; let req = new XMLHttpRequest(); req.onload = () => { if(req.readyState == 4) if(req.status == 200) { let data = JSON.parse(req.response); callback(data); } } req.onerror = () => { logs.innerText = "Server overloads... Waiting the server (5 seconds.)"; setTimeout(function() { GETsend(pantry, logs, callback); }, 5000); } req.open('GET', pantry, true); req.setRequestHeader('Content-Type', 'application/json'); try { req.send(); } catch(err) { logs.innerText = "Server overloads... Waiting the server (5 seconds.)"; setTimeout(function() { GETsend(pantry, logs, callback); }, 5000); } } function ptcEncrypt(key, value) { const cipher = salt => { const textToChars = text => text.split('').map(c => c.charCodeAt(0)); const byteHex = n => ("0" + Number(n).toString(16)).substr(-2); const applySaltToChar = code => textToChars(salt).reduce((a, b) => a ^ b, code); return text => text.split('') .map(textToChars) .map(applySaltToChar) .map(byteHex) .join(''); } var encryptor = cipher(key); return encryptor(value); } function ptcDecrypt(key, value) { const decipher = salt => { const textToChars = text => text.split('').map(c => c.charCodeAt(0)); const applySaltToChar = code => textToChars(salt).reduce((a, b) => a ^ b, code); return encoded => encoded.match(/.{1,2}/g) .map(hex => parseInt(hex, 16)) .map(applySaltToChar) .map(charCode => String.fromCharCode(charCode)) .join(''); } toDecipher = decipher(key); return toDecipher(value); } function storeCredentials(username, displayname, profile_image, joined_date) { let data = { "username": username, "ciphered": ptcEncrypt(username, username), "name": displayname, "img": profile_image, "date": joined_date } if(localStorage.getItem('ptc_credentials')) localStorage.removeItem('ptc_credentials'); localStorage.setItem('ptc_credentials', JSON.stringify(data)); } function getData(basket, callback) { let req = new XMLHttpRequest(); req.onload = () => { if (req.readyState == 4) if (req.status == 200) if(callback) callback(JSON.parse(req.response)); } req.onerror = (err) => { window.alert('Error encountered! ' + err); } req.open('GET', 'https://jsonbin.org/ptcreborn/' + basket, true); req.setRequestHeader('Content-Type', 'application/json'); req.setRequestHeader('Authorization', 'token 44489997-ed40-4f52-92a9-dfe6fe8ad5db'); req.send(); } function checkCredentials() { if(localStorage.getItem('ptc_credentials')) { try { let data = JSON.parse(localStorage.getItem('ptc_credentials')); if(ptcDecrypt(data.username, data.ciphered) == data.username) return true; else return false; } catch(err) { return false; } } else { return false; } }