mirror of
https://gitlab.com/skysthelimit.dev/selenite.git
synced 2025-06-15 02:02:09 -05:00
202 lines
6.1 KiB
JavaScript
202 lines
6.1 KiB
JavaScript
let backup_icon;
|
|
let backup_name;
|
|
function setCloak(name, icon) {
|
|
var tabicon = getCookie("tabicon");
|
|
if (tabicon || icon) {
|
|
var link = document.querySelector("link[rel~='icon']");
|
|
if (link) {
|
|
if (link.href != icon) backup_icon = link;
|
|
while (document.querySelector("link[rel~='icon']")) {
|
|
document.querySelector("link[rel~='icon']").remove();
|
|
}
|
|
}
|
|
var link = document.querySelector("link[rel~='shortcut icon']");
|
|
if (link) {
|
|
if (link.href != icon) backup_icon = link;
|
|
while (document.querySelector("link[rel~='shortcut icon']")) {
|
|
document.querySelector("link[rel~='shortcut icon']").remove();
|
|
}
|
|
}
|
|
link = document.createElement("link");
|
|
link.rel = "icon";
|
|
document.head.appendChild(link);
|
|
link.href = tabicon;
|
|
if (name) {
|
|
link.href = icon;
|
|
}
|
|
}
|
|
|
|
var tabname = getCookie("tabname");
|
|
backup_name = document.title;
|
|
if (tabname) {
|
|
document.title = tabname;
|
|
}
|
|
if (name) {
|
|
document.title = name;
|
|
}
|
|
panicMode();
|
|
}
|
|
if (getCookie("debugging") == 1) {
|
|
const debugscript = document.createElement("script");
|
|
debugscript.setAttribute("src", "/js/debug.js");
|
|
document.head.append(debugscript);
|
|
}
|
|
function getCookie(cname) {
|
|
let name = cname + "=";
|
|
let decodedCookie = decodeURIComponent(document.cookie);
|
|
let ca = decodedCookie.split(";");
|
|
for (let i = 0; i < ca.length; i++) {
|
|
let c = ca[i];
|
|
while (c.charAt(0) == " ") {
|
|
c = c.substring(1);
|
|
}
|
|
if (c.indexOf(name) == 0) {
|
|
return c.substring(name.length, c.length);
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
let listofchars = "";
|
|
document.addEventListener("keydown", (e) => {
|
|
listofchars = listofchars + e.key;
|
|
if (listofchars.length > 20) {
|
|
listofchars = listofchars.substring(e.key.length);
|
|
}
|
|
if (listofchars.includes("safemode")) {
|
|
window.location.href = panicurl;
|
|
listofchars = "";
|
|
} else if (listofchars.includes("debugplz")) {
|
|
if (getCookie("debugging") == 1) {
|
|
document.cookie = "debugging=0;";
|
|
alert("debugging off!");
|
|
} else {
|
|
document.cookie = "debugging=1";
|
|
alert("debugging on!");
|
|
}
|
|
listofchars = "";
|
|
}
|
|
});
|
|
function panicMode() {
|
|
panicurl = getCookie("panicurl");
|
|
if (panicurl == "") {
|
|
panicurl = "https://google.com";
|
|
}
|
|
}
|
|
const head = document.getElementsByTagName("head")[0];
|
|
document.addEventListener(
|
|
"DOMContentLoaded",
|
|
function () {
|
|
setCloak();
|
|
const gscript = document.createElement("script");
|
|
gscript.setAttribute("async", "");
|
|
gscript.setAttribute("src", "https://www.googletagmanager.com/gtag/js?id=G-XVTVBR1D5V");
|
|
const ingscript = document.createElement("script");
|
|
ingscript.innerHTML = `window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
gtag('config', 'G-98DP5VKS42');`;
|
|
document.head.append(gscript, ingscript);
|
|
},
|
|
false
|
|
);
|
|
if (location.pathname.substring(1).includes("/") && localStorage.getItem("selenite.blockClose") == "true") {
|
|
window.addEventListener("beforeunload", (e) => {
|
|
e.preventDefault();
|
|
e.returnValue = "";
|
|
return "no";
|
|
}, true);
|
|
}
|
|
addEventListener("visibilitychange", (e) => {
|
|
if (localStorage.getItem("selenite.tabDisguise") == "true") {
|
|
if (document.visibilityState === "hidden") {
|
|
setCloak("Google", "https://www.google.com/favicon.ico");
|
|
} else {
|
|
if (!backup_icon) {
|
|
icon = document.createElement("link");
|
|
icon.rel = "icon";
|
|
|
|
var link = document.querySelector("link[rel~='icon']");
|
|
if (link) {
|
|
backup_icon = link;
|
|
while (document.querySelector("link[rel~='icon']")) {
|
|
document.querySelector("link[rel~='icon']").remove();
|
|
}
|
|
}
|
|
var link = document.querySelector("link[rel~='shortcut icon']");
|
|
if (link) {
|
|
backup_icon = link;
|
|
while (document.querySelector("link[rel~='shortcut icon']")) {
|
|
document.querySelector("link[rel~='shortcut icon']").remove();
|
|
}
|
|
}
|
|
document.head.appendChild(icon);
|
|
icon.href = location.origin + "/favicon.ico";
|
|
} else {
|
|
document.head.appendChild(backup_icon);
|
|
}
|
|
document.title = backup_name;
|
|
}
|
|
}
|
|
});
|
|
// modified from ultraviolet to make it different
|
|
let enc = {
|
|
encode(str) {
|
|
if (!str) return str;
|
|
return btoa(
|
|
encodeURIComponent(
|
|
str
|
|
.toString()
|
|
.split("")
|
|
.map((char, ind) => (ind % 3 ? String.fromCharCode(char.charCodeAt() + ind) : char))
|
|
.join("")
|
|
)
|
|
);
|
|
},
|
|
decode(str) {
|
|
if (!str) return str;
|
|
let [input, ...search] = str.split("?");
|
|
input = decodeURIComponent(atob(input));
|
|
return (
|
|
input
|
|
.split("")
|
|
.map((char, ind) => (ind % 3 ? String.fromCharCode(char.charCodeAt(0) - ind) : char))
|
|
.join("") + (search.length ? "?" + search.join("?") : "")
|
|
);
|
|
},
|
|
};
|
|
if (localStorage.getItem("selenite.password")) {
|
|
if (!location.hash) {
|
|
location.hash = localStorage.getItem("selenite.password");
|
|
}
|
|
}
|
|
if (JSON.parse(localStorage.getItem("selenite.passwordAtt"))) {
|
|
if (JSON.parse(localStorage.getItem("selenite.passwordAtt"))[0] == false && Math.floor(Date.now() / 1000) - JSON.parse(localStorage.getItem("selenite.passwordAtt"))[1] < 600) {
|
|
location.href = "https://google.com";
|
|
}
|
|
}
|
|
|
|
if (location.hash) {
|
|
localStorage.setItem("selenite.password", location.hash.substring(1));
|
|
if (JSON.parse(localStorage.getItem("selenite.passwordAtt"))) {
|
|
if (JSON.parse(localStorage.getItem("selenite.passwordAtt"))[0] == true && Math.floor(Date.now() / 1000) - JSON.parse(localStorage.getItem("selenite.passwordAtt"))[1] < 600) {
|
|
console.log("already good :)");
|
|
} else {
|
|
if (prompt("Type the right password:") == enc.decode(location.hash.substring(1))) {
|
|
localStorage.setItem("selenite.passwordAtt", `[true,${Math.floor(Date.now() / 1000)}]`);
|
|
console.log("Correct password!");
|
|
} else {
|
|
localStorage.setItem("selenite.passwordAtt", `[false,${Math.floor(Date.now() / 1000)}]`);
|
|
location.href = "https://google.com";
|
|
}
|
|
}
|
|
} else {
|
|
if (prompt("Type the right password:") == enc.decode(location.hash.substring(1))) {
|
|
localStorage.setItem("selenite.passwordAtt", `[true,${Math.floor(Date.now() / 1000)}]`);
|
|
console.log("Correct password!");
|
|
} else {
|
|
localStorage.setItem("selenite.passwordAtt", `[false,${Math.floor(Date.now() / 1000)}]`);
|
|
location.href = "https://google.com";
|
|
}
|
|
}
|
|
}
|