198 lines
9.4 KiB
HTML
Executable File
198 lines
9.4 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<!-- initialize theme vars
|
|
https://coolors.co/10002b-240046-3c096c-5a189a-7b2cbf-9d4edd-c77dff-e0aaff -->
|
|
|
|
<!-- initialize externals -->
|
|
<meta property="og:title" content="Selenite" />
|
|
<meta property="description" content="Selenite is the best unblocked games site. With over 400 games and an account system, no other websites come close to Selenite." />
|
|
<meta name="keywords" content="proxy, web proxy, unblock websites, unblock chromebook, free web proxy, proxy list, proxy sites, un block chromebook, online proxy, proxy server, proxysite, proxy youtube, bypass securly, bypass iboss, bypass lightspeed filter, chromebooks, unblock youtube, youtube proxy, unblocked youtube, youtube unblocked, unblock games, selenite, unblocked games, free games">
|
|
<meta content="/favicon.png" property="og:image" />
|
|
<meta content="#c77dff" data-react-helmet="true" name="theme-color" />
|
|
<meta name="googlebot" content="index, follow, snippet" />
|
|
<link rel="canonical" href="https://selenite.cc/" />
|
|
<meta property="og:description" content="Selenite is the best unblocked games site. With over 400 games and an account system, no other websites come close to Selenite." />
|
|
<meta property="og:title" content="Selenite">
|
|
<meta property="og:type" content="website">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Organization",
|
|
"name": "Selenite",
|
|
"alternateName": "selenite.cc",
|
|
"url": "https://selenite.cc",
|
|
"logo": "https://selenite.cc/favicon.png",
|
|
"sameAs": [
|
|
"https://github.com/selenite-cc",
|
|
"https://youtube.com/@selenitecc",
|
|
"https://tiktok.com/@selenitecc",
|
|
"https://selenite.cc",
|
|
]
|
|
}
|
|
</script>
|
|
|
|
<!-- initialize my stuff -->
|
|
<script src="/js/all.min.js"></script>
|
|
|
|
<link rel="stylesheet" href="/css/main.css" />
|
|
<link rel="stylesheet" href="/css/sidebar.css" />
|
|
<link rel="manifest" href="/manifest.json" />
|
|
|
|
<!-- seo + other things -->
|
|
<style>
|
|
@media screen and (max-width: 660px) {
|
|
iframe, sidebar {
|
|
display: none;
|
|
}
|
|
mobile-warning {
|
|
display: flex;
|
|
}
|
|
}
|
|
</style>
|
|
<title>Selenite</title>
|
|
<link rel="icon" href="/favicon.ico" id="favicon" />
|
|
<!-- <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3415518411898563" crossorigin="anonymous"></script> -->
|
|
<script>
|
|
let currentPanic = {key: "", url: ""};
|
|
document.addEventListener("DOMContentLoaded", async ()=>{
|
|
let hash = location.hash.substring(1);
|
|
if(hash) {
|
|
// location.hash = "";
|
|
if(hash.startsWith("/u/")) {
|
|
document.getElementById("iframe").src = hash;
|
|
} else if(hash.startsWith("/g/")) {
|
|
document.querySelector("loading-game").style.display = "flex";
|
|
await fetch("/resources/games.json")
|
|
.then(data => data.json())
|
|
.then(data => {
|
|
data.forEach(el => {
|
|
if(el.directory == hash.substring(3)) {
|
|
document.getElementById("iframe").src = `/loader.html?title=${encodeURIComponent(el.name)}&dir=${el.directory}&img=${el.image}&type=g`
|
|
}
|
|
})
|
|
})
|
|
document.querySelector("loading-game").style.display = "none";
|
|
} else if(hash.startsWith("/a/")) {
|
|
document.querySelector("loading-game").style.display = "flex";
|
|
await fetch("/resources/apps.json")
|
|
.then(data => data.json())
|
|
.then(data => {
|
|
data.forEach(el => {
|
|
if(el.directory == hash.substring(3)) {
|
|
document.getElementById("iframe").src = `/loader.html?title=${encodeURIComponent(el.name)}&dir=${el.directory}&img=${el.image}&type=g`
|
|
}
|
|
})
|
|
});
|
|
document.querySelector("loading-game").style.display = "none";
|
|
}
|
|
}
|
|
let socket = new WebSocket("/socket");
|
|
socket.addEventListener("open", () => {
|
|
let cookies = document.cookie.split("; ");
|
|
for (let i = 0; i < cookies.length; i++) {
|
|
if (cookies[i].trim().startsWith("token=")) {
|
|
socket.send(cookies[i].trim());
|
|
}
|
|
}
|
|
});
|
|
socket.addEventListener("message", (e)=>{
|
|
socket.send("1");
|
|
if(e.data.split("=")[0] == "online") {
|
|
document.getElementById("online").innerText = `currently online: ${e.data.split("=")[1]}`;
|
|
}
|
|
})
|
|
let currentCloak = {name: "", icon: ""};
|
|
setInterval(()=>{
|
|
if(localStorage.getItem("selenite.tab-cloak")) {
|
|
let cloak = JSON.parse(localStorage.getItem("selenite.tab-cloak"));
|
|
if((cloak.name != currentCloak.name) || (cloak.icon != currentCloak.icon)) {
|
|
document.title = cloak.name.length > 0 ? cloak.name : "Selenite"
|
|
document.getElementById("favicon").href = cloak.icon.length > 0 ? "https://s2.googleusercontent.com/s2/favicons?domain_url=" + cloak.icon : "favicon.ico"
|
|
currentCloak = cloak;
|
|
}
|
|
};
|
|
if(localStorage.getItem("selenite.panic-mode")) {
|
|
let panic = JSON.parse(localStorage.getItem("selenite.panic-mode"));
|
|
if((panic.key != currentPanic.key) || (panic.url != currentPanic.url)) {
|
|
currentPanic = panic;
|
|
}
|
|
}
|
|
}, 500);
|
|
document.addEventListener("keydown", (e) => {
|
|
if(currentPanic.key.length > 0 && currentPanic.url.length > 0) {
|
|
if(e.key = currentPanic.key) {
|
|
location.href = currentPanic.url;
|
|
}
|
|
}
|
|
})
|
|
document.getElementById("iframe").contentWindow.document.addEventListener("keydown", (e) => {
|
|
if(currentPanic.key.length > 0 && currentPanic.url.length > 0) {
|
|
if(e.key = currentPanic.key) {
|
|
location.href = currentPanic.url;
|
|
}
|
|
}
|
|
})
|
|
document.getElementById("iframe").addEventListener("load", () => {
|
|
document.getElementById("iframe").contentWindow.addEventListener("beforeunload", () => {
|
|
alert("unloading! show loading bar")
|
|
})
|
|
});
|
|
document.querySelectorAll(".sidebar-item").forEach((item) => {
|
|
if(item.childNodes[0].target) {
|
|
item.childNodes[0].addEventListener("click", (e)=>{
|
|
console.log("created event listneer")
|
|
e.preventDefault();
|
|
document.getElementById("iframe").src = item.childNodes[0].target;
|
|
})
|
|
} else if(item.childNodes[0].id == "openblank") {
|
|
item.childNodes[0].addEventListener("click", (e)=>{
|
|
e.preventDefault();
|
|
win = window.open();
|
|
win.document.body.style.margin = "0";
|
|
win.document.body.style.height = "100vh";
|
|
html = `<style>*{margin:0;padding:0;border:none;height:100vh;width:100vw}</style><iframe src=${location.href}></iframe>`;
|
|
win.document.querySelector("html").innerHTML = html;
|
|
location.href = "https://google.com";
|
|
window.close();
|
|
})
|
|
|
|
}
|
|
})
|
|
document.getElementById("open-bottom-menu").addEventListener("click", ()=>{
|
|
document.getElementById("bottom-menu").setAttribute("enabled", !(document.getElementById("bottom-menu").getAttribute("enabled") === "true"));
|
|
document.getElementById("open-bottom-menu").setAttribute("enabled", !(document.getElementById("open-bottom-menu").getAttribute("enabled") === "true"));
|
|
});
|
|
document.getElementById("bottom-menu").addEventListener("click", ()=>{
|
|
document.getElementById("bottom-menu").setAttribute("enabled", !(document.getElementById("bottom-menu").getAttribute("enabled") === "true"));
|
|
document.getElementById("open-bottom-menu").setAttribute("enabled", !(document.getElementById("open-bottom-menu").getAttribute("enabled") === "true"));
|
|
});
|
|
})
|
|
</script>
|
|
</head>
|
|
<mobile-warning><h1 class="title">your device is not supported!</h1><p>please rotate your screen for the best experience.</p></mobile-warning>
|
|
<loading-game><h1 class="title">we are loading your game!</h1><p>please allow us to fetch the data first, this should only take a second.</p></loading-game>
|
|
<body>
|
|
<iframe id="iframe" src="home.html"></iframe>
|
|
<!-- to do
|
|
add colors -->
|
|
<sidebar>
|
|
<div class="sidebar-item"><a href="#" target="/home"><img src="/img/home.svg" /></a><div class="sidebar-item-descriptor">home</div></div> <!-- home -->
|
|
<div class="sidebar-item"><a href="#" target="/projects"><img src="/img/games.svg" /></a><div class="sidebar-item-descriptor">games</div></div> <!-- games -->
|
|
<div class="sidebar-item"><a href="#" target="/apps"><img src="/img/apps.svg" /></a><div class="sidebar-item-descriptor">apps</div></div> <!-- apps -->
|
|
<div class="sidebar-item"><a href="#" target="/bookmarklets"><img src="/img/bookmarklets.svg" /></a><div class="sidebar-item-descriptor">bookmarklets</div></div> <!-- reload -->
|
|
<div class="sidebar-item"><a href="#" id="openblank"><img src="/img/open.svg" /></a><div class="sidebar-item-descriptor">open blank</div></div> <!-- open blank -->
|
|
<div class="sidebar-divider"></div>
|
|
<div class="sidebar-item"><a href="#" target="/u/"><img src="/img/user.svg" /></a><div class="sidebar-item-descriptor">user profile</div></div> <!-- user -->
|
|
<div class="sidebar-item"><a href="#" target="/settings"><img src="/img/settings.svg" /></a><div class="sidebar-item-descriptor">settings</div></div> <!-- settings -->
|
|
<div class="sidebar-item"><a href="#" target="/info"><img src="/img/info.svg" /></a><div class="sidebar-item-descriptor">information</div></div> <!-- info -->
|
|
</sidebar>
|
|
<div id="open-bottom-menu"></div>
|
|
<div id="bottom-menu">
|
|
<div class="bottom-item"><p id="online">yap yap yap</p></div>
|
|
</div>
|
|
</body>
|
|
</html>
|