site/tools/index.html
Local Dev 3def69fe25 Resolver 3438d558: ASCII-clean install.ps1 + multi-TLD NRPT + VPS-first electrum
Parallel session was right — the previously-shipped f94834b5 pre-dated:
  1. the ASCII em-dash sweep in setup/install.ps1 (Inno's [Run] uses
     powershell.exe / PS 5.1; em-dashes in the file crashed the parser
     under UAC, so the installer copied files but never registered the
     scheduled task or NRPT rule)
  2. the multi-TLD NRPT expansion (added .p2p .bit .nav alongside .bch)
  3. the VPS-primary electrum server list — resolver-web.js now dials
     wss://coinspectrum.duckdns.org:50011 first (Silent Mode's own
     BCHN-backed BNS-only indexer), public servers as fallback

Result: a real user installing 3438d558 on a fresh Windows box now gets
a working system-wide resolver with no manual steps.

Deployed to dl.silentmode.st and mirrored to Sia bns/silentmode/.
2026-07-31 23:09:23 +02:00

235 lines
12 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Tools — Silent Mode</title>
<meta name="description" content="Silent Mode's own clients: the public relay, Theseus Navigator (desktop browser), Ariadne Resolver (Windows system-wide), Ariadne for Firefox, and Ariadne for Android. Each one lets you reach names on the Bitcoin Cash blockchain with a different amount of installed software.">
<link rel="stylesheet" href="../shared.css">
<style>
/* Download listing — same shape as the old /apps/ page. Kept inline here
because it's the only page that uses it now (the old /apps/ page is a
redirect stub after the 2026-07-30 IA restructure). */
.dl{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;
background:var(--panel);border:1px solid var(--line);border-radius:12px;
padding:16px 20px;margin-top:1.3rem}
.dl > div:first-child{flex:1;min-width:240px}
.dl h3{margin:0 0 .3rem;font-size:1.05rem}
.dl p{margin:.3rem 0 0;color:var(--mut);font-size:14px}
.dl .meta{color:var(--dim);font-size:12.5px;margin-top:.5rem}
.dl .act{white-space:nowrap;display:flex;flex-direction:column;gap:6px}
.dl .act .btn{padding:9px 16px;font-size:13.5px;text-align:center}
.dl .act .soon{color:var(--dim);font-size:13px;border:1px dashed var(--line);
border-radius:999px;padding:7px 16px;display:inline-block;text-align:center}
.hashes{flex-basis:100%;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.hashes .h{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;font-size:12px;color:var(--dim);margin-top:4px}
.hashes .h b{color:var(--mut);font-weight:600;min-width:110px}
.hashes code{font-family:ui-monospace,monospace;font-size:11.5px;color:#c9d4e3;word-break:break-all}
.platform-line{color:var(--dim);font-size:12.5px;margin-top:.2rem;letter-spacing:.02em}
</style>
</head>
<body>
<nav class="topnav">
<a class="brand" href="../">⛓️ Silent <span class="g">Mode</span></a>
<a href="./" class="here">Tools</a>
<a href="../prometheus/">Prometheus</a>
<a href="../sirius/">Sirius</a>
<a href="../helios/">Helios</a>
<a href="../hermes/">Hermes</a>
</nav>
<header class="hero">
<h1>The Silent Mode <span class="g">tools</span></h1>
<p class="tag">Five ways to reach names on the Bitcoin Cash chain, from
"nothing installed at all" to "the whole computer speaks it natively." Pick by how
much of your machine you want to change.</p>
</header>
<div class="wrap">
<!-- ============ RELAY ============ -->
<section id="relay" class="plain">
<h2>1 · The remote relay <span class="pill p-live" style="vertical-align:middle;margin-left:.4rem">live</span></h2>
<p class="platform-line">Any browser, any device — no install, no download.</p>
<p class="lede">A public gateway reads the blockchain for you and hands the page to your
ordinary browser over ordinary HTTPS. Works on any phone, tablet or computer, in any
browser, with nothing to download and no settings to change.</p>
<table>
<tr><th>Open this</th><th>What you get</th><th>Where the page lives</th></tr>
<tr><td><a href="https://navigate.st/bns/hello.bch"><code>navigate.st/bns/hello.bch</code></a></td>
<td>A small page</td><td><span class="src s-chain">inside a blockchain transaction</span></td></tr>
<tr><td><a href="https://navigate.st/bns/silentmode.bch"><code>navigate.st/bns/silentmode.bch</code></a></td>
<td>This project's own demo</td><td><span class="src s-chain">inside a blockchain transaction</span></td></tr>
<tr><td><a href="https://navigate.st/bns/coinspectrum.deviant.bch"><code>navigate.st/bns/coinspectrum.deviant.bch</code></a></td>
<td>A full multi-file site</td><td><span class="src s-sia">Sia storage network</span></td></tr>
<tr><td><a href="https://navigate.st/bns/coinspectrum.bch"><code>navigate.st/bns/coinspectrum.bch</code></a></td>
<td>The same site again</td><td><span class="src s-srv">an ordinary web server</span></td></tr>
</table>
<div class="note warn"><b>What the relay costs you.</b> Because it resolves names on your
behalf, the relay operator can see which <code class="inline">.bch</code> sites you
ask for. It is also one thing that can be blocked. Install anything below and the
lookup happens on your own machine — no operator in the middle.</div>
</section>
<!-- ============ THESEUS ============ -->
<section id="theseus">
<h2>2 · Theseus Navigator <span class="pill p-alpha" style="vertical-align:middle;margin-left:.4rem">alpha</span></h2>
<p class="platform-line">Desktop browser · Windows 64-bit · macOS / Linux not yet packaged</p>
<p class="lede">A browser that speaks <code class="inline">.bch</code>,
<code class="inline">.p2p</code> and other BNS TLDs natively. Tabs, search, a home
page, a one-click Tor switch, and a registry badge on every page showing which
chain a name resolved on and whether the content came from the chain, from Sia, or
from a server. Changes nothing on your system.</p>
<div class="dl">
<div>
<span class="pill p-alpha">alpha</span>
<h3>Theseus Navigator — installer &amp; portable</h3>
<p>Runs standalone; no admin required. Set as default browser if you want it
handling every link, or launch it only for BNS names.</p>
<div class="meta">Windows 64-bit · ~92 MB · v0.0.1 · unsigned build (no code-signing certificate)</div>
</div>
<div class="act">
<a class="btn" href="https://dl.silentmode.st/TheseusNavigator-Setup-0.0.1.exe">Installer</a>
<a class="btn ghost" href="https://dl.silentmode.st/TheseusNavigator-0.0.1-portable.exe">Portable .exe</a>
</div>
<div class="hashes">
<div style="color:var(--mut);font-size:12.5px">SHA-256 — verify your download before running:</div>
<div class="h"><b>Installer</b><code>91764aba2645476b1be2595efa0a34b986dd84265e033c05e5db432616dc1e86</code></div>
<div class="h"><b>Portable</b><code>41a54c7e974ee83a7bc6319e39162afff221fb8e53f4421271ffb73565faf025</code></div>
</div>
</div>
</section>
<!-- ============ RESOLVER ============ -->
<section id="resolver">
<h2>3 · Ariadne Resolver <span class="pill p-alpha" style="vertical-align:middle;margin-left:.4rem">alpha</span></h2>
<p class="platform-line">System-wide daemon · Windows 64-bit · Linux/macOS after</p>
<p class="lede">A small background service plus an installer. Teaches your <i>whole
computer</i> to open BNS names in <i>every</i> browser, with HTTPS working. Runs a
local DNS resolver that answers BNS names from the chain first and forwards
everything else. Mints TLS certificates on the fly, signed by a local root
<b>name-constrained</b> to the BNS TLDs — it cannot vouch for
<code class="inline">.com</code>.</p>
<div class="dl">
<div>
<span class="pill p-alpha">alpha</span>
<h3>Ariadne Resolver for Windows</h3>
<p>Asks for administrator rights because it changes how your machine resolves
names. Adds a background service, points DNS at loopback, imports one root
certificate into the trust store. Everything reverses with the bundled uninstaller.</p>
<div class="meta">Windows 64-bit · v0.1.0 · bundled Node runtime · unsigned build</div>
</div>
<div class="act">
<a class="btn" href="https://dl.silentmode.st/AriadneResolver-Setup-0.1.0.exe">Installer</a>
</div>
<div class="hashes">
<div style="color:var(--mut);font-size:12.5px">SHA-256 — verify before elevating:</div>
<div class="h"><b>Installer</b><code>3438d55871d1f7454df691767e6f4be61c6d3ac900606b86f369cc7da8741302</code></div>
</div>
</div>
</section>
<!-- ============ FIREFOX EXTENSION ============ -->
<section id="extension">
<h2>4 · Ariadne for Firefox <span class="pill p-alpha" style="vertical-align:middle;margin-left:.4rem">alpha</span></h2>
<p class="platform-line">Firefox extension · desktop and Firefox for Android</p>
<p class="lede">A browser add-on that resolves BNS names inside Firefox — no background
service, no system changes. The lightest install: 8 KB, zero dependencies. Resolves
names in-extension against public electrum nodes; no local daemon, no hosted resolver,
no account.</p>
<div class="dl">
<div>
<span class="pill p-alpha">alpha</span>
<h3>Ariadne for Firefox</h3>
<p>Known limit: no TLS pinning yet — sites reached over <code class="inline">ip</code>
records are only as trustworthy as the upstream server. Being fixed.</p>
<div class="meta">Firefox · ~8 KB · packaging in progress</div>
</div>
<div class="act">
<span class="soon">Packaging in progress</span>
</div>
</div>
</section>
<!-- ============ ANDROID ============ -->
<section id="android">
<h2>5 · Ariadne for Android <span class="pill p-alpha" style="vertical-align:middle;margin-left:.4rem">alpha</span></h2>
<p class="platform-line">Android app · Android 5.0+ (API 21)</p>
<p class="lede">A phone app that resolves BNS names on the device itself — it talks to
Bitcoin Cash nodes directly, with no relay and no account. Tabs, a start page built
from the names actually registered on chain, and a badge on every page showing whether
the name came from the chain or from ordinary DNS, with the block and transaction
behind it one tap away.</p>
<div class="dl">
<div>
<span class="pill p-alpha">alpha</span>
<h3>Ariadne for Android</h3>
<p>The app is not in the Play Store — distributing there requires a legal identity
and Google's permission, the two things this project exists to do without. You
will have to allow installation from your browser or file manager once.</p>
<div class="meta">Android 5.0+ (API 21) · ~97 KB · v0.2 · self-signed release key</div>
</div>
<div class="act">
<a class="btn" href="https://dl.silentmode.st/ariadne-v0.2.apk">Download APK</a>
</div>
<div class="hashes">
<div style="color:var(--mut);font-size:12.5px">SHA-256 — verify before installing:</div>
<div class="h"><b>ariadne-v0.2.apk</b><code>635c8f04d44ef855a8390b9eeddb8cd2d50622e81cc4e5004e8daffc1bb0425c</code></div>
<div class="h"><b>Signing key</b><code>46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c</code></div>
</div>
</div>
<div class="note"><b>The signing key fingerprint above is what matters.</b> Every future
update is signed with the same key, and Android will refuse to install an update
signed by anyone else — so once you have checked it, that check protects every
version after this one.</div>
</section>
<!-- ============ VERIFYING ============ -->
<section>
<h2>Verifying every download</h2>
<div class="grid">
<div class="card">
<h3>Windows</h3>
<p>After downloading, compute the SHA-256 and compare it to the value above:
<code class="inline">certutil -hashfile &lt;file&gt; SHA256</code>.
Builds carry <b>no code-signing certificate</b> — that requires a legal
identity, which is what this project exists to avoid. Windows will warn about
an unrecognized app; that warning is expected. The hash is the real check.</p>
</div>
<div class="card">
<h3>Android</h3>
<p>Hash the downloaded <code class="inline">.apk</code> on a computer before
moving it to the phone, or use any file-hashing app. The signing certificate
fingerprint (published above) is what binds every future update to the same
author.</p>
</div>
<div class="card">
<h3>On chain</h3>
<p>The canonical checksum list will be published as a record on
<code class="inline">releases.silentmode.bch</code> — the name pins where it is
served from, so a tampered mirror cannot change what you check against.
Machine-readable manifest: <a href="../releases-manifest.json"><code class="inline">releases-manifest.json</code></a>.
Human-readable page: <a href="../releases/"><code class="inline">/releases/</code></a>.</p>
</div>
</div>
</section>
</div>
<footer>
<div>Silent Mode — a Deviant project.</div>
<div class="fine">Alpha software on a test network. Nothing here is signed by an
authority your device already trusts — <b>by design</b>. The SHA-256 is the real check.
Nothing here is a service, a product guarantee, or an investment.</div>
</footer>
</body>
</html>