2026-07-29 13:54:34 +02:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
2026-09-10 00:32:01 +02:00
< 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" >
2026-07-29 13:54:34 +02:00
< title > Silent Mode — releases & checksums< / title >
< style >
:root{--bg:#0b0e14;--panel:#141a24;--line:rgba(255,255,255,.09);--ink:#e7eaf1;--mut:#8b98a9;--dim:#5e6678;--acid:#d6ff3d}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1100px 560px at 50% -12%,#16202e,var(--bg));
color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.wrap{max-width:820px;margin:0 auto;padding:3.5rem 1.2rem 4rem}
a{color:var(--acid)}
h1{font-size:1.8rem;margin:0 0 .3rem}
h1 .g{color:var(--acid)}
.lede{color:var(--mut);margin:.2rem 0 2rem}
.rel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:16px}
.rel h2{font-size:1.15rem;margin:0 0 .2rem}
.rel .meta{color:var(--dim);font-size:12.5px;margin-bottom:1rem}
.file{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.file .n{font-size:14px;color:var(--ink)}
.file .n a{text-decoration:none}
.file code{display:block;font-family:ui-monospace,monospace;font-size:11.5px;color:#c9d4e3;
word-break:break-all;margin-top:4px}
.note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acid);
border-radius:10px;padding:14px 18px;color:var(--mut);font-size:13.5px;margin-top:1.6rem}
.note b{color:var(--ink)}
footer{color:var(--dim);font-size:12.5px;margin-top:2.5rem;text-align:center}
< / style >
2026-09-10 00:42:51 +02:00
< link rel = "stylesheet" href = "../shared.css?v=20260910" >
brand: Silent Mode + navigate.st kits (logo, wordmark, avatar, banner, favicon)
Two brand kits, one design language. Each site now has a /brand/ page + a
favicon; every page I own on silentmode.st links the SVG favicon (parallel
sessions can add the same line to Sirius/Hephaestus/Choose when they touch
those files).
Silent Mode kit (site/brand/, site/favicon.svg):
Mark — two interlocking chain links, one muted (#8b98a9) + one acid
(#d6ff3d). The umbrella family mark.
Logo, wordmark, avatar (400x400 social), banner (1500x500 social header).
Brand page shows every asset with SVG download, colour palette
(tokens matching shared.css), usage do's and don'ts.
navigate.st kit (navigate.st/brand/, navigate.st/favicon.svg):
Mark — compass rose (N acid, other points muted) inside a chain-link
ring. Ring keeps it in the Silent Mode family without cloning the
SilentMode mark; compass says what this specific site is (the
wayfinding front door).
Same asset set: logo, wordmark, avatar, banner. Standalone brand page
(no shared.css — navigate.st runs single-file).
nginx (VPS): added two locations to sites-enabled/navigate-st so /favicon.svg
and /brand/* resolve from /opt/silent-mode/navigate-brand/. Rollback point
at sites-enabled/navigate-st.bak.1788146513. silentmode.st serves both from
disk under /opt/silent-mode/site/ — no vhost change needed.
Verified live: all favicon + brand URLs return 200 on both hosts.
2026-08-31 05:22:45 +02:00
< link rel = "icon" type = "image/svg+xml" href = "/favicon.svg" >
2026-07-29 13:54:34 +02:00
< / head >
< body >
< nav class = "topnav" >
2026-09-10 00:32:01 +02:00
< 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 >
2026-08-31 04:16:42 +02:00
< a href = "../tools/" > Theseus< / a >
2026-07-31 08:43:31 +02:00
< a href = "../prometheus/" > Prometheus< / a >
< a href = "../sirius/" > Sirius< / a >
2026-08-31 04:06:28 +02:00
< a href = "../hephaestus/" > Hephaestus< / a >
2026-07-31 08:43:31 +02:00
< a href = "../helios/" > Helios< / a >
< a href = "../hermes/" > Hermes< / a >
2026-07-29 13:54:34 +02:00
< / nav >
< div class = "wrap" >
< h1 > Silent < span class = "g" > Mode< / span > — releases< / h1 >
< p class = "lede" > Canonical SHA-256 checksums for every published build. This page lives at the on-chain
name < code > releases.silentmode.bch< / code > ; the name pins where it is served from, so a tampered
mirror cannot change what you check against here.< / p >
< div class = "rel" >
2026-09-15 23:15:11 +02:00
< h2 > Theseus Navigator < span style = "color:var(--acid)" > 0.3.48< / span > < / h2 >
< div class = "meta" > Windows 64-bit · unsigned · 2026-09-15 · < b > 0.3.48 — HTTP sign-in prompt, local files from the address bar< / b > — Sites behind HTTP authentication (Basic/Digest, e.g. an admin dashboard behind a realm) now get a sign-in prompt instead of the server's bare 401 page; Cancel leaves the 401, a rejected password asks again, and add-on proxy credentials keep their own path. Typing or pasting a local path (D:\folder\page.html, a UNC share, or a file:// URL) opens the file instead of sending it to the search engine; local-file tabs keep their file:// address, show a “Local file” badge, and a missing file lands on the error page. Includes everything from 0.3.47 (Plug-ins section, in-panel add-on self-update, Aegis 0.6.31) and 0.3.46 (updater self-heal, BCNR fetch error page).< / div >
2026-07-29 13:54:34 +02:00
< div class = "file" >
2026-09-15 23:15:11 +02:00
< div class = "n" > < a href = "https://dl.silentmode.st/TheseusNavigator-Setup-0.3.48.exe" > TheseusNavigator-Setup-0.3.48.exe< / a > — installer< / div >
< code > ce5064decdd796e560e11f161d2e9271d3cd7de3bd231c942ebc2de407d0c9f7< / code >
2026-07-29 13:54:34 +02:00
< / div >
< div class = "file" >
2026-09-15 23:15:11 +02:00
< div class = "n" > < a href = "https://dl.silentmode.st/TheseusNavigator-0.3.48-portable.exe" > TheseusNavigator-0.3.48-portable.exe< / a > — portable< / div >
< code > e758c1f9a9ec376c029856fd81ed3cee4b2c848a4cf9f94d07ed74f2096ad621< / code >
2026-07-29 13:54:34 +02:00
< / div >
< / div >
< div class = "rel" >
2026-09-19 09:13:27 +02:00
< h2 > Ariadne Resolver — Windows < span style = "color:var(--acid)" > 0.1.3< / span > < / h2 >
< div class = "meta" > Windows 64-bit · unsigned · bundled Node runtime · 2026-09-19 · < b > Same rules as every other client< / b > — Resolver library brought level with the desktop reader: per-TLD certificate registry read from the TLD beacon, current NFT owner tracked per name, the port-443 electrum route tried first, and the TLD co-sign rule (a registration under a "cosign" or hidden TLD is only recognised when it carries the TLD's certificate). Same daemon, same install; existing installs upgrade in place.< / div >
2026-07-29 13:54:34 +02:00
< div class = "file" >
2026-09-19 09:13:27 +02:00
< div class = "n" > < a href = "https://dl.silentmode.st/AriadneResolver-Setup-0.1.3.exe" > AriadneResolver-Setup-0.1.3.exe< / a > — ~24 MB< / div >
< code > 79b920b8e4e92aa9a54653035a4873dd996b5d4a9093c43d114e0a3ee4ffb003< / code >
2026-07-29 13:54:34 +02:00
< / div >
< / div >
< div class = "rel" >
2026-09-19 09:13:27 +02:00
< h2 > Ariadne for Android < span style = "color:var(--acid)" > 0.19< / span > < / h2 >
< div class = "meta" > Android 5.0+ (API 21) · self-signed release key · 2026-09-19 · < b > 0.19 — co-sign rule< / b > — Consensus fix: the on-device index now applies the TLD co-sign rule. A name registered under a TLD whose owner set policy "cosign" or switched the TLD off (hidden) only counts when the registration transaction also carries the TLD's own certificate, exactly as the gateway, Theseus and the desktop resolver decide it, so every client agrees on which names exist. The index reads the per-TLD certificate registry and its policy history from the TLD beacon at build time; if that beacon cannot be reached it keeps the previous behaviour instead of returning an empty index. No UI changes.< / div >
2026-07-29 13:54:34 +02:00
< div class = "file" >
2026-09-19 09:13:27 +02:00
< div class = "n" > < a href = "https://dl.silentmode.st/ariadne-v0.19.apk" > ariadne-v0.19.apk< / a > — 146 KB< / div >
< code > d2f4ad359e7ac36c1d0729100aef613be968cd17b153e94e124f8500fcbfc711< / code >
2026-07-29 13:54:34 +02:00
< / div >
< div class = "file" >
< div class = "n" > Signing certificate — SHA-256 (the same key signs every future release)< / div >
< code > 46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c< / code >
< / div >
< / div >
< div class = "note" > < b > How to verify.< / b > After downloading, compute the file's SHA-256 and compare it to
the value above — on Windows: < code style = "display:inline" > certutil -hashfile < file> SHA256< / code > ;
on Android, hash the downloaded < code style = "display:inline" > .apk< / code > on a computer before you move
it to the phone, or use any file-hashing app. Nothing here is signed by an authority your device
already trusts — < b > by design< / b > — so it will warn about an unrecognized app; the checksum is the
real check. The machine-readable manifest is at
< a href = "https://dl.silentmode.st/releases-manifest.json" > releases-manifest.json< / a > .< / div >
< footer > Silent Mode — a Deviant project. Alpha software on a test network.< / footer >
< / div >
< / body >
< / html >