47 lines
3.2 KiB
HTML
47 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>
|