mirror of
https://gitlab.com/skysthelimit.dev/selenite.git
synced 2025-06-15 10:12:06 -05:00
198 lines
7.8 KiB
JavaScript
198 lines
7.8 KiB
JavaScript
var interval;
|
|
document.addEventListener("DOMContentLoaded", function () {
|
|
if (localStorage.getItem("theme")) {
|
|
localStorage.setItem("selenite.theme", localStorage.getItem("theme"));
|
|
localStorage.removeItem("theme");
|
|
}
|
|
if (localStorage.getItem("selenite.theme")) {
|
|
document.body.setAttribute("theme", localStorage.getItem("selenite.theme"));
|
|
} else {
|
|
document.body.setAttribute("theme", "main");
|
|
}
|
|
if (document.querySelectorAll("[id=adcontainer]")) {
|
|
for (let i = 0; i < document.querySelectorAll("[id=adcontainer]").length; i++) {
|
|
if (Math.random() < 0.5 || localStorage.getItem("selenite.adblock") == "true") document.querySelectorAll("[id=adcontainer]")[i].innerHTML = "";
|
|
}
|
|
}
|
|
const iconSetting = document.querySelector("input#discordIcon");
|
|
const blockClose = document.querySelector("input#blockClose");
|
|
const openBlank = document.getElementById("blank");
|
|
const bgTheme = document.querySelector("input#bgTheme");
|
|
// if (document.querySelector("widgetbot-crate")) {
|
|
// if (localStorage.getItem("selenite.discordIcon") == "true") {
|
|
// const widget = document.querySelector("widgetbot-crate");
|
|
// widget.setAttribute("style", "display:none");
|
|
// }
|
|
// }
|
|
if (document.querySelector("input#discordIcon")) {
|
|
if (localStorage.getItem("selenite.discordIcon") == "true") {
|
|
iconSetting.checked = true;
|
|
}
|
|
iconSetting.addEventListener("click", () => {
|
|
localStorage.setItem("selenite.discordIcon", iconSetting.checked);
|
|
});
|
|
}
|
|
if (document.querySelector("input#blockClose")) {
|
|
if (localStorage.getItem("selenite.blockClose") == "true") {
|
|
blockClose.checked = true;
|
|
}
|
|
blockClose.addEventListener("click", () => {
|
|
localStorage.setItem("selenite.blockClose", blockClose.checked);
|
|
});
|
|
}
|
|
if (document.querySelector("input#tabDisguise")) {
|
|
if (localStorage.getItem("selenite.tabDisguise") == "true") {
|
|
tabDisguise.checked = true;
|
|
}
|
|
tabDisguise.addEventListener("click", () => {
|
|
localStorage.setItem("selenite.tabDisguise", tabDisguise.checked);
|
|
});
|
|
}
|
|
if (document.querySelector("input#bgTheme")) {
|
|
bgTheme.checked = true;
|
|
}
|
|
document.getElementById("blank").addEventListener("click", () => {
|
|
win = window.open();
|
|
win.document.body.style.margin = "0";
|
|
win.document.body.style.height = "100vh";
|
|
html = `
|
|
<style>*{margin:0;padding:0;border:none}body,iframe{height:100vh;width:100vw}iframe{height:96vh}header{display:flex;height:4vh;justify-content:center;}button{margin-right:100px;height:100%;aspect-ratio: 1 / 1}#reload{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 -960 960 960' width='24'%3E%3Cpath d='M480-160q-134 0-227-93t-93-227q0-134 93-227t227-93q69 0 132 28.5T720-690v-110h80v280H520v-80h168q-32-56-87.5-88T480-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h84q-28 106-114 173t-196 67Z'/%3E%3C/svg%3E");background-size:cover;}#goBack{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 -960 960 960' width='24'%3E%3Cpath d='M240-200h120v-240h240v240h120v-360L480-740 240-560v360Zm-80 80v-480l320-240 320 240v480H520v-240h-80v240H160Zm320-350Z'/%3E%3C/svg%3E");background-size:cover;}</style><script>
|
|
</script><header><button id=goBack></button><button id=reload></button></header><iframe id=selenite></iframe>`;
|
|
win.document.querySelector("html").innerHTML = html;
|
|
win.eval(`let selenite = document.getElementById("selenite");console.log(selenite);selenite.setAttribute("src", "${location.origin}");console.log(selenite);document.getElementById("goBack").addEventListener("click", function () {selenite.contentDocument.location.href = selenite.contentDocument.location.origin;});document.getElementById("reload").addEventListener("click", function () {selenite.contentDocument.location.href = selenite.contentDocument.location.href;})`);
|
|
location.href = "https://google.com";
|
|
close();
|
|
});
|
|
if ($("#panicmode").length > 0) {
|
|
$("#panicmode").prop({ href: panicurl });
|
|
}
|
|
if ($(".seleniteminified").length > 0) {
|
|
$.get("https://raw.githubusercontent.com/skysthelimitt/selenite-optimized/main/build/bookmark.txt", function (data) {
|
|
$(".seleniteminified").prop({ href: data });
|
|
});
|
|
$.get("https://raw.githubusercontent.com/car-axle-client/car-axle-client/v10/dist/build.js", function (data) {
|
|
$(".caraxle").prop({ href: `javascript:${encodeURI(data)}` });
|
|
});
|
|
}
|
|
initTime();
|
|
});
|
|
function setPanicMode() {
|
|
if (!$("#panic").val().startsWith("https")) {
|
|
document.cookie = "panicurl=https://" + $("#panic").val();
|
|
return;
|
|
}
|
|
|
|
document.cookie = "panicurl=" + $("#panic").val();
|
|
}
|
|
function copyToClipboard(text) {
|
|
navigator.clipboard.writeText(text);
|
|
alert("Copied text!");
|
|
}
|
|
function setTheme(theme) {
|
|
localStorage.setItem("selenite.theme", theme);
|
|
document.body.setAttribute("theme", theme);
|
|
if (theme != "custom") {
|
|
document.getElementById("customMenu").style.display = "none";
|
|
document.body.style = "";
|
|
}
|
|
}
|
|
function setPanicMode() {
|
|
if (!$("#panic").val().startsWith("https")) {
|
|
document.cookie = "panicurl=https://" + $("#panic").val();
|
|
return;
|
|
}
|
|
document.cookie = "panicurl=" + $("#panic").val();
|
|
}
|
|
function setPassword() {
|
|
localStorage.setItem("selenite.password", enc.encode(document.getElementById("pass").value));
|
|
}
|
|
function delPassword() {
|
|
location.hash = "";
|
|
localStorage.removeItem("selenite.passwordAtt");
|
|
localStorage.removeItem("selenite.password");
|
|
}
|
|
|
|
function getCurrentTime() {
|
|
const n = document.getElementById("time");
|
|
|
|
fetch("https://worldtimeapi.org/api/ip")
|
|
.then((response) => response.json())
|
|
.then((data) => {
|
|
const t = new Date(data.utc_datetime);
|
|
const formattedTime = t.toLocaleTimeString(undefined, {
|
|
hour: "numeric",
|
|
minute: "numeric",
|
|
second: "numeric",
|
|
hour12: true,
|
|
});
|
|
n.textContent = formattedTime;
|
|
})
|
|
.catch(() => {
|
|
const currentTime = new Date();
|
|
const formattedTime = currentTime.toLocaleTimeString(undefined, {
|
|
hour: "numeric",
|
|
minute: "numeric",
|
|
second: "numeric",
|
|
hour12: true,
|
|
});
|
|
n.textContent = formattedTime;
|
|
});
|
|
}
|
|
|
|
getCurrentTime();
|
|
setInterval(getCurrentTime, 900);
|
|
|
|
|
|
$(document).ready(function () {
|
|
if (!window.location.href.startsWith("about:")) {
|
|
$("#webicon").attr("placeholder", window.location.href.replace(/\/[^\/]*$/, "/"));
|
|
}
|
|
});
|
|
function loadScript(a, b) {
|
|
var c = document.createElement("script");
|
|
(c.type = "text/javascript"), (c.src = a), (c.onload = b), document.head.appendChild(c);
|
|
}
|
|
function toast(message, onclick) {
|
|
const toast = document.createElement("div");
|
|
toast.setAttribute("id", "toast");
|
|
console.log(message.time);
|
|
toast.innerHTML = `<div class=samerow><h1>${message.title}${message.time ? ` - ${timeAgo(new Date(message.time * 1000))}` : ""}</h1></div><p>${message.message}</p>`;
|
|
toast.style.animation = "toastFade 6s";
|
|
document.body.appendChild(toast);
|
|
if(onclick){
|
|
toast.addEventListener("click", onclick);
|
|
toast.style.cursor = 'pointer';
|
|
}
|
|
setTimeout(() => {
|
|
toast.remove();
|
|
}, 6000);
|
|
}
|
|
function timeAgo(input) {
|
|
const date = input instanceof Date ? input : new Date(input);
|
|
const formatter = new Intl.RelativeTimeFormat("en");
|
|
const ranges = {
|
|
years: 3600 * 24 * 365,
|
|
months: 3600 * 24 * 30,
|
|
weeks: 3600 * 24 * 7,
|
|
days: 3600 * 24,
|
|
hours: 3600,
|
|
minutes: 60,
|
|
seconds: 1,
|
|
};
|
|
const secondsElapsed = (date.getTime() - Date.now()) / 1000;
|
|
for (let key in ranges) {
|
|
if (ranges[key] < Math.abs(secondsElapsed)) {
|
|
const delta = secondsElapsed / ranges[key];
|
|
return formatter.format(Math.round(delta), key);
|
|
}
|
|
}
|
|
}
|
|
let cookieConsentScript = document.createElement("script");
|
|
cookieConsentScript.src = "/js/cookieConsent.js";
|
|
document.head.appendChild(cookieConsentScript);
|
|
let cookieConsentStyle = document.createElement("link");
|
|
cookieConsentStyle.href = "/js/cookieConsent.css";
|
|
cookieConsentStyle.rel = "stylesheet";
|
|
document.head.appendChild(cookieConsentStyle);
|
|
|