theseus-site/dl/index.html
Hermes Dev 78da8fbbde theseus.x site lives under WebsiteDev; whitepaper source saved beside the page
The website sources are grouped under WebsiteDev/. site-theseus-x moves there
for real (the other site folders are still junctions from WebsiteDev to the
root); a junction at the old root path keeps existing scripts working and is
ignored so the files are tracked once. Docs, the icon script and the mirror
example follow the new path.

whitepaper/whitepaper.md is the Markdown the published page was built from,
so the text can be edited and rebuilt without the original document.
2026-11-01 17:40:06 +02:00

46 lines
3.2 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>theseus.x/dl — downloads</title>
<meta name="robots" content="noindex">
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml">
<style>
:root{--bg:#0b0e14;--panel:#141a24;--line:rgba(255,255,255,.09);--ink:#e7eaf1;--mut:#8b98a9;--acid:#d6ff3d}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1100px 560px at 50% -12%,#16202e,var(--bg));color:var(--ink);
font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh;display:grid;place-items:center;padding:1.2rem}
a{color:var(--acid)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.6rem 1.8rem;max-width:560px;width:100%}
h1{margin:0 0 .3rem;font-size:1.5rem}
.mut{color:var(--mut);font-size:.95rem;margin:0 0 1.2rem}
.row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line)}
.row b{display:block}.row small{color:var(--mut)}
.btn{display:inline-block;padding:.5rem .9rem;border-radius:10px;background:var(--acid);color:#0b0e14;font-weight:650;text-decoration:none;white-space:nowrap}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.foot{margin-top:1.2rem;font-size:.9rem;color:var(--mut)}
</style>
</head>
<body>
<div class="card">
<h1>Downloads</h1>
<p class="mut">These links always point at the current build. Verify the SHA-256 on <a href="/#verify">theseus.x</a> before running.</p>
<div class="row"><div><b>Theseus Navigator for Windows</b><small>installer · v<span data-live="theseus-version">0.3.48</span></small></div><a class="btn" href="https://dl.silentmode.st/latest/TheseusNavigator-Setup.exe">Installer</a></div>
<div class="row"><div><b>Theseus Navigator, portable</b><small>single .exe, no install</small></div><a class="btn ghost" href="https://dl.silentmode.st/latest/TheseusNavigator-portable.exe">Portable</a></div>
<div class="row"><div><b>Ariadne for Android</b><small>APK · v<span data-live="android-version">0.18</span></small></div><a class="btn ghost" href="https://dl.silentmode.st/latest/ariadne.apk">APK</a></div>
<div class="row"><div><b>Ariadne's Thread for Windows</b><small>system-wide resolver, installed by Theseus's setup by default</small></div><a class="btn ghost" href="https://dl.silentmode.st/latest/AriadneResolver-Setup.exe">Installer</a></div>
<p class="foot">Machine-readable: <a href="https://dl.silentmode.st/releases-manifest.json">releases-manifest.json</a> · all releases: <a href="https://silentmode.st/releases/">silentmode.st/releases</a></p>
</div>
<script>
(async () => {
try {
const r = await fetch("https://dl.silentmode.st/releases-manifest.json", { cache: "no-store" }); if (!r.ok) return;
const m = await r.json(); const g = (id) => (m.releases || []).find((x) => x.id === id);
const set = (k, v) => { if (v) document.querySelectorAll('[data-live="' + k + '"]').forEach((el) => el.textContent = v); };
set("theseus-version", g("theseus-navigator")?.version); set("android-version", g("ariadne-android")?.version);
} catch {}
})();
</script>
</body>
</html>