Canonical silentmode.st URLs no longer carry a trailing slash (/tools, not /tools/). nginx (tracked now in VPS/SilentMode/silentmode-st.nginx) 301s the old form and serves <dir>/index.html; sub-sites deployed from other repos with relative asset paths (deviant, sirius-x, theseus-x, hephaestus.x, fly.x, code) keep their directory URLs. Every page's internal links are now site-root-relative, which resolves correctly both at /x on nginx and under the BNS gateway's injected <base href="/bns/silentmode.bch/"> — the old ../x/ links were already broken on the gateway route. /theseus becomes the Silent Mode-headered Theseus page (what it is, what's inside, Windows + Android downloads with manifest hashes, verify), linking out to the sovereign theseus.x whose VPS mirror moves to /theseus-x/, the same split as /sirius vs /sirius-x/. /tools is repurposed as the overview: every site, the on-chain twins, the other clients (relay, Firefox, the standalone Ariadne Resolver) and the machine endpoints. The old tools page carried stale APK and resolver hashes; the new pages use the manifest's, verified against the files on dl.silentmode.st. scripts/serve-site.mjs mirrors the nginx rules for local preview.
109 lines
8 KiB
HTML
109 lines
8 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:site_name" content="Silent Mode">
|
||
<meta property="og:title" content="Silent Mode — releases &amp; checksums">
|
||
<meta property="og:url" content="https://silentmode.st/releases">
|
||
<meta property="og:image" content="https://silentmode.st/brand/og.png">
|
||
<meta property="og:image:width" content="1200">
|
||
<meta property="og:image:height" content="630">
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<title>Silent Mode — releases & checksums</title>
|
||
<style>
|
||
:root{--bg:#0b0e14;--panel:#141a24;--line:rgba(255,255,255,.09);--ink:#e7eaf1;--mut:#8b98a9;--dim:#5e6678;--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}
|
||
.wrap{max-width:820px;margin:0 auto;padding:3.5rem 1.2rem 4rem}
|
||
a{color:var(--acid)}
|
||
h1{font-size:1.8rem;margin:0 0 .3rem}
|
||
h1 .g{color:var(--acid)}
|
||
.lede{color:var(--mut);margin:.2rem 0 2rem}
|
||
.rel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:16px}
|
||
.rel h2{font-size:1.15rem;margin:0 0 .2rem}
|
||
.rel .meta{color:var(--dim);font-size:12.5px;margin-bottom:1rem}
|
||
.file{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
|
||
.file .n{font-size:14px;color:var(--ink)}
|
||
.file .n a{text-decoration:none}
|
||
.file code{display:block;font-family:ui-monospace,monospace;font-size:11.5px;color:#c9d4e3;
|
||
word-break:break-all;margin-top:4px}
|
||
.note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acid);
|
||
border-radius:10px;padding:14px 18px;color:var(--mut);font-size:13.5px;margin-top:1.6rem}
|
||
.note b{color:var(--ink)}
|
||
footer{color:var(--dim);font-size:12.5px;margin-top:2.5rem;text-align:center}
|
||
</style>
|
||
<link rel="stylesheet" href="shared.css?v=20260910">
|
||
<link rel="icon" type="image/svg+xml" href="favicon.svg">
|
||
</head>
|
||
<body>
|
||
|
||
<nav class="topnav">
|
||
<a class="brand" href="./"><svg class="logo" viewBox="0 0 32 20" aria-hidden="true"><rect class="l1" x="1.5" y="3.5" width="17" height="13" rx="6.5" ry="6.5" fill="none" stroke-width="2.6"/><rect class="l2" x="13.5" y="3.5" width="17" height="13" rx="6.5" ry="6.5" fill="none" stroke-width="2.6"/></svg>Silent <span class="g">Mode</span></a>
|
||
<a href="theseus">Theseus</a>
|
||
<a href="prometheus">Prometheus</a>
|
||
<a href="sirius">Sirius</a>
|
||
<a href="hephaestus">Hephaestus</a>
|
||
<a href="helios">Helios</a>
|
||
<a href="hermes">Hermes</a>
|
||
<a href="tools">Tools</a>
|
||
</nav>
|
||
|
||
<div class="wrap">
|
||
<h1>Silent <span class="g">Mode</span> — releases</h1>
|
||
<p class="lede">Canonical SHA-256 checksums for every published build. This page lives at the on-chain
|
||
name <code>releases.silentmode.bch</code>; the name pins where it is served from, so a tampered
|
||
mirror cannot change what you check against here.</p>
|
||
|
||
<div class="rel">
|
||
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.49</span></h2>
|
||
<div class="meta">Windows 64-bit · unsigned · 2026-09-20 · <b>0.3.49 — Chromium 152, community extensions, tabs in the title bar</b> — Engine: Electron 44 / Chromium 152 (from 130) — a year-old engine had become a bot signal (DataDome-fronted shops served a block page), and the identity Theseus presents is now consistent on both sides (client-hint brands computed like Chromium, matching navigator.userAgentData, well-formed Accept-Language). Extensions: anyone who holds a BCDN name can publish an extension from theseus.x/extensions; Settings › Extensions › Community lists the catalog and installs with the publisher's signature verified against the name's owner in Theseus's own index. Settings › Plug-ins and › Extensions link to the new theseus.x/plug-ins and /extensions pages. Tabs: the tab strip lives in the title bar (Windows), a tab opened from a link lands next to its opener, the selected tab has an accent, the strip no longer blinks when another tab loads, the address bar follows the page even after you clicked into it, and holding or right-clicking Back/Forward lists the history. Also: HTTP sign-in prompt for sites behind Basic/Digest auth instead of a bare 401; local paths and file:// URLs open from the address bar; owner-signed DNS records (A/AAAA/MX/TXT via /api/dns) are fetched alongside on-chain records; the Ariadne's Thread card finds the installed resolver and answers in about 2 s. Includes everything from 0.3.47 and 0.3.48.</div>
|
||
|
||
<div class="file">
|
||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.49.exe">TheseusNavigator-Setup-0.3.49.exe</a> — installer</div>
|
||
<code>0f1c34063963cd72e051662617aea51642a01c3a3c4a2a0a03f831131fa83cc5</code>
|
||
</div>
|
||
<div class="file">
|
||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.49-portable.exe">TheseusNavigator-0.3.49-portable.exe</a> — portable</div>
|
||
<code>1e44162b3dddb79dff7609374e0f02153a38255d5a94847dd95d99d29c7f582a</code>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="rel">
|
||
<h2>Ariadne Resolver — Windows <span style="color:var(--acid)">0.1.3</span></h2>
|
||
<div class="meta">Windows 64-bit · unsigned · bundled Node runtime · 2026-09-19 · <b>Same rules as every other client</b> — Resolver library brought level with the desktop reader: per-TLD certificate registry read from the TLD beacon, current NFT owner tracked per name, the port-443 electrum route tried first, and the TLD co-sign rule (a registration under a "cosign" or hidden TLD is only recognised when it carries the TLD's certificate). Same daemon, same install; existing installs upgrade in place.</div>
|
||
|
||
<div class="file">
|
||
<div class="n"><a href="https://dl.silentmode.st/AriadneResolver-Setup-0.1.3.exe">AriadneResolver-Setup-0.1.3.exe</a> — ~24 MB</div>
|
||
<code>79b920b8e4e92aa9a54653035a4873dd996b5d4a9093c43d114e0a3ee4ffb003</code>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="rel">
|
||
<h2>Ariadne for Android <span style="color:var(--acid)">0.19</span></h2>
|
||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-09-19 · <b>0.19 — co-sign rule</b> — Consensus fix: the on-device index now applies the TLD co-sign rule. A name registered under a TLD whose owner set policy "cosign" or switched the TLD off (hidden) only counts when the registration transaction also carries the TLD's own certificate, exactly as the gateway, Theseus and the desktop resolver decide it, so every client agrees on which names exist. The index reads the per-TLD certificate registry and its policy history from the TLD beacon at build time; if that beacon cannot be reached it keeps the previous behaviour instead of returning an empty index. No UI changes.</div>
|
||
|
||
<div class="file">
|
||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.19.apk">ariadne-v0.19.apk</a> — 146 KB</div>
|
||
<code>d2f4ad359e7ac36c1d0729100aef613be968cd17b153e94e124f8500fcbfc711</code>
|
||
</div>
|
||
<div class="file">
|
||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||
<code>46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c</code>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="note"><b>How to verify.</b> After downloading, compute the file's SHA-256 and compare it to
|
||
the value above — on Windows: <code style="display:inline">certutil -hashfile <file> SHA256</code>;
|
||
on Android, hash the downloaded <code style="display:inline">.apk</code> on a computer before you move
|
||
it to the phone, or use any file-hashing app. Nothing here is signed by an authority your device
|
||
already trusts — <b>by design</b> — so it will warn about an unrecognized app; the checksum is the
|
||
real check. The machine-readable manifest is at
|
||
<a href="https://dl.silentmode.st/releases-manifest.json">releases-manifest.json</a>.</div>
|
||
|
||
<footer>Silent Mode — a Deviant project. Alpha software on a test network.</footer>
|
||
</div>
|
||
</body>
|
||
</html>
|