site audit: home, Ariadne page, Hermes downloads, releases/dl consolidation
Home: Prometheus and Hermes are live, not "designed"; new Ariadne and Pithos cards; VPN, Bergamot and Mirrors linked; the page no longer claims to run on nginx or to list "seven pieces". /ariadne: new Silent Mode-headered page for the resolver family — Android browser (APK, hash, signing key), standalone Windows resolver, how a lookup resolves — linking out to the sovereign ariadne.x. "Ariadne" tab added to every page's top nav; VPN and Bergamot navs normalised to the site-root scheme while there. Hermes: Download section (Windows installer + MSI, Android APK with hashes from the manifest, web messenger), mobile and Windows marked live, hero image path fixed; the brand-kit page's links were relative to a URL that no longer has a trailing slash and the folder had never been deployed. Releases/dl: the live dl manifest had been overwritten from a stale base and was serving 0.3.106 to updaters while 0.3.110 was on the host; merged (union) and reshipped. Manifest gains hermes-android/hermes-desktop; keep policy aligned between the page (releases-page.mjs) and the VPS (dl-vps-archive.sh, new, all products) so the page never links a build the host no longer has. dl.silentmode.st/ now serves a generated index with absolute links; dl-latest.sh tracked in-repo and extended with Hermes rows. scripts/site-linkcheck.mjs resolves links the way the slash-less URLs do.
This commit is contained in:
parent
995775d085
commit
3e87ab3f81
19 changed files with 822 additions and 169 deletions
23
GOTCHAS.md
23
GOTCHAS.md
|
|
@ -39,12 +39,29 @@ release blocks are generated from it. After adding a release to the manifest:
|
|||
node scripts/releases-page.mjs # trims the manifest, rewrites the blocks
|
||||
```
|
||||
|
||||
then scp `releases/index.html` + the manifest (both VPS paths). Do not hand-
|
||||
edit the blocks; the next run overwrites them. Consumers (Theseus + Ariadne
|
||||
updaters, `dl-latest.sh`) read only the first entry per product id, so
|
||||
then scp `releases/index.html` + the manifest (both VPS paths) + the
|
||||
generated `releases/dl-index.html` → `/opt/silent-mode/dl/index.html` (the
|
||||
dl host has no shared.css, so that copy uses absolute links). Do not hand-
|
||||
edit the blocks; the next run overwrites them. Consumers (Theseus + Ariadne +
|
||||
Hermes updaters, `dl-latest.sh`) read only the first entry per product id, so
|
||||
trimming never changes what they see. Older builds live on Sia under
|
||||
`dl-archive/` and every old checksum is in git history.
|
||||
|
||||
**Ship to dl FROM the repo manifest, never the other way round.** On
|
||||
2026-10-24 a session wrote its product's entries straight into
|
||||
`/opt/silent-mode/dl/releases-manifest.json` from a stale base and silently
|
||||
dropped four newer Theseus and two Ariadne entries — the auto-updater served
|
||||
0.3.106 while 0.3.110 was on the host. Merge into `site/releases-manifest.json`
|
||||
first (union by id+version+platform), run the script, then scp.
|
||||
|
||||
**Prune the VPS with `scripts/dl-vps-archive.sh`** (all products, `--dry-run`
|
||||
first). Its keep table must match `KEEP` in `releases-page.mjs`, or the page
|
||||
links installers the host no longer has. `/latest/` redirects are generated on
|
||||
the VPS by `/opt/silent-mode/bin/dl-latest.sh` (cron, 5 min), tracked at
|
||||
`VPS/SilentMode/dl-latest.sh`; a new product needs a row there too.
|
||||
|
||||
**Check links after editing pages:** `node scripts/site-linkcheck.mjs`.
|
||||
|
||||
## Old Theseus builds fill the VPS disk
|
||||
|
||||
`scripts/theseus-vps-archive.sh <version>` moves everything older than N-1 to
|
||||
|
|
|
|||
172
ariadne/index.html
Normal file
172
ariadne/index.html
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Ariadne — the resolver and the mobile browser — Silent Mode</title>
|
||||
<meta name="description" content="Ariadne: Silent Mode's name resolver. On Android it is a browser that resolves Bitcoin Cash names on the phone itself; on Windows a standalone system-wide resolver; inside Theseus it is built in. Downloads with SHA-256.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="Silent Mode">
|
||||
<meta property="og:title" content="Ariadne — Silent Mode">
|
||||
<meta property="og:description" content="The resolver behind every Silent Mode client: Android browser, standalone Windows resolver, built into Theseus.">
|
||||
<meta property="og:url" content="https://silentmode.st/ariadne">
|
||||
<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">
|
||||
<link rel="stylesheet" href="shared.css?v=20260910">
|
||||
<link rel="icon" type="image/svg+xml" href="favicon.svg">
|
||||
<style>
|
||||
.sov{margin:1.4rem 0 0;color:var(--dim);font-size:13px}
|
||||
.sov b{color:var(--mut)}
|
||||
.dl .h{font-size:11.5px;color:var(--dim);margin-top:.5rem}
|
||||
.dl .h code{word-break:break-all}
|
||||
</style>
|
||||
</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="ariadne">Ariadne</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>
|
||||
|
||||
<header class="hero">
|
||||
<div class="mark"><svg viewBox="0 0 64 64" aria-hidden="true" style="width:64px;height:64px"><circle cx="32" cy="32" r="30" fill="#141a24"/><path d="M14 44 C20 20, 44 20, 50 44" fill="none" stroke="#d6ff3d" stroke-width="4" stroke-linecap="round"/><path d="M20 44 C24 28, 40 28, 44 44" fill="none" stroke="#8b98a9" stroke-width="3" stroke-linecap="round"/><circle cx="32" cy="46" r="3" fill="#d6ff3d"/></svg></div>
|
||||
<h1>Ariadne <span class="g">resolver</span></h1>
|
||||
<p class="tag">The thread that leads out of the DNS maze. Ariadne reads names straight from the
|
||||
Bitcoin Cash chain and answers on the device: no gateway to trust, no operator who can
|
||||
rewrite the answer. It ships three ways: a mobile browser for Android, a standalone
|
||||
system-wide resolver for Windows, and built into every Theseus install.</p>
|
||||
<div class="cta">
|
||||
<a class="btn acid" href="#android">Android browser</a>
|
||||
<a class="btn ghost" href="#resolver">Windows resolver</a>
|
||||
<a class="btn ghost" href="#how">How a lookup resolves</a>
|
||||
</div>
|
||||
<p class="sov">
|
||||
<b>Ariadne.X</b> is the mobile browser's sovereign site, served from its own on-chain name.
|
||||
Mirror: <a href="/ariadne-x/">silentmode.st/ariadne-x/</a> ·
|
||||
gateway: <a href="https://navigate.st/bns/ariadne.x/">navigate.st/bns/ariadne.x/</a> ·
|
||||
native with a resolver: <a href="https://ariadne.x/"><code class="inline">https://ariadne.x/</code></a>
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<div class="wrap">
|
||||
|
||||
<figure class="shot">
|
||||
<img src="theseus/img/ariadne-android-silentmode-bch.png" width="540" height="1090" alt="Ariadne for Android showing silentmode.bch resolved on the phone, with the BCN badge in the address bar" loading="lazy" style="max-width:320px;margin:0 auto">
|
||||
<figcaption>silentmode.bch opened in Ariadne for Android. The badge says the name came from the chain.</figcaption>
|
||||
</figure>
|
||||
|
||||
<!-- ============ ANDROID ============ -->
|
||||
<section id="android">
|
||||
<h2>Ariadne for Android</h2>
|
||||
<p class="lede">A phone-sized browser that resolves Bitcoin Cash names on the device. Every lookup
|
||||
asks the on-device snapshot and a live Electrum server in parallel and takes whichever answers
|
||||
first; if they disagree, the chain wins. Sia-hosted pages are fetched from the bucket directly,
|
||||
with no gateway in between. Tap the badge on any page to see the block and transaction behind
|
||||
the name.</p>
|
||||
<div class="dl">
|
||||
<div>
|
||||
<span class="pill p-alpha">alpha</span>
|
||||
<h3>Ariadne for Android 0.52</h3>
|
||||
<p><b>Ariadne's Thread</b> is one tap away inside the app: a local VPN service that resolves
|
||||
names for every app on the phone, not just this browser. No root, no profile, nothing
|
||||
installed at OS level. The app updates itself once installed.</p>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-10-24</div>
|
||||
<div class="h">SHA-256 <code class="inline">da3655262114cd0505b69c9833ea129c2808dc3fbb8c0137abd60bad15959615</code></div>
|
||||
<div class="h">Signing key <code class="inline">46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c</code></div>
|
||||
</div>
|
||||
<div class="act">
|
||||
<a class="btn acid" href="https://dl.silentmode.st/latest/ariadne.apk">Download APK</a>
|
||||
<a class="btn ghost" href="https://navigate.st/bns/ariadne.x/">ariadne.x</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ============ WINDOWS RESOLVER ============ -->
|
||||
<section id="resolver">
|
||||
<h2>Ariadne Resolver for Windows</h2>
|
||||
<p class="lede">For anyone who wants names working in <i>every</i> browser on the machine without
|
||||
installing Theseus. It runs as a small background service that answers name lookups and mints
|
||||
TLS certificates on the fly for names registered on chain. The Theseus installer offers the
|
||||
same component as "Ariadne's Thread".</p>
|
||||
<div class="dl">
|
||||
<div>
|
||||
<span class="pill p-alpha">alpha</span>
|
||||
<h3>Ariadne Resolver 0.1.13</h3>
|
||||
<p>Asks for administrator rights because it changes how the machine resolves names: a
|
||||
background service, routing rules that send only the chain's TLDs to the local daemon, and
|
||||
one root certificate <b>name-constrained</b> to those TLDs, so it cannot vouch for
|
||||
<code class="inline">.com</code>. Everything reverses with the bundled uninstaller.</p>
|
||||
<div class="meta">Windows 64-bit · bundled Node runtime · unsigned · 2026-10-01</div>
|
||||
<div class="h">SHA-256 <code class="inline">a16d10759efede4412f4fdb52d59424bf56bbb258bb002ab930f4a5a5aef8a41</code></div>
|
||||
</div>
|
||||
<div class="act">
|
||||
<a class="btn acid" href="https://dl.silentmode.st/latest/AriadneResolver-Setup.exe">Installer</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="note" style="margin-top:1rem"><b>Inside Theseus.</b> The desktop browser carries the same resolver
|
||||
in-process, so it needs none of this. The installer's optional "Ariadne's Thread" step installs
|
||||
this standalone resolver alongside, for Chrome, Edge and everything else on the machine.</div>
|
||||
</section>
|
||||
|
||||
<!-- ============ HOW ============ -->
|
||||
<section id="how">
|
||||
<h2>How a lookup resolves</h2>
|
||||
<ol class="steps">
|
||||
<li><b>Type a name.</b><span>Anything with a dot goes to the resolver; a bare word is a search.
|
||||
The name is normalised to its registered form first.</span></li>
|
||||
<li><b>Two sources, first answer wins.</b><span>The bundled on-device snapshot and a live Electrum
|
||||
server are asked in parallel. If they disagree, the chain's answer is used. Nothing blocks
|
||||
the navigation.</span></li>
|
||||
<li><b>Read the record, serve the page.</b><span>An <code class="inline">h</code> record is a page
|
||||
inside a transaction; <code class="inline">s3</code> fetches the Sia bucket directly;
|
||||
<code class="inline">ip</code> connects to a host with its TLS fingerprint pinned on chain;
|
||||
<code class="inline">u</code> redirects.</span></li>
|
||||
<li><b>Show the proof.</b><span>The badge in the address bar names the registry and the storage
|
||||
that served the bytes. Tap it for the block height and transaction.</span></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- ============ VERIFY ============ -->
|
||||
<section id="verify">
|
||||
<h2>Verify what you downloaded</h2>
|
||||
<div class="grid">
|
||||
<div class="card">
|
||||
<h3>Android</h3>
|
||||
<p>Hash the <code class="inline">.apk</code> on a computer before moving it to the phone, or use
|
||||
any file-hashing app, and compare to the value above. The signing-key fingerprint matters most:
|
||||
Android refuses any update signed by a different key.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3>Windows</h3>
|
||||
<p><code class="inline">certutil -hashfile <file> SHA256</code>. The build carries no
|
||||
code-signing certificate, so Windows warns about an unrecognized app. That warning is
|
||||
expected; the hash is the check.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3>Every build, every hash</h3>
|
||||
<p>The <a href="releases">releases page</a> lists current builds with checksums, and the
|
||||
machine-readable <a href="https://dl.silentmode.st/releases-manifest.json">manifest</a> is
|
||||
what the apps themselves update from.</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, by design. The SHA-256 is the real check.</div>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -34,14 +34,15 @@
|
|||
<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>
|
||||
<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="ariadne">Ariadne</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>
|
||||
|
||||
<header class="hero">
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
<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="ariadne">Ariadne</a>
|
||||
<a href="prometheus">Prometheus</a>
|
||||
<a href="sirius">Sirius</a>
|
||||
<a href="hephaestus">Hephaestus</a>
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
<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="ariadne">Ariadne</a>
|
||||
<a href="prometheus">Prometheus</a>
|
||||
<a href="sirius">Sirius</a>
|
||||
<a href="hephaestus">Hephaestus</a>
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@
|
|||
<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="ariadne">Ariadne</a>
|
||||
<a href="prometheus">Prometheus</a>
|
||||
<a href="sirius">Sirius</a>
|
||||
<a href="hephaestus" class="here">Hephaestus</a>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>hermes.x — brand kit</title>
|
||||
<meta name="description" content="Hermes brand kit: mark, logo lockups, avatars, banners, social cards, palette, voice.">
|
||||
<link rel="icon" href="../favicon.svg" type="image/svg+xml">
|
||||
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
|
||||
<link rel="stylesheet" href="../shared.css">
|
||||
<style>
|
||||
.hero-mark{display:inline-flex;line-height:0}
|
||||
|
|
@ -59,17 +59,17 @@
|
|||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="../../">
|
||||
<img src="../favicon.svg" alt="Hermes" width="22" height="22" style="display:block">
|
||||
<img src="/favicon.svg" alt="Hermes" width="22" height="22" style="display:block">
|
||||
<span>Hermes<span class="x">.X</span></span>
|
||||
</a>
|
||||
<a href="https://hermes.x/messenger/">Messenger</a>
|
||||
<a href="./" class="here">Branding</a>
|
||||
<a href="/hermes/branding/./" class="here">Branding</a>
|
||||
<a href="https://theseus.x/" class="get">Get Theseus</a>
|
||||
</nav>
|
||||
|
||||
<header class="hero">
|
||||
<div class="hero-mark" aria-hidden="true">
|
||||
<img src="../favicon.svg" alt="Hermes">
|
||||
<img src="/favicon.svg" alt="Hermes">
|
||||
</div>
|
||||
<h1>Brand kit</h1>
|
||||
<p class="tag">Mark, logo lockups, avatars, banners, social cards, palette, voice. One page
|
||||
|
|
@ -94,18 +94,18 @@
|
|||
dark inner cutouts for the flap V-fold.</p>
|
||||
|
||||
<div class="mark-row">
|
||||
<div class="cell"><img src="../favicon.svg" alt="" width="16" height="16"><small>16 px (favicon)</small></div>
|
||||
<div class="cell"><img src="../favicon.svg" alt="" width="24" height="24"><small>24 px (sidebar)</small></div>
|
||||
<div class="cell"><img src="../favicon.svg" alt="" width="32" height="32"><small>32 px</small></div>
|
||||
<div class="cell"><img src="../favicon.svg" alt="" width="64" height="64"><small>64 px</small></div>
|
||||
<div class="cell"><img src="../favicon.svg" alt="" width="96" height="96"><small>96 px (panel)</small></div>
|
||||
<div class="cell cell-sky"><img src="mark-on-sky.svg" alt="" width="64" height="64"><small>on sky</small></div>
|
||||
<div class="cell cell-light"><img src="mark-on-light.svg" alt="" width="64" height="64"><small>on light</small></div>
|
||||
<div class="cell"><img src="/favicon.svg" alt="" width="16" height="16"><small>16 px (favicon)</small></div>
|
||||
<div class="cell"><img src="/favicon.svg" alt="" width="24" height="24"><small>24 px (sidebar)</small></div>
|
||||
<div class="cell"><img src="/favicon.svg" alt="" width="32" height="32"><small>32 px</small></div>
|
||||
<div class="cell"><img src="/favicon.svg" alt="" width="64" height="64"><small>64 px</small></div>
|
||||
<div class="cell"><img src="/favicon.svg" alt="" width="96" height="96"><small>96 px (panel)</small></div>
|
||||
<div class="cell cell-sky"><img src="/hermes/branding/mark-on-sky.svg" alt="" width="64" height="64"><small>on sky</small></div>
|
||||
<div class="cell cell-light"><img src="/hermes/branding/mark-on-light.svg" alt="" width="64" height="64"><small>on light</small></div>
|
||||
</div>
|
||||
|
||||
<div class="dl-row">
|
||||
<a href="mark.svg" download>⬇️ mark.svg <code>vector master</code></a>
|
||||
<a href="../favicon.svg" download>⬇️ favicon.svg <code>same, favicon slot</code></a>
|
||||
<a href="/hermes/branding/mark.svg" download>⬇️ mark.svg <code>vector master</code></a>
|
||||
<a href="/favicon.svg" download>⬇️ favicon.svg <code>same, favicon slot</code></a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
@ -116,39 +116,39 @@
|
|||
|
||||
<div class="logo-grid">
|
||||
<div class="lo">
|
||||
<img src="logo-horizontal.svg" alt="Hermes logo horizontal">
|
||||
<img src="/hermes/branding/logo-horizontal.svg" alt="Hermes logo horizontal">
|
||||
<span class="label">horizontal — default</span>
|
||||
</div>
|
||||
<div class="lo sky">
|
||||
<img src="logo-horizontal-on-sky.svg" alt="Hermes logo on sky">
|
||||
<img src="/hermes/branding/logo-horizontal-on-sky.svg" alt="Hermes logo on sky">
|
||||
<span class="label">horizontal — on sky</span>
|
||||
</div>
|
||||
<div class="lo light">
|
||||
<img src="logo-horizontal-light.svg" alt="Hermes logo light">
|
||||
<img src="/hermes/branding/logo-horizontal-light.svg" alt="Hermes logo light">
|
||||
<span class="label">horizontal — on light</span>
|
||||
</div>
|
||||
<div class="lo">
|
||||
<img src="logo-stacked.svg" alt="Hermes logo stacked" style="max-height:220px">
|
||||
<img src="/hermes/branding/logo-stacked.svg" alt="Hermes logo stacked" style="max-height:220px">
|
||||
<span class="label">stacked — default</span>
|
||||
</div>
|
||||
<div class="lo sky">
|
||||
<img src="logo-stacked-on-sky.svg" alt="Hermes logo stacked on sky" style="max-height:220px">
|
||||
<img src="/hermes/branding/logo-stacked-on-sky.svg" alt="Hermes logo stacked on sky" style="max-height:220px">
|
||||
<span class="label">stacked — on sky</span>
|
||||
</div>
|
||||
<div class="lo">
|
||||
<img src="wordmark.svg" alt="Hermes wordmark" style="max-height:60px">
|
||||
<img src="/hermes/branding/wordmark.svg" alt="Hermes wordmark" style="max-height:60px">
|
||||
<span class="label">wordmark only</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dl-row">
|
||||
<a href="logo-horizontal.svg" download>⬇️ logo-horizontal.svg</a>
|
||||
<a href="logo-horizontal-on-sky.svg" download>⬇️ logo-horizontal-on-sky.svg</a>
|
||||
<a href="logo-horizontal-light.svg" download>⬇️ logo-horizontal-light.svg</a>
|
||||
<a href="logo-stacked.svg" download>⬇️ logo-stacked.svg</a>
|
||||
<a href="logo-stacked-on-sky.svg" download>⬇️ logo-stacked-on-sky.svg</a>
|
||||
<a href="wordmark.svg" download>⬇️ wordmark.svg</a>
|
||||
<a href="wordmark-navy.svg" download>⬇️ wordmark-navy.svg</a>
|
||||
<a href="/hermes/branding/logo-horizontal.svg" download>⬇️ logo-horizontal.svg</a>
|
||||
<a href="/hermes/branding/logo-horizontal-on-sky.svg" download>⬇️ logo-horizontal-on-sky.svg</a>
|
||||
<a href="/hermes/branding/logo-horizontal-light.svg" download>⬇️ logo-horizontal-light.svg</a>
|
||||
<a href="/hermes/branding/logo-stacked.svg" download>⬇️ logo-stacked.svg</a>
|
||||
<a href="/hermes/branding/logo-stacked-on-sky.svg" download>⬇️ logo-stacked-on-sky.svg</a>
|
||||
<a href="/hermes/branding/wordmark.svg" download>⬇️ wordmark.svg</a>
|
||||
<a href="/hermes/branding/wordmark-navy.svg" download>⬇️ wordmark-navy.svg</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
@ -160,23 +160,23 @@
|
|||
|
||||
<div class="avatar-row">
|
||||
<div class="av">
|
||||
<img src="avatar-dark.png" alt="Hermes avatar dark">
|
||||
<img src="/hermes/branding/avatar-dark.png" alt="Hermes avatar dark">
|
||||
<span class="label">avatar-dark.png<br>1000×1000</span>
|
||||
</div>
|
||||
<div class="av">
|
||||
<img src="avatar-light.png" alt="Hermes avatar light">
|
||||
<img src="/hermes/branding/avatar-light.png" alt="Hermes avatar light">
|
||||
<span class="label">avatar-light.png<br>1000×1000</span>
|
||||
</div>
|
||||
<div class="av">
|
||||
<img src="avatar-sky.png" alt="Hermes avatar sky">
|
||||
<img src="/hermes/branding/avatar-sky.png" alt="Hermes avatar sky">
|
||||
<span class="label">avatar-sky.png<br>1000×1000</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dl-row">
|
||||
<a href="avatar-dark.png" download>⬇️ avatar-dark.png</a>
|
||||
<a href="avatar-light.png" download>⬇️ avatar-light.png</a>
|
||||
<a href="avatar-sky.png" download>⬇️ avatar-sky.png</a>
|
||||
<a href="/hermes/branding/avatar-dark.png" download>⬇️ avatar-dark.png</a>
|
||||
<a href="/hermes/branding/avatar-light.png" download>⬇️ avatar-light.png</a>
|
||||
<a href="/hermes/branding/avatar-sky.png" download>⬇️ avatar-sky.png</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
@ -186,18 +186,18 @@
|
|||
aspect ratios so no cropping on upload.</p>
|
||||
|
||||
<div class="banner-wrap">
|
||||
<img src="banner-twitter.png" alt="Hermes Twitter / X banner 1500×500">
|
||||
<img src="/hermes/branding/banner-twitter.png" alt="Hermes Twitter / X banner 1500×500">
|
||||
<div class="label">banner-twitter.png — 1500×500 (X, LinkedIn, Facebook header)</div>
|
||||
</div>
|
||||
|
||||
<div class="banner-wrap">
|
||||
<img src="banner-hero.png" alt="Hermes website hero banner 2000×700">
|
||||
<img src="/hermes/branding/banner-hero.png" alt="Hermes website hero banner 2000×700">
|
||||
<div class="label">banner-hero.png — 2000×700 (website / landing hero)</div>
|
||||
</div>
|
||||
|
||||
<div class="dl-row">
|
||||
<a href="banner-twitter.png" download>⬇️ banner-twitter.png</a>
|
||||
<a href="banner-hero.png" download>⬇️ banner-hero.png</a>
|
||||
<a href="/hermes/branding/banner-twitter.png" download>⬇️ banner-twitter.png</a>
|
||||
<a href="/hermes/branding/banner-hero.png" download>⬇️ banner-hero.png</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
@ -207,24 +207,24 @@
|
|||
renders this when hermes.x is shared), plus a square Instagram-style poster.</p>
|
||||
|
||||
<div class="banner-wrap">
|
||||
<img src="og-card.png" alt="Hermes Open Graph card 1200×630">
|
||||
<img src="/hermes/branding/og-card.png" alt="Hermes Open Graph card 1200×630">
|
||||
<div class="label">og-card.png — 1200×630 (OG image / Twitter card)</div>
|
||||
</div>
|
||||
|
||||
<div class="banner-wrap">
|
||||
<img src="og-card-sky.png" alt="Hermes OG card on sky 1200×630">
|
||||
<img src="/hermes/branding/og-card-sky.png" alt="Hermes OG card on sky 1200×630">
|
||||
<div class="label">og-card-sky.png — 1200×630 (sky-background variant)</div>
|
||||
</div>
|
||||
|
||||
<div class="banner-wrap" style="max-width:540px;margin-left:auto;margin-right:auto">
|
||||
<img src="poster-square.png" alt="Hermes square poster 1080×1080">
|
||||
<img src="/hermes/branding/poster-square.png" alt="Hermes square poster 1080×1080">
|
||||
<div class="label">poster-square.png — 1080×1080 (Instagram / Mastodon)</div>
|
||||
</div>
|
||||
|
||||
<div class="dl-row">
|
||||
<a href="og-card.png" download>⬇️ og-card.png</a>
|
||||
<a href="og-card-sky.png" download>⬇️ og-card-sky.png</a>
|
||||
<a href="poster-square.png" download>⬇️ poster-square.png</a>
|
||||
<a href="/hermes/branding/og-card.png" download>⬇️ og-card.png</a>
|
||||
<a href="/hermes/branding/og-card-sky.png" download>⬇️ og-card-sky.png</a>
|
||||
<a href="/hermes/branding/poster-square.png" download>⬇️ poster-square.png</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
<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="ariadne">Ariadne</a>
|
||||
<a href="prometheus">Prometheus</a>
|
||||
<a href="sirius">Sirius</a>
|
||||
<a href="hephaestus">Hephaestus</a>
|
||||
|
|
@ -32,9 +33,9 @@
|
|||
|
||||
<header class="hero">
|
||||
<div class="mark" style="line-height:0; display:inline-flex">
|
||||
<img src="branding/mark.webp" alt="Hermes" width="120" height="120" style="display:block">
|
||||
<img src="hermes/branding/mark.webp" alt="Hermes" width="120" height="120" style="display:block">
|
||||
</div>
|
||||
<h1>Hermes <span class="pill p-shipped" style="vertical-align:middle;font-size:12px;margin-left:.6rem;background:rgba(79,209,165,.12);color:#4fd1a5;padding:2px 10px;border-radius:999px">live · desktop & web</span></h1>
|
||||
<h1>Hermes <span class="pill p-shipped" style="vertical-align:middle;font-size:12px;margin-left:.6rem;background:rgba(79,209,165,.12);color:#4fd1a5;padding:2px 10px;border-radius:999px">live · desktop, web, Android</span></h1>
|
||||
<p class="tag">End-to-end encrypted DMs over Nostr, addressed by your
|
||||
on-chain registered name instead of a public-key string. Same wallet
|
||||
is your identity — no email, no phone number, no company, no server that can delete
|
||||
|
|
@ -112,6 +113,12 @@
|
|||
<p>Messages persist to disk per identity. Close and reopen the panel and your threads are
|
||||
still there, unread marks included. Seed backup lives behind your password.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<span class="pill p-live">live</span>
|
||||
<h3>Hermes for Windows</h3>
|
||||
<p>The messenger as a stand-alone desktop app, installer or MSI, for machines without
|
||||
Theseus. Byte-equal with the Theseus panel; sign in with the same recovery phrase.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<span class="pill p-alpha">preview</span>
|
||||
<h3>Web messenger</h3>
|
||||
|
|
@ -119,11 +126,11 @@
|
|||
the desktop browser. Same crypto, same identity, signs in with an nsec or a mnemonic.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<span class="pill p-upcoming">next</span>
|
||||
<h3>Mobile</h3>
|
||||
<p>Ariadne for Android already opens hermes.x from its menu. A native Messages tab is a
|
||||
multi-release port of its own (Schnorr signatures, NIP-44 and a WebSocket client inside
|
||||
the JDK-8 build); it ships in slices.</p>
|
||||
<span class="pill p-live">live</span>
|
||||
<h3>Hermes for Android</h3>
|
||||
<p>A native app (Kotlin, Jetpack Compose) with the same identity and wire format as the
|
||||
desktop and web clients: one inbox on every surface. Background delivery, in-app
|
||||
auto-update verified against the release manifest, find people by phone number.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<span class="pill p-upcoming">planned</span>
|
||||
|
|
@ -134,6 +141,40 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ============ DOWNLOAD ============ -->
|
||||
<section id="download">
|
||||
<h2>Download</h2>
|
||||
<p class="lede">Alpha software on a test network. Check the SHA-256 before you install; that check
|
||||
is the real one. Every hash and every older build is on the <a href="releases">releases page</a>.</p>
|
||||
<div class="grid">
|
||||
<div class="card">
|
||||
<span class="pill p-live">Android 8.0+</span>
|
||||
<h3>Hermes for Android <span style="color:var(--acid)">0.3.0</span></h3>
|
||||
<p style="margin-bottom:.7rem">Self-signed release key, in-app auto-update.</p>
|
||||
<p><a class="btn acid" href="https://dl.silentmode.st/latest/hermes.apk">Download APK</a></p>
|
||||
<p style="margin-top:.8rem;font-size:11.5px;color:var(--dim)">SHA-256 <code class="inline" style="word-break:break-all">77d16184ba2c26fb81b79d9e4c5f98f8bfb434690c1e6acd9b7fd5f16651a6cb</code></p>
|
||||
<p style="margin-top:.4rem;font-size:11.5px;color:var(--dim)">Signing key <code class="inline" style="word-break:break-all">b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7</code></p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<span class="pill p-live">Windows 64-bit</span>
|
||||
<h3>Hermes for Windows <span style="color:var(--acid)">0.1.0</span></h3>
|
||||
<p style="margin-bottom:.7rem">Unsigned build; Windows will warn about an unrecognized app.</p>
|
||||
<p><a class="btn acid" href="https://dl.silentmode.st/latest/Hermes-Setup.exe">Installer</a>
|
||||
<a class="btn ghost" href="https://dl.silentmode.st/latest/Hermes.msi">MSI</a></p>
|
||||
<p style="margin-top:.5rem;font-size:11.5px;color:var(--dim)">Hermes-0.1.0-setup.exe <code class="inline" style="word-break:break-all">0adc742d54daaee2b62e7fdcbff2f0203bd50f995444487ff93233ccc6328552</code></p>
|
||||
<p style="margin-top:.5rem;font-size:11.5px;color:var(--dim)">Hermes-0.1.0.msi <code class="inline" style="word-break:break-all">fa81948bba8c3d6e9306a5aa218424fd2a4bc692891f3d2543c2782207f86b3f</code></p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<span class="pill p-live">no install</span>
|
||||
<h3>In Theseus, or in any browser</h3>
|
||||
<p>Theseus ships Hermes as a bundled add-on: open the Hermes icon in the left sidebar or
|
||||
press Ctrl+Shift+E. Without Theseus, the web messenger at
|
||||
<a href="https://navigate.st/bns/hermes.x/messenger/">hermes.x/messenger</a> runs in
|
||||
any browser; sign in with a recovery phrase.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ============ THE IDEA ============ -->
|
||||
<section class="plain">
|
||||
<h2>The one idea that makes this different</h2>
|
||||
|
|
@ -217,10 +258,10 @@
|
|||
history stays in that browser's storage.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<span class="pill p-upcoming">next</span>
|
||||
<h3>In Ariadne mobile</h3>
|
||||
<p>Opens hermes.x from the menu today. The native Messages screen, with the same seed and the
|
||||
same identity so you can message from either device, arrives in later releases.</p>
|
||||
<span class="pill p-live">live</span>
|
||||
<h3>On Android and Windows</h3>
|
||||
<p>Native apps with the same seed and the same identity, so you can message from any
|
||||
device. Ariadne for Android also opens hermes.x from its menu.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
46
index.html
46
index.html
|
|
@ -56,7 +56,7 @@
|
|||
<!-- ============ .st vs .bch — the split ============ -->
|
||||
<div class="note" style="margin-top:1.6rem;font-size:14.5px;border-left-color:var(--sia)">
|
||||
<b>This page is ordinary web infrastructure.</b> <code class="inline">silentmode.st</code>
|
||||
runs on nginx, a rented server, an ICANN domain, and a Let's Encrypt certificate — because
|
||||
runs on an ordinary web server, a rented machine, an ICANN domain, and a Let's Encrypt certificate — because
|
||||
the point of this page is to <i>talk about</i> the alternative web, and the widest
|
||||
audience needs no install to read it.
|
||||
<br><br>
|
||||
|
|
@ -71,8 +71,7 @@
|
|||
<!-- ============ THE FIVE PRODUCTS ============ -->
|
||||
<section class="plain">
|
||||
<h2>What we build</h2>
|
||||
<p class="lede">Seven pieces, each named for a figure whose role matches its function.
|
||||
Each solves one part of the "how do we run a web without gatekeepers" problem, and
|
||||
<p class="lede">Each piece is named for a figure whose role matches its function, and each solves one part of the "how do we run a web without gatekeepers" problem, and
|
||||
all of them interoperate around one thing: a name on the Bitcoin Cash chain.</p>
|
||||
|
||||
<div class="grid">
|
||||
|
|
@ -86,6 +85,15 @@
|
|||
<p style="margin-top:.8rem"><a href="theseus">Download Theseus →</a></p>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<span class="pill p-live">live</span>
|
||||
<h3>Ariadne <span class="src s-chain">mobile & resolver</span></h3>
|
||||
<p>The mobile browser for Android that resolves names on the phone itself, with
|
||||
Ariadne's Thread to make every app on the device name-aware. The same resolver
|
||||
ships standalone for Windows and inside every Theseus install.</p>
|
||||
<p style="margin-top:.8rem"><a href="ariadne">Get Ariadne →</a></p>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<span class="pill p-live">live</span>
|
||||
<h3>Sirius <span class="src s-chain">names</span></h3>
|
||||
|
|
@ -105,10 +113,11 @@
|
|||
</div>
|
||||
|
||||
<div class="card">
|
||||
<span class="pill p-designed">designed</span>
|
||||
<span class="pill p-live">live</span>
|
||||
<h3>Prometheus <span class="src s-sia">apps</span></h3>
|
||||
<p>Home for apps and programs published on chain, hosted on Sia. Categories,
|
||||
signed endorsements, verified installs. Anyone can publish; nobody can gatekeep.</p>
|
||||
<p>The app directory at prometheus.x. Publishers sign a listing with their name's key,
|
||||
Prometheus scans the binary and attaches a signed report, and every download is
|
||||
verified. Anyone can publish; nobody can gatekeep.</p>
|
||||
<p style="margin-top:.8rem"><a href="prometheus">Browse Prometheus →</a></p>
|
||||
</div>
|
||||
|
||||
|
|
@ -121,12 +130,21 @@
|
|||
</div>
|
||||
|
||||
<div class="card">
|
||||
<span class="pill p-designed">designed</span>
|
||||
<span class="pill p-live">live</span>
|
||||
<h3>Hermes <span class="src s-tor">messages</span></h3>
|
||||
<p>End-to-end encrypted messaging over Nostr, addressed by your BNS name instead
|
||||
of a public-key string. Same wallet is your identity — no email, no phone number,
|
||||
no company.</p>
|
||||
<p style="margin-top:.8rem"><a href="hermes">Read the design →</a></p>
|
||||
<p>End-to-end encrypted messaging over Nostr, addressed by your on-chain registered
|
||||
name instead of a public-key string. In Theseus, on the web at hermes.x, and as
|
||||
apps for Windows and Android. No email, no phone number, no company.</p>
|
||||
<p style="margin-top:.8rem"><a href="hermes">Get Hermes →</a></p>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<span class="pill p-live">live</span>
|
||||
<h3>Pithos <span class="src s-sia">storage</span></h3>
|
||||
<p>Decentralized cloud storage you own: a desktop app, a web client and a Theseus
|
||||
add-on for Sia buckets, encrypted on your device before anything leaves it. Bring
|
||||
your own storage account or use the hosted option.</p>
|
||||
<p style="margin-top:.8rem"><a href="/pithos/">See Pithos →</a></p>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
|
|
@ -138,6 +156,10 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
<p style="color:var(--dim);font-size:13.5px;margin:1.2rem 0 0">Also shipped inside Theseus:
|
||||
a one-click <a href="vpn">VPN</a>, on-device page translation with
|
||||
<a href="bergamot">Bergamot</a>, and <a href="mirrors">reverse-proxy mirrors</a> for
|
||||
sites that block unfamiliar browsers.</p>
|
||||
</section>
|
||||
|
||||
<!-- ============ THE COMMON THREAD ============ -->
|
||||
|
|
@ -146,7 +168,7 @@
|
|||
<p class="lede">Everything above depends on one thing: a name registered on the
|
||||
Bitcoin Cash chain, held in a wallet you control. That name is your address on
|
||||
Prometheus, your identity on Hermes, your ranking signal on Helios, and the URL
|
||||
Tools resolve. Register once; use it everywhere. Nobody issues it, nobody revokes
|
||||
Theseus and Ariadne resolve. Register once; use it everywhere. Nobody issues it, nobody revokes
|
||||
it, and no service you use here needs an account.</p>
|
||||
<div class="cta" style="justify-content:flex-start">
|
||||
<a class="btn acid" href="sirius">Register a name at Sirius →</a>
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@
|
|||
<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="ariadne">Ariadne</a>
|
||||
<a href="prometheus">Prometheus</a>
|
||||
<a href="sirius">Sirius</a>
|
||||
<a href="hephaestus">Hephaestus</a>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"schema": "silentmode-releases/2",
|
||||
"updated": "2026-10-23T20:42:49.763Z",
|
||||
"updated": "2026-10-24T00:26:19.725Z",
|
||||
"mirrors": [
|
||||
"https://dl.silentmode.st/"
|
||||
],
|
||||
|
|
@ -47,34 +47,6 @@
|
|||
"TheseusNavigator-Setup-0.3.108.exe": "d84baf7a909a856dc664848573c26bcc049f067e9878513670718530b1874bc8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "theseus-navigator",
|
||||
"product": "Theseus Navigator",
|
||||
"version": "0.3.107",
|
||||
"date": "2026-10-23",
|
||||
"platform": "win-x64",
|
||||
"signed": false,
|
||||
"signingAuthority": null,
|
||||
"changes": "Home page splits the left-column links and the Silent Mode cards into two self-contained panels; the slot icons default closer to Windows desktop-shortcut size. Opt-in Claude connector hardening: the approved origin is re-checked before every CDP read or input (a mid-call navigation to an unapproved site now throws); the bearer token rotates on every stop; click(x, y) without a ref refuses when the point lies on a password or one-time-code field.",
|
||||
"files": {
|
||||
"TheseusNavigator-0.3.107-portable.exe": "f5a9c228e0fc83d0737b9d6210ae08c861010fdd79bd10b5c48486c7659166b4",
|
||||
"TheseusNavigator-Setup-0.3.107.exe": "c0be62cf4b4279b13d5badd75af7f5607b76ae5a63b587c72b20b40428e041d9"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "theseus-navigator",
|
||||
"product": "Theseus Navigator",
|
||||
"version": "0.3.106",
|
||||
"date": "2026-10-22",
|
||||
"platform": "win-x64",
|
||||
"signed": false,
|
||||
"signingAuthority": null,
|
||||
"changes": "Sidebar strip's AI engine picker is now a styled overlay instead of a plain native menu. Each enabled engine is listed with its own icon (bundled color-coded tiles for ChatGPT, Grok, Gemini and Phind join the existing favicons); the current engine is highlighted with the acid accent bar and a check; a bottom row jumps to Search settings. Clicking an engine selects it as the default and opens it in the left panel in one click.",
|
||||
"files": {
|
||||
"TheseusNavigator-0.3.106-portable.exe": "2c299e31c812d8903f601d9c4b54385fc7335ebfc69690765f48dbcf7039b79e",
|
||||
"TheseusNavigator-Setup-0.3.106.exe": "26a5752e5e7107d2718087c8831eeee3c9c25e6af61f5a3d94b537a16e5a18e4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ariadne-resolver",
|
||||
"product": "Ariadne Resolver (Windows)",
|
||||
|
|
@ -88,6 +60,36 @@
|
|||
"AriadneResolver-Setup-0.1.13.exe": "a16d10759efede4412f4fdb52d59424bf56bbb258bb002ab930f4a5a5aef8a41"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ariadne-android",
|
||||
"product": "Ariadne for Android",
|
||||
"version": "0.52",
|
||||
"date": "2026-10-24",
|
||||
"platform": "android",
|
||||
"minSdk": 21,
|
||||
"signed": true,
|
||||
"signingAuthority": null,
|
||||
"signingCertSha256": "46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c",
|
||||
"changes": "The updater now polls ariadne.x — manifest + APKs live in the s3://bns/ariadne/ bucket the on-chain record points to, routed through the public BNS gateway so a raw HTTPS client reaches them without the Ariadne resolver being up. Download page link also moved from silentmode.st to ariadne.x. Older clients keep polling the silentmode.st mirror; the manifest at both URLs stays in sync until the fleet has rolled over. Same signing key; installs over 0.51.",
|
||||
"files": {
|
||||
"ariadne-v0.52.apk": "da3655262114cd0505b69c9833ea129c2808dc3fbb8c0137abd60bad15959615"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ariadne-android",
|
||||
"product": "Ariadne for Android",
|
||||
"version": "0.51",
|
||||
"date": "2026-10-24",
|
||||
"platform": "android",
|
||||
"minSdk": 21,
|
||||
"signed": true,
|
||||
"signingAuthority": null,
|
||||
"signingCertSha256": "46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c",
|
||||
"changes": "Launcher switches to the pottery variant — same bust silhouette in warm terracotta on navy. New Settings → Downloads row opens the system Downloads app so saved files are easy to find. AI engine picker is now a styled list with each provider's real favicon + host, and the bottom-nav AI button carries the current engine's favicon too. Closing a tab from inside the switcher no longer flashes the homepage even for a frame (persistent navy host swaps the inner view atomically). Settings page sections are more clearly separated. Toggling the Tab switcher layout now shows a toast on save. Same signing key; installs over 0.50.",
|
||||
"files": {
|
||||
"ariadne-v0.51.apk": "8e5b091bf48ffe17047f91e517e9ca66e8ff4c4cdcb1a074f7b928654eae2b45"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ariadne-android",
|
||||
"product": "Ariadne for Android",
|
||||
|
|
@ -103,21 +105,6 @@
|
|||
"ariadne-v0.50.apk": "4ca980c58a21101f2b3b54a864a49f71912d424d07870778da21690efb45e35b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ariadne-android",
|
||||
"product": "Ariadne for Android",
|
||||
"version": "0.49",
|
||||
"date": "2026-10-23",
|
||||
"platform": "android",
|
||||
"minSdk": 21,
|
||||
"signed": true,
|
||||
"signingAuthority": null,
|
||||
"signingCertSha256": "46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c",
|
||||
"changes": "Reordering a LIVE asset card no longer reloads the homepage: Move up / Move down now shift the DOM card in place, so scroll position and already-fetched spark prices stay put. Same signing key; installs over 0.48.",
|
||||
"files": {
|
||||
"ariadne-v0.49.apk": "fe31b36c96133271171ef0e6a6aa3b55fcd5310cc43c824182046c82ff8fa178"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "pithos-desktop",
|
||||
"product": "Pithos",
|
||||
|
|
@ -175,6 +162,65 @@
|
|||
"Pithos-0.3.25-amd64.deb": "04e36e9451ab1addcc6a179dbf527fb2689e019beb7d7edb02fd0d85501c626b",
|
||||
"Pithos-0.3.25-linux-x64.tar.gz": "1aea475630e8722c563e132ffa922190da08aec1ab09bedece0fbfbdfecfc307"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hermes-android",
|
||||
"product": "Hermes for Android",
|
||||
"version": "0.3.0",
|
||||
"date": "2026-10-24",
|
||||
"platform": "android",
|
||||
"minSdk": 26,
|
||||
"signed": true,
|
||||
"signingAuthority": null,
|
||||
"signingCertSha256": "b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7",
|
||||
"changes": "In-app auto-update. Hermes now polls dl.silentmode.st/releases-manifest.json on launch and on resume, and shows an update banner at the top of the chat list when a newer version is live. Tap Update → downloads the APK via the pinned client, SHA-256-verifies against the manifest field, then launches Android's package installer. Android refuses to install an APK signed by a different key than the running app, so a tampered manifest can at worst waste bandwidth. Same signing key as 0.2.2; installs over it. Requires the one-time Install-unknown-apps grant on first update, which Android shims via Settings.",
|
||||
"files": {
|
||||
"hermes-v0.3.0.apk": "77d16184ba2c26fb81b79d9e4c5f98f8bfb434690c1e6acd9b7fd5f16651a6cb"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hermes-android",
|
||||
"product": "Hermes for Android",
|
||||
"version": "0.2.2",
|
||||
"date": "2026-10-24",
|
||||
"platform": "android",
|
||||
"minSdk": 26,
|
||||
"signed": true,
|
||||
"signingAuthority": null,
|
||||
"signingCertSha256": "b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7",
|
||||
"changes": "Find People now accepts a phone number alongside BNS names, labels, npubs and hex pubkeys. Type +15551234567 (or 0015551234567) and Hermes hashes it locally and asks the relays for the matching kind:30078 phone-claim event — the raw number never leaves the device. Shows the Hermes identity with a verified ✓ when the owner's phone-claim carries a valid Telegram attestation, same shape as the Address Book contact matches. The input also switches to a numeric phone keyboard the moment it looks like a phone number. Same signing key as 0.2.1; installs over it.",
|
||||
"files": {
|
||||
"hermes-v0.2.2.apk": "b46da998caa57a6923bb4ab305c5ab1cff88fbf38f4028eb2cecceb77140f1a6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hermes-android",
|
||||
"product": "Hermes for Android",
|
||||
"version": "0.2.1",
|
||||
"date": "2026-10-24",
|
||||
"platform": "android",
|
||||
"minSdk": 26,
|
||||
"signed": true,
|
||||
"signingAuthority": null,
|
||||
"signingCertSha256": "b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7",
|
||||
"changes": "Fix: real-time inbox delivery. 0.2.0 held a persistent inbox REQ at sign-in, but mobile WebSockets drop constantly (wifi/cellular transitions, OS backgrounding, keep-alive timeouts) and the REQ wasn't replayed on reconnect — the relay forgot our filter and inbound kind:1059 wraps stopped arriving until the next 15-min WorkManager poll or next outgoing send kicked a catch-up. RelayConnection now remembers active subscriptions and replays them on every onOpen, so a recipient sees messages the moment they land on the relay. Also pins the initial `since` to max(lastSeenAt, now - 7d), bounding the reconnect replay. Updates DeliveryPrefs.lastSeenAt on each decrypted wrap so background delivery stays in step.",
|
||||
"files": {
|
||||
"hermes-v0.2.1.apk": "014438c3c1a92dd0108d994ae411ed27bf2de58c735614498e86d11462066d61"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hermes-desktop",
|
||||
"product": "Hermes for Windows",
|
||||
"version": "0.1.0",
|
||||
"date": "2026-10-23",
|
||||
"platform": "win-x64",
|
||||
"signed": false,
|
||||
"signingAuthority": null,
|
||||
"changes": "First desktop build: the Hermes messenger as a stand-alone Windows app (Tauri), byte-equal with the Theseus panel and the hermes.x web messenger. Sign in with a recovery phrase or create a new identity; same inbox on every surface.",
|
||||
"files": {
|
||||
"Hermes-0.1.0-setup.exe": "0adc742d54daaee2b62e7fdcbff2f0203bd50f995444487ff93233ccc6328552",
|
||||
"Hermes-0.1.0.msi": "fa81948bba8c3d6e9306a5aa218424fd2a4bc692891f3d2543c2782207f86b3f"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
289
releases/dl-index.html
Normal file
289
releases/dl-index.html
Normal file
|
|
@ -0,0 +1,289 @@
|
|||
<!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>dl.silentmode.st — downloads & 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="https://silentmode.st/shared.css?v=20260910">
|
||||
<link rel="icon" type="image/svg+xml" href="https://silentmode.st/favicon.svg">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav class="topnav">
|
||||
<a class="brand" href="https://silentmode.st/"><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="https://silentmode.st/theseus">Theseus</a>
|
||||
<a href="https://silentmode.st/ariadne">Ariadne</a>
|
||||
<a href="https://silentmode.st/prometheus">Prometheus</a>
|
||||
<a href="https://silentmode.st/sirius">Sirius</a>
|
||||
<a href="https://silentmode.st/hephaestus">Hephaestus</a>
|
||||
<a href="https://silentmode.st/helios">Helios</a>
|
||||
<a href="https://silentmode.st/hermes">Hermes</a>
|
||||
<a href="https://silentmode.st/tools">Tools</a>
|
||||
</nav>
|
||||
|
||||
<div class="wrap">
|
||||
<h1>Silent <span class="g">Mode</span> — downloads</h1>
|
||||
<p class="lede" style="margin:0 0 .4rem">Every file on this host, newest first, with its SHA-256. Stable links: <code style="display:inline">/latest/<product-file></code> always redirects to the current build. The full product pages are on <a href="https://silentmode.st/">silentmode.st</a>.</p>
|
||||
<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.110</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-10-23 · Silent Mode home cards switch from a stacked icon-above-title-above-sub layout to a horizontal one: a left stack holds the icon and the title, the description sits on the right with left-aligned text and up to three lines. Card backgrounds drop to a 55% rgba with a 10 px backdrop blur so the wallpaper reads through. Home tagline updated: Names that live on the Bitcoin Cash chain becomes Names that live on decentralized blockchain. The address-bar tip now points at hello.bch by name.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.110-portable.exe">TheseusNavigator-0.3.110-portable.exe</a> — portable</div>
|
||||
<code>1e26fdeaa64b46d58dcb5912760a75c59fccaa527cf464928a21291a77604490</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.110.exe">TheseusNavigator-Setup-0.3.110.exe</a> — installer</div>
|
||||
<code>8d31c55ac41e69779d49cba2b06beb692816ed3f9ef2468a4b458196f088dff9</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.109</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-10-23 · Right-click on a tab now shows a Save page as submenu with PDF and Image (PNG) items. PDF uses the browser printing pipeline (A4, prints backgrounds, respects CSS @page); PNG saves the visible viewport. Both open a save dialog with a filename derived from the tab title or hostname and register the file in the downloads popup. The Claude connector design doc is now hosted at theseus.x/dev/claude-connector/DESIGN-claude-connector.md so readers do not have to leave for the forge.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.109-portable.exe">TheseusNavigator-0.3.109-portable.exe</a> — portable</div>
|
||||
<code>b0d1c4acb4c010aec6ffcb9371fd29818000e967f39f07d621cc52c8d44ed3a6</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.109.exe">TheseusNavigator-Setup-0.3.109.exe</a> — installer</div>
|
||||
<code>540abd41ccc253974c97aad9c7309ad870cf1e315c090dcad142f71435fef914</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.108</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-10-23 · Home page: hero mark sits in front of the Theseus Navigator wordmark inside a translucent rounded panel, so the identity stays readable on any wallpaper (the tag line and the hint got matching pill backings). Left-column slots widened from a fixed 3-col grid in a 280 px panel to an auto-fill grid in a 360-440 px panel, so about five columns of 72 px tiles fit instead of three.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.108-portable.exe">TheseusNavigator-0.3.108-portable.exe</a> — portable</div>
|
||||
<code>a6cd0f04a141aa26ef7dd38e71170e841800ae993e926910e76099cf430b2e0f</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.108.exe">TheseusNavigator-Setup-0.3.108.exe</a> — installer</div>
|
||||
<code>d84baf7a909a856dc664848573c26bcc049f067e9878513670718530b1874bc8</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Ariadne Resolver — Windows <span style="color:var(--acid)">0.1.13</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · bundled Node runtime · 2026-10-01 · Every subsystem is now individually switchable and reports its own state. New endpoint http://127.0.0.1/api/status returns a full state report (daemon version + startup + policy + permitted TLDs + ports + upstream + gateway; index size + warm-start source; per-source enabled/lastAttempt/lastSuccess/lastError/counters for snapshotHttps + electrumWss + perQueryLookup + diskCache + localApi). C:\ProgramData\Ariadne\policy.json extended with a `sources.<name>.enabled` block (hot-reloaded every 5 s alongside the collision policy) -- flip any source off to isolate a path or measure without it. Turning localApi off returns 503 with a hint pointing at the config file. Turning diskCache off skips writing bns-name-snapshot.json AND skips reading it at warm-start. Turning snapshotHttps off skips the HTTPS refresh; electrumWss off skips the WSS refresh; perQueryLookup off skips the per-query /api/name/ fallback. Includes 0.1.12 (orphan-safe upgrade + /api/tlds + /api/name/:n + /api/registry). Upgrades in place.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/AriadneResolver-Setup-0.1.13.exe">AriadneResolver-Setup-0.1.13.exe</a> — installer</div>
|
||||
<code>a16d10759efede4412f4fdb52d59424bf56bbb258bb002ab930f4a5a5aef8a41</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.52</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-10-24 · The updater now polls ariadne.x — manifest + APKs live in the s3://bns/ariadne/ bucket the on-chain record points to, routed through the public BNS gateway so a raw HTTPS client reaches them without the Ariadne resolver being up. Download page link also moved from silentmode.st to ariadne.x. Older clients keep polling the silentmode.st mirror; the manifest at both URLs stays in sync until the fleet has rolled over. Same signing key; installs over 0.51.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.52.apk">ariadne-v0.52.apk</a> — APK</div>
|
||||
<code>da3655262114cd0505b69c9833ea129c2808dc3fbb8c0137abd60bad15959615</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="rel">
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.51</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-10-24 · Launcher switches to the pottery variant — same bust silhouette in warm terracotta on navy. New Settings → Downloads row opens the system Downloads app so saved files are easy to find. AI engine picker is now a styled list with each provider's real favicon + host, and the bottom-nav AI button carries the current engine's favicon too. Closing a tab from inside the switcher no longer flashes the homepage even for a frame (persistent navy host swaps the inner view atomically). Settings page sections are more clearly separated. Toggling the Tab switcher layout now shows a toast on save. Same signing key; installs over 0.50.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.51.apk">ariadne-v0.51.apk</a> — APK</div>
|
||||
<code>8e5b091bf48ffe17047f91e517e9ca66e8ff4c4cdcb1a074f7b928654eae2b45</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="rel">
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.50</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-10-23 · New launcher icon — the laurel-crowned bust silhouette from the Ariadne.X brand kit, recoloured gold on navy. Replaces the figure-only mark; same signing key; installs over 0.49.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.50.apk">ariadne-v0.50.apk</a> — APK</div>
|
||||
<code>4ca980c58a21101f2b3b54a864a49f71912d424d07870778da21690efb45e35b</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="rel">
|
||||
<h2>Pithos <span style="color:var(--acid)">0.3.26</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-10-08 · In Theseus, Send on Telegram and Send on WhatsApp open Theseus's own Telegram and WhatsApp apps at their share screens; the share menu shows the real Telegram, WhatsApp and X icons. The sidebar's Full page button is gone (the panel's Maximize does the same).</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-0.3.26-portable.exe">Pithos-0.3.26-portable.exe</a> — portable</div>
|
||||
<code>951d4e814f8f8a3e729b8dc63ae69b848dff106a1517c0ca12347985567e32b0</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-Setup-0.3.26.exe">Pithos-Setup-0.3.26.exe</a> — installer</div>
|
||||
<code>e3daef6fedb72c63e893b7851108ed87a08c74ccdf6e1207bb218bda88f57e0a</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Pithos <span style="color:var(--acid)">0.3.26</span> <span style="color:var(--dim);font-size:.8em">Linux</span></h2>
|
||||
<div class="meta">Linux 64-bit · unsigned · 2026-10-08 · In Theseus, Send on Telegram and Send on WhatsApp open Theseus's own Telegram and WhatsApp apps at their share screens; the share menu shows the real Telegram, WhatsApp and X icons. The sidebar's Full page button is gone (the panel's Maximize does the same).</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-0.3.26-x86_64.AppImage">Pithos-0.3.26-x86_64.AppImage</a> — AppImage</div>
|
||||
<code>0562f5b82f8788ef44451babfb9d8799eb635ae56aece0072db18f851f40917f</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-0.3.26-amd64.deb">Pithos-0.3.26-amd64.deb</a> — Debian package</div>
|
||||
<code>0aecfdccbdc30194b3d0918a7f157d82bffd37a56d88a2de9a0015df666e0334</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-0.3.26-linux-x64.tar.gz">Pithos-0.3.26-linux-x64.tar.gz</a> — tarball</div>
|
||||
<code>2329527f53fa3726a9ec44a1859f235c7bb59953f9c15b71d1c5081fb5414954</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Pithos <span style="color:var(--acid)">0.3.25</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-10-07 · Share opens a menu: copy the public link, open it, or send it on X, Telegram or WhatsApp. Shared links open on a page with a preview and a Download button. Pithos fills wide windows, a renamed user updates in every open view, and pithos.sia in Theseus asks for the vault PIN after a lock and reopens once it is unlocked.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-0.3.25-portable.exe">Pithos-0.3.25-portable.exe</a> — portable</div>
|
||||
<code>81a498b0586263c7795643dc8cce96c96d8d9233714913d13b81ab14706f21eb</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-Setup-0.3.25.exe">Pithos-Setup-0.3.25.exe</a> — installer</div>
|
||||
<code>958e962dc068a5032d1d9f18aa818b67160a93bb5e45b551fc5cf700357d4def</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Pithos <span style="color:var(--acid)">0.3.25</span> <span style="color:var(--dim);font-size:.8em">Linux</span></h2>
|
||||
<div class="meta">Linux 64-bit · unsigned · 2026-10-08 · Share opens a menu: copy the public link, open it, or send it on X, Telegram or WhatsApp. Shared links open on a page with a preview and a Download button. Pithos fills wide windows and a renamed user updates in every open view.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-0.3.25-x86_64.AppImage">Pithos-0.3.25-x86_64.AppImage</a> — AppImage</div>
|
||||
<code>1b0eabd1bb0a28435b05658cf3f5a2dcefd029b65c79dbec80e9e9e1ae135df7</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-0.3.25-amd64.deb">Pithos-0.3.25-amd64.deb</a> — Debian package</div>
|
||||
<code>04e36e9451ab1addcc6a179dbf527fb2689e019beb7d7edb02fd0d85501c626b</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Pithos-0.3.25-linux-x64.tar.gz">Pithos-0.3.25-linux-x64.tar.gz</a> — tarball</div>
|
||||
<code>1aea475630e8722c563e132ffa922190da08aec1ab09bedece0fbfbdfecfc307</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Hermes for Android <span style="color:var(--acid)">0.3.0</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · signed · 2026-10-24 · In-app auto-update. Hermes now polls dl.silentmode.st/releases-manifest.json on launch and on resume, and shows an update banner at the top of the chat list when a newer version is live. Tap Update → downloads the APK via the pinned client, SHA-256-verifies against the manifest field, then launches Android's package installer. Android refuses to install an APK signed by a different key than the running app, so a tampered manifest can at worst waste bandwidth. Same signing key as 0.2.2; installs over it. Requires the one-time Install-unknown-apps grant on first update, which Android shims via Settings.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/hermes-v0.3.0.apk">hermes-v0.3.0.apk</a> — APK</div>
|
||||
<code>77d16184ba2c26fb81b79d9e4c5f98f8bfb434690c1e6acd9b7fd5f16651a6cb</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||||
<code>b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Hermes for Android <span style="color:var(--acid)">0.2.2</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · signed · 2026-10-24 · Find People now accepts a phone number alongside BNS names, labels, npubs and hex pubkeys. Type +15551234567 (or 0015551234567) and Hermes hashes it locally and asks the relays for the matching kind:30078 phone-claim event — the raw number never leaves the device. Shows the Hermes identity with a verified ✓ when the owner's phone-claim carries a valid Telegram attestation, same shape as the Address Book contact matches. The input also switches to a numeric phone keyboard the moment it looks like a phone number. Same signing key as 0.2.1; installs over it.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/hermes-v0.2.2.apk">hermes-v0.2.2.apk</a> — APK</div>
|
||||
<code>b46da998caa57a6923bb4ab305c5ab1cff88fbf38f4028eb2cecceb77140f1a6</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||||
<code>b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Hermes for Android <span style="color:var(--acid)">0.2.1</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · signed · 2026-10-24 · Fix: real-time inbox delivery. 0.2.0 held a persistent inbox REQ at sign-in, but mobile WebSockets drop constantly (wifi/cellular transitions, OS backgrounding, keep-alive timeouts) and the REQ wasn't replayed on reconnect — the relay forgot our filter and inbound kind:1059 wraps stopped arriving until the next 15-min WorkManager poll or next outgoing send kicked a catch-up. RelayConnection now remembers active subscriptions and replays them on every onOpen, so a recipient sees messages the moment they land on the relay. Also pins the initial `since` to max(lastSeenAt, now - 7d), bounding the reconnect replay. Updates DeliveryPrefs.lastSeenAt on each decrypted wrap so background delivery stays in step.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/hermes-v0.2.1.apk">hermes-v0.2.1.apk</a> — APK</div>
|
||||
<code>014438c3c1a92dd0108d994ae411ed27bf2de58c735614498e86d11462066d61</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||||
<code>b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Hermes for Windows <span style="color:var(--acid)">0.1.0</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-10-23 · First desktop build: the Hermes messenger as a stand-alone Windows app (Tauri), byte-equal with the Theseus panel and the hermes.x web messenger. Sign in with a recovery phrase or create a new identity; same inbox on every surface.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Hermes-0.1.0-setup.exe">Hermes-0.1.0-setup.exe</a></div>
|
||||
<code>0adc742d54daaee2b62e7fdcbff2f0203bd50f995444487ff93233ccc6328552</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Hermes-0.1.0.msi">Hermes-0.1.0.msi</a></div>
|
||||
<code>fa81948bba8c3d6e9306a5aa218424fd2a4bc692891f3d2543c2782207f86b3f</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p style="color:var(--dim);font-size:13px;margin:0 0 1.2rem">Recent releases only. Every older build is archived on Sia under
|
||||
<code style="display:inline">dl-archive/</code> and its checksum stays in this repository's history.</p>
|
||||
<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>
|
||||
|
|
@ -43,6 +43,7 @@
|
|||
<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="ariadne">Ariadne</a>
|
||||
<a href="prometheus">Prometheus</a>
|
||||
<a href="sirius">Sirius</a>
|
||||
<a href="hephaestus">Hephaestus</a>
|
||||
|
|
@ -99,34 +100,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.107</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-10-23 · Home page splits the left-column links and the Silent Mode cards into two self-contained panels; the slot icons default closer to Windows desktop-shortcut size. Opt-in Claude connector hardening: the approved origin is re-checked before every CDP read or input (a mid-call navigation to an unapproved site now throws); the bearer token rotates on every stop; click(x, y) without a ref refuses when the point lies on a password or one-time-code field.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.107-portable.exe">TheseusNavigator-0.3.107-portable.exe</a> — portable</div>
|
||||
<code>f5a9c228e0fc83d0737b9d6210ae08c861010fdd79bd10b5c48486c7659166b4</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.107.exe">TheseusNavigator-Setup-0.3.107.exe</a> — installer</div>
|
||||
<code>c0be62cf4b4279b13d5badd75af7f5607b76ae5a63b587c72b20b40428e041d9</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.106</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-10-22 · Sidebar strip's AI engine picker is now a styled overlay instead of a plain native menu. Each enabled engine is listed with its own icon (bundled color-coded tiles for ChatGPT, Grok, Gemini and Phind join the existing favicons); the current engine is highlighted with the acid accent bar and a check; a bottom row jumps to Search settings. Clicking an engine selects it as the default and opens it in the left panel in one click.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.106-portable.exe">TheseusNavigator-0.3.106-portable.exe</a> — portable</div>
|
||||
<code>2c299e31c812d8903f601d9c4b54385fc7335ebfc69690765f48dbcf7039b79e</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.106.exe">TheseusNavigator-Setup-0.3.106.exe</a> — installer</div>
|
||||
<code>26a5752e5e7107d2718087c8831eeee3c9c25e6af61f5a3d94b537a16e5a18e4</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Ariadne Resolver — Windows <span style="color:var(--acid)">0.1.13</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · bundled Node runtime · 2026-10-01 · Every subsystem is now individually switchable and reports its own state. New endpoint http://127.0.0.1/api/status returns a full state report (daemon version + startup + policy + permitted TLDs + ports + upstream + gateway; index size + warm-start source; per-source enabled/lastAttempt/lastSuccess/lastError/counters for snapshotHttps + electrumWss + perQueryLookup + diskCache + localApi). C:\ProgramData\Ariadne\policy.json extended with a `sources.<name>.enabled` block (hot-reloaded every 5 s alongside the collision policy) -- flip any source off to isolate a path or measure without it. Turning localApi off returns 503 with a hint pointing at the config file. Turning diskCache off skips writing bns-name-snapshot.json AND skips reading it at warm-start. Turning snapshotHttps off skips the HTTPS refresh; electrumWss off skips the WSS refresh; perQueryLookup off skips the per-query /api/name/ fallback. Includes 0.1.12 (orphan-safe upgrade + /api/tlds + /api/name/:n + /api/registry). Upgrades in place.</div>
|
||||
|
|
@ -138,12 +111,12 @@
|
|||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.50</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-10-23 · New launcher icon — the laurel-crowned bust silhouette from the Ariadne.X brand kit, recoloured gold on navy. Replaces the figure-only mark; same signing key; installs over 0.49.</div>
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.52</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-10-24 · The updater now polls ariadne.x — manifest + APKs live in the s3://bns/ariadne/ bucket the on-chain record points to, routed through the public BNS gateway so a raw HTTPS client reaches them without the Ariadne resolver being up. Download page link also moved from silentmode.st to ariadne.x. Older clients keep polling the silentmode.st mirror; the manifest at both URLs stays in sync until the fleet has rolled over. Same signing key; installs over 0.51.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.50.apk">ariadne-v0.50.apk</a> — APK</div>
|
||||
<code>4ca980c58a21101f2b3b54a864a49f71912d424d07870778da21690efb45e35b</code>
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.52.apk">ariadne-v0.52.apk</a> — APK</div>
|
||||
<code>da3655262114cd0505b69c9833ea129c2808dc3fbb8c0137abd60bad15959615</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||||
|
|
@ -152,12 +125,26 @@
|
|||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.49</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-10-23 · Reordering a LIVE asset card no longer reloads the homepage: Move up / Move down now shift the DOM card in place, so scroll position and already-fetched spark prices stay put. Same signing key; installs over 0.48.</div>
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.51</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-10-24 · Launcher switches to the pottery variant — same bust silhouette in warm terracotta on navy. New Settings → Downloads row opens the system Downloads app so saved files are easy to find. AI engine picker is now a styled list with each provider's real favicon + host, and the bottom-nav AI button carries the current engine's favicon too. Closing a tab from inside the switcher no longer flashes the homepage even for a frame (persistent navy host swaps the inner view atomically). Settings page sections are more clearly separated. Toggling the Tab switcher layout now shows a toast on save. Same signing key; installs over 0.50.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.49.apk">ariadne-v0.49.apk</a> — APK</div>
|
||||
<code>fe31b36c96133271171ef0e6a6aa3b55fcd5310cc43c824182046c82ff8fa178</code>
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.51.apk">ariadne-v0.51.apk</a> — APK</div>
|
||||
<code>8e5b091bf48ffe17047f91e517e9ca66e8ff4c4cdcb1a074f7b928654eae2b45</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="rel">
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.50</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-10-23 · New launcher icon — the laurel-crowned bust silhouette from the Ariadne.X brand kit, recoloured gold on navy. Replaces the figure-only mark; same signing key; installs over 0.49.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.50.apk">ariadne-v0.50.apk</a> — APK</div>
|
||||
<code>4ca980c58a21101f2b3b54a864a49f71912d424d07870778da21690efb45e35b</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||||
|
|
@ -229,6 +216,62 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Hermes for Android <span style="color:var(--acid)">0.3.0</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · signed · 2026-10-24 · In-app auto-update. Hermes now polls dl.silentmode.st/releases-manifest.json on launch and on resume, and shows an update banner at the top of the chat list when a newer version is live. Tap Update → downloads the APK via the pinned client, SHA-256-verifies against the manifest field, then launches Android's package installer. Android refuses to install an APK signed by a different key than the running app, so a tampered manifest can at worst waste bandwidth. Same signing key as 0.2.2; installs over it. Requires the one-time Install-unknown-apps grant on first update, which Android shims via Settings.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/hermes-v0.3.0.apk">hermes-v0.3.0.apk</a> — APK</div>
|
||||
<code>77d16184ba2c26fb81b79d9e4c5f98f8bfb434690c1e6acd9b7fd5f16651a6cb</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||||
<code>b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Hermes for Android <span style="color:var(--acid)">0.2.2</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · signed · 2026-10-24 · Find People now accepts a phone number alongside BNS names, labels, npubs and hex pubkeys. Type +15551234567 (or 0015551234567) and Hermes hashes it locally and asks the relays for the matching kind:30078 phone-claim event — the raw number never leaves the device. Shows the Hermes identity with a verified ✓ when the owner's phone-claim carries a valid Telegram attestation, same shape as the Address Book contact matches. The input also switches to a numeric phone keyboard the moment it looks like a phone number. Same signing key as 0.2.1; installs over it.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/hermes-v0.2.2.apk">hermes-v0.2.2.apk</a> — APK</div>
|
||||
<code>b46da998caa57a6923bb4ab305c5ab1cff88fbf38f4028eb2cecceb77140f1a6</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||||
<code>b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Hermes for Android <span style="color:var(--acid)">0.2.1</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · signed · 2026-10-24 · Fix: real-time inbox delivery. 0.2.0 held a persistent inbox REQ at sign-in, but mobile WebSockets drop constantly (wifi/cellular transitions, OS backgrounding, keep-alive timeouts) and the REQ wasn't replayed on reconnect — the relay forgot our filter and inbound kind:1059 wraps stopped arriving until the next 15-min WorkManager poll or next outgoing send kicked a catch-up. RelayConnection now remembers active subscriptions and replays them on every onOpen, so a recipient sees messages the moment they land on the relay. Also pins the initial `since` to max(lastSeenAt, now - 7d), bounding the reconnect replay. Updates DeliveryPrefs.lastSeenAt on each decrypted wrap so background delivery stays in step.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/hermes-v0.2.1.apk">hermes-v0.2.1.apk</a> — APK</div>
|
||||
<code>014438c3c1a92dd0108d994ae411ed27bf2de58c735614498e86d11462066d61</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||||
<code>b1e4685a7476fcbb3b53d807e298dea2ef2c7375f240cf04847d3d712cab95b7</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Hermes for Windows <span style="color:var(--acid)">0.1.0</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-10-23 · First desktop build: the Hermes messenger as a stand-alone Windows app (Tauri), byte-equal with the Theseus panel and the hermes.x web messenger. Sign in with a recovery phrase or create a new identity; same inbox on every surface.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Hermes-0.1.0-setup.exe">Hermes-0.1.0-setup.exe</a></div>
|
||||
<code>0adc742d54daaee2b62e7fdcbff2f0203bd50f995444487ff93233ccc6328552</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/Hermes-0.1.0.msi">Hermes-0.1.0.msi</a></div>
|
||||
<code>fa81948bba8c3d6e9306a5aa218424fd2a4bc692891f3d2543c2782207f86b3f</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p style="color:var(--dim);font-size:13px;margin:0 0 1.2rem">Recent releases only. Every older build is archived on Sia under
|
||||
<code style="display:inline">dl-archive/</code> and its checksum stays in this repository's history.</p>
|
||||
<div class="note"><b>How to verify.</b> After downloading, compute the file's SHA-256 and compare it to
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@
|
|||
<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="ariadne">Ariadne</a>
|
||||
<a href="prometheus">Prometheus</a>
|
||||
<a href="sirius" class="here">Sirius</a>
|
||||
<a href="hephaestus">Hephaestus</a>
|
||||
|
|
@ -308,7 +309,7 @@
|
|||
<h2>Sirius vs an ordinary registrar</h2>
|
||||
<p class="lede">Short version — the full breakdown across GoDaddy, Namecheap,
|
||||
Cloudflare, ENS, Unstoppable Domains, and Handshake lives on the
|
||||
<a href="vs"><b>comparison page</b></a>.</p>
|
||||
<a href="sirius/vs"><b>comparison page</b></a>.</p>
|
||||
<table>
|
||||
<tr><th>What you get</th><th>Ordinary registrar</th><th>Sirius</th></tr>
|
||||
<tr><td>How ownership is proven</td>
|
||||
|
|
|
|||
|
|
@ -29,4 +29,12 @@
|
|||
<url><loc>https://silentmode.st/theseus-x/</loc><priority>0.6</priority><changefreq>weekly</changefreq></url>
|
||||
<url><loc>https://silentmode.st/ariadne-x/</loc><priority>0.6</priority><changefreq>weekly</changefreq></url>
|
||||
<url><loc>https://silentmode.st/hephaestus.x/</loc><priority>0.6</priority><changefreq>weekly</changefreq></url>
|
||||
<url><loc>https://silentmode.st/ariadne</loc></url>
|
||||
<url><loc>https://silentmode.st/hermes-x/</loc></url>
|
||||
<url><loc>https://silentmode.st/vpn</loc></url>
|
||||
<url><loc>https://silentmode.st/mirrors</loc></url>
|
||||
<url><loc>https://silentmode.st/bergamot</loc></url>
|
||||
<url><loc>https://silentmode.st/brand</loc></url>
|
||||
<url><loc>https://silentmode.st/tlds</loc></url>
|
||||
<url><loc>https://silentmode.st/choose</loc></url>
|
||||
</urlset>
|
||||
|
|
|
|||
|
|
@ -160,8 +160,7 @@
|
|||
<div class="plat">Mobile · Android 5.0+ (API 21)</div>
|
||||
<h3>Theseus for Android</h3>
|
||||
<p class="desc">Phone-sized browser with tap-to-verify provenance: the block and
|
||||
transaction behind each name are one tap away. Still packaged as
|
||||
<code class="inline">ariadne-v0.29.apk</code>; same app, same signing key.</p>
|
||||
transaction behind each name are one tap away. Ships as the Ariadne APK; same app, same signing key, with its own page at <a href="ariadne">/ariadne</a>.</p>
|
||||
<div class="meta">v0.19 · ~146 KB · self-signed release key · in-app auto-update</div>
|
||||
<div class="buttons">
|
||||
<a class="btn acid" href="https://dl.silentmode.st/latest/ariadne.apk">Download APK</a>
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@
|
|||
<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="ariadne">Ariadne</a>
|
||||
<a href="prometheus">Prometheus</a>
|
||||
<a href="sirius">Sirius</a>
|
||||
<a href="hephaestus">Hephaestus</a>
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@
|
|||
runs on its own on-chain name, the page links there.</p>
|
||||
<div class="sites">
|
||||
<a class="card" href="theseus"><h3>Theseus <span class="path">/theseus</span></h3><p>The browser. Windows and Android downloads, hashes, what's inside.</p></a>
|
||||
<a class="card" href="ariadne"><h3>Ariadne <span class="path">/ariadne</span></h3><p>The Android browser and the standalone Windows resolver: downloads, hashes, how a lookup resolves.</p></a>
|
||||
<a class="card" href="sirius"><h3>Sirius <span class="path">/sirius</span></h3><p>Names on the Bitcoin Cash chain: how BNS1 works, live TLDs, and the way to Sirius.X to register one.</p></a>
|
||||
<a class="card" href="hephaestus"><h3>Hephaestus <span class="path">/hephaestus</span></h3><p>The code forge you sign into with a wallet. Repos on the host, releases on Sia.</p></a>
|
||||
<a class="card" href="prometheus"><h3>Prometheus <span class="path">/prometheus</span></h3><p>Apps and programs published on chain, hosted on Sia. In design.</p></a>
|
||||
|
|
@ -82,6 +83,10 @@
|
|||
<a class="card" href="choose"><h3>Choose <span class="path">/choose</span></h3><p>Two internets, twice over: the plain-language case for switching, and what to switch.</p></a>
|
||||
<a class="card" href="releases"><h3>Releases <span class="path">/releases</span></h3><p>Every shipped build with its SHA-256, newest first.</p></a>
|
||||
<a class="card" href="brand"><h3>Brand <span class="path">/brand</span></h3><p>Logo, wordmark, avatar and banner as SVG, free to use when writing about the project.</p></a>
|
||||
<a class="card" href="/pithos/"><h3>Pithos <span class="path">/pithos/</span></h3><p>Decentralized cloud storage you own: desktop, web and Theseus add-on clients for Sia.</p></a>
|
||||
<a class="card" href="vpn"><h3>VPN <span class="path">/vpn</span></h3><p>One toggle in the Theseus sidebar; paid in Bitcoin Cash, no account.</p></a>
|
||||
<a class="card" href="bergamot"><h3>Bergamot <span class="path">/bergamot</span></h3><p>On-device page translation. Designed, not yet built.</p></a>
|
||||
<a class="card" href="mirrors"><h3>Mirrors <span class="path">/mirrors</span></h3><p>Why some sites 503 Theseus, and how a .bch name gets you through.</p></a>
|
||||
<a class="card" href="/deviant/"><h3>Deviant <span class="path">/deviant/</span></h3><p>The parent project: the wallet, Potidaea, Anthemus, Artemision and the rest.</p></a>
|
||||
<a class="card" href="https://code.silentmode.st/"><h3>Forge <span class="path">code.silentmode.st</span></h3><p>The live Hephaestus instance. Browse the source of everything on this page.</p></a>
|
||||
</div>
|
||||
|
|
@ -101,6 +106,9 @@
|
|||
<tr><td><code>theseus.x</code></td><td>The browser's sovereign site: downloads, plug-ins, community extensions</td><td><a href="https://navigate.st/bns/theseus.x/">open</a></td><td><a href="/theseus-x/">/theseus-x/</a></td></tr>
|
||||
<tr><td><code>sirius.x</code></td><td>The registrar: search, register and manage names and TLDs</td><td><a href="https://navigate.st/bns/sirius.x/">open</a></td><td><a href="/sirius-x/">/sirius-x/</a></td></tr>
|
||||
<tr><td><code>hephaestus.x</code></td><td>The forge's landing page</td><td><a href="https://navigate.st/bns/hephaestus.x/">open</a></td><td><a href="/hephaestus.x/">/hephaestus.x/</a></td></tr>
|
||||
<tr><td><code>ariadne.x</code></td><td>The mobile browser's sovereign site: APK, Ariadne's Thread, developer docs</td><td><a href="https://navigate.st/bns/ariadne.x/">open</a></td><td><a href="/ariadne-x/">/ariadne-x/</a></td></tr>
|
||||
<tr><td><code>hermes.x</code></td><td>The messenger: downloads and the web messenger</td><td><a href="https://navigate.st/bns/hermes.x/">open</a></td><td><a href="/hermes-x/">/hermes-x/</a></td></tr>
|
||||
<tr><td><code>prometheus.x</code></td><td>The app directory, a live service on its own host</td><td><a href="https://navigate.st/bns/prometheus.x/">open</a></td><td>—</td></tr>
|
||||
<tr><td><code>hello.bch</code></td><td>A page stored inside a single transaction</td><td><a href="https://navigate.st/bns/hello.bch">open</a></td><td>—</td></tr>
|
||||
<tr><td><code>coinspectrum.deviant.bch</code></td><td>A full multi-file site on Sia</td><td><a href="https://navigate.st/bns/coinspectrum.deviant.bch">open</a></td><td>—</td></tr>
|
||||
</table>
|
||||
|
|
@ -112,7 +120,7 @@
|
|||
<!-- ============ OTHER CLIENTS ============ -->
|
||||
<section id="clients">
|
||||
<h2>Other ways to reach names</h2>
|
||||
<p class="lede">Theseus is the flagship and has <a href="theseus">its own page</a>.
|
||||
<p class="lede">Theseus is the flagship and has <a href="theseus">its own page</a>; Ariadne has <a href="ariadne">its own</a> too.
|
||||
These are the alternatives, from lightest to deepest.</p>
|
||||
|
||||
<div class="dl" id="relay">
|
||||
|
|
|
|||
|
|
@ -58,15 +58,16 @@
|
|||
<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="../vpn" class="here">VPN</a>
|
||||
<a href="../tools">Tools</a>
|
||||
<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="ariadne">Ariadne</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="vpn" class="here">VPN</a>
|
||||
<a href="tools">Tools</a>
|
||||
</nav>
|
||||
|
||||
<header class="hero">
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue