site/releases/index.html

109 lines
8.6 KiB
HTML
Raw Normal View History

<!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;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 &amp; 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="../tools/">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>
</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">
2026-09-14 08:04:38 +02:00
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.47</span></h2>
<div class="meta">Windows 64-bit · unsigned · 2026-09-14 · <b>0.3.47 — Plug-ins section + in-panel wallet updates, Aegis 0.6.31</b> — Plug-ins section takes over from Extensions for Silent Mode's first-party components. The bundled Aegis wallet is now surfaced there with its own copy and its own update flow instead of appearing again as a raw extension — one source of truth. Add-ons can drive an in-panel update flow: check the OTA channel, stage a signed build, and cleanly relaunch Theseus, without asking the user to open Settings. Aegis 0.6.31 rides along: BTC picker trimmed to Signet (Testnet3 is de facto dead); the wallet strip folds mainnet + testnet into one row per chain with a ▾ dropdown to pick which network's balances to see; per-unit price sits directly under the ticker; + Add and ⋯ More moved out of the strip into the header next to a new ✎ edit chip; footer update chip is now a two-step Stage → Restart flow using the new plug-in API. Includes everything from 0.3.46 (updater self-heal + BCNR fetch error page).</div>
<div class="file">
2026-09-14 08:04:38 +02:00
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.47.exe">TheseusNavigator-Setup-0.3.47.exe</a> — installer</div>
<code>518ff627e776e0d334bc1c959666adb88f7220d4afbdc70f9786a8f002837e52</code>
</div>
<div class="file">
2026-09-14 08:04:38 +02:00
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.47-portable.exe">TheseusNavigator-0.3.47-portable.exe</a> — portable</div>
<code>5971677106f5bea330521df6dc435a6c48b85498b03afbe176e98d3684663fdb</code>
</div>
</div>
<div class="rel">
Ariadne 0.1.2: install.ps1 no longer dies on PS 5.1 stderr quirk; layered TLD-source cascade install.ps1 root-cause fix - Every `& $node ... 2>&1` had been tripping PS 5.1's "$ErrorActionPreference=Stop + native-command stderr = terminating error" quirk. Trap-and-log added in 0.1.1 EXPOSED the bug (0.1.0 died at the exact same line -- silently). 0.1.2 routes both node calls through a new Invoke-NodeCapture helper that uses Start-Process -RedirectStandardOutput/Error to file, so PS 5.1 never touches the streams. Multi-source TLD cascade with on-disk cache - -Indexer now accepts a comma-separated list; default "https://navigate.st,https://silentmode.st". - Cascade (first hit wins): indexer[s] HTTPS -> local cache (C:\ProgramData\Ariadne\tlds-cache.json) -> electrum WSS (fetchTldList / legacy fetchBcnrTlds) -> bundled ariadne.config.json snapshot -> bootstrap [bch]. - Authoritative fetches (indexer or electrum) refresh the cache. Second install on a machine that has ever succeeded before is instant + always works offline. - Per-source deadlines kept tight (5s for indexer HTTPS) so a slow source can't stall the install. Upgrade over live install - .iss CurStepChanged(ssInstall) stops "BNS Resolver Daemon" + "BNS Sia Bridge" via schtasks + 1.5s pause before file replacement. Fixes "DeleteFile failed; code 5. Access is denied" on runtime\node.exe when upgrading a machine where the daemon is currently running. CA import - Switched Import-Certificate -CertStoreLocation Cert:\... to direct X509Store('Root', 'LocalMachine').Add(). Cert: PSDrive is not always loaded in -NoProfile elevated shells, which had broken the standalone unblock scripts. Verified end-to-end on this box: silent install -> exit 0, clean install.log, BNS Resolver Daemon running, 127.0.0.1:53 open, 9 NRPT rules (all TLDs including .bch), coinspectrum.bch resolves system-wide, tlds-cache.json populated. Deployed - dl.silentmode.st/AriadneResolver-Setup-0.1.2.exe - s3://bns/silentmode/dl/AriadneResolver-Setup-0.1.2.exe - silentmode.st + navigate.st/bns/silentmode.bch manifests advertise 0.1.2 - sha256 5a2c9e4f3c5e1a162008641019f5ffc35968751c0440f94d3c5fe67aafb8cc5e Local Dev <noreply@localhost>
2026-09-09 22:57:06 +02:00
<h2>Ariadne Resolver — Windows <span style="color:var(--acid)">0.1.2</span></h2>
<div class="meta">Windows 64-bit · unsigned · bundled Node runtime · 2026-09-09 · <b>Actually works this time</b> — 0.1.1's persistent install log caught the bug 0.1.0 had had silently all along: install.ps1 died at the CA-rotation probe because PowerShell 5.1's <code style="display:inline">$ErrorActionPreference=Stop</code> plus a native subprocess writing to stderr = "NativeCommandError", killing the script before it could register the daemon or add the last NRPT rule. 0.1.2 routes every node call through <code style="display:inline">Invoke-NodeCapture</code> (Windows-level stream redirection, PS 5.1 doesn't touch the streams). TLD list now cascades: comma-separated indexer list → local cache → electrum WSS → bundled snapshot → bootstrap, and any authoritative fetch refreshes <code style="display:inline">C:\ProgramData\Ariadne\tlds-cache.json</code>. CA import via .NET X509Store direct (no <code style="display:inline">Cert:</code> PSDrive dependency). Upgrades stop the running daemon before file replacement so <code style="display:inline">node.exe</code> is no longer held open during install.</div>
<div class="file">
Ariadne 0.1.2: install.ps1 no longer dies on PS 5.1 stderr quirk; layered TLD-source cascade install.ps1 root-cause fix - Every `& $node ... 2>&1` had been tripping PS 5.1's "$ErrorActionPreference=Stop + native-command stderr = terminating error" quirk. Trap-and-log added in 0.1.1 EXPOSED the bug (0.1.0 died at the exact same line -- silently). 0.1.2 routes both node calls through a new Invoke-NodeCapture helper that uses Start-Process -RedirectStandardOutput/Error to file, so PS 5.1 never touches the streams. Multi-source TLD cascade with on-disk cache - -Indexer now accepts a comma-separated list; default "https://navigate.st,https://silentmode.st". - Cascade (first hit wins): indexer[s] HTTPS -> local cache (C:\ProgramData\Ariadne\tlds-cache.json) -> electrum WSS (fetchTldList / legacy fetchBcnrTlds) -> bundled ariadne.config.json snapshot -> bootstrap [bch]. - Authoritative fetches (indexer or electrum) refresh the cache. Second install on a machine that has ever succeeded before is instant + always works offline. - Per-source deadlines kept tight (5s for indexer HTTPS) so a slow source can't stall the install. Upgrade over live install - .iss CurStepChanged(ssInstall) stops "BNS Resolver Daemon" + "BNS Sia Bridge" via schtasks + 1.5s pause before file replacement. Fixes "DeleteFile failed; code 5. Access is denied" on runtime\node.exe when upgrading a machine where the daemon is currently running. CA import - Switched Import-Certificate -CertStoreLocation Cert:\... to direct X509Store('Root', 'LocalMachine').Add(). Cert: PSDrive is not always loaded in -NoProfile elevated shells, which had broken the standalone unblock scripts. Verified end-to-end on this box: silent install -> exit 0, clean install.log, BNS Resolver Daemon running, 127.0.0.1:53 open, 9 NRPT rules (all TLDs including .bch), coinspectrum.bch resolves system-wide, tlds-cache.json populated. Deployed - dl.silentmode.st/AriadneResolver-Setup-0.1.2.exe - s3://bns/silentmode/dl/AriadneResolver-Setup-0.1.2.exe - silentmode.st + navigate.st/bns/silentmode.bch manifests advertise 0.1.2 - sha256 5a2c9e4f3c5e1a162008641019f5ffc35968751c0440f94d3c5fe67aafb8cc5e Local Dev <noreply@localhost>
2026-09-09 22:57:06 +02:00
<div class="n"><a href="https://dl.silentmode.st/AriadneResolver-Setup-0.1.2.exe">AriadneResolver-Setup-0.1.2.exe</a> — ~24 MB</div>
<code>5a2c9e4f3c5e1a162008641019f5ffc35968751c0440f94d3c5fe67aafb8cc5e</code>
</div>
</div>
<div class="rel">
2026-09-14 08:04:38 +02:00
<h2>Ariadne for Android <span style="color:var(--acid)">0.18</span></h2>
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-09-14 · <b>0.18 — security fix + desktop parity</b> — Security fix and desktop parity. The app no longer carries any storage credentials: Sia-hosted (s3) content is fetched through the public relay at navigate.st, exactly as Theseus does — earlier builds signed their own S3 requests with an embedded key. Name resolution now uses the same canonical model as the desktop resolver (names are label.tld; coinspectrum.x and coinspectrum.bch are distinct), which also fixes on-device lookups against the bundled and mirrored index that previously always missed. BCNR-first on any TLD once the chain knows a name (poutakidis.de, syskypo.de), the active TLD list refreshed from the per-TLD registry via navigate.st/api/tlds, the port-443 electrum route tried first for mobile carriers, record precedence matching Theseus (subdomain + ip first, p never under a subdomain), relay HTML base-href stripped, and start-page cards refreshed from dl.silentmode.st/home-cards.json like the desktop start page.</div>
<div class="file">
2026-09-14 08:04:38 +02:00
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.18.apk">ariadne-v0.18.apk</a> — 146 KB</div>
<code>920272deb1ff3cb163d609882f4fdaf422c163648b96944d16670ba0ba2ac5bf</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 &lt;file&gt; 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>