1
Fork 0
tor-snowflake/index.html
toufic ar b0786a03a9
All checks were successful
/ deploy (push) Successful in 6s
add metrics
2026-02-05 22:19:32 +02:00

131 lines
2.6 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1"
/>
<link
rel="shortcut icon"
href="torlogo.png"
type="image/png"
/>
<title>tor.toufy.me</title>
<style
type="text/css"
media="all"
>
:root {
--background: #38383d;
--text: #ececec;
--text-alt: #868689;
--primary: #cc80ff;
--accent: #68b030;
::selection {
background-color: var(--primary);
color: var(--background);
}
background-color: var(--background);
color: var(--text);
text-align: center;
a {
color: var(--primary);
}
}
</style>
</head>
<body style="padding: 5px">
<div
style="
display: flex;
flex-direction: column;
width: 100%;
place-content: center;
place-items: center;
"
>
<img
src="torlogo.png"
alt="the onion from TOR project logo"
style="max-width: 100px"
/>
<h1 style="color: var(--primary)">tor.toufy.me</h1>
</div>
<div
style="
display: flex;
flex-direction: column;
width: 100%;
place-content: center;
place-items: center;
"
>
<p>
<a
href="https://git.toufy.me/toufy/adonis"
target="_blank"
>adonis</a
>
runs a tor relay node and a snowflake proxy.<br />
this helps people stay anonymous and circumvent censorship:<br />
<span
style="
color: var(--accent);
font-weight: bolder;
text-decoration: underline;
text-decoration-color: var(--accent);
"
id="snowflake_conns"
></span>
<span style="color: var(--text-alt); font-weight: bolder"
>snowflake connections since last restart</span
>
<br />
</p>
</div>
<div
style="
display: flex;
flex-direction: column;
width: 100%;
place-items: center;
place-content: center;
"
>
<p style="font-weight: bolder">
you can help by turning on the toggle below and keeping this tab
open.<br />
this will spin up your own snowflake.
</p>
<iframe
src="https://snowflake.torproject.org/embed.html"
width="320"
height="240"
frameborder="0"
scrolling="no"
></iframe>
</div>
</body>
<script>
async function fetchConnections() {
try {
const res = await fetch("https://tor.toufy.me/metrics.php", {
method: "GET",
headers: { Accept: "application/json" }
});
if (!res.ok) {
console.log(res);
snowflake_conns.innerHTML = 0;
return;
}
snowflake_conns.innerHTML = (await res.json()).snowflake_connections;
} catch (_) {
snowflake_conns.innerHTML = 0;
}
}
fetchConnections();
</script>
</html>