Compare commits
23 commits
b3f66912b8
...
6f8b72080b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f8b72080b | ||
|
|
7159c0964b | ||
|
|
9072412012 | ||
|
|
536b1fb41e | ||
|
|
b81a8adae9 | ||
|
|
30a4932221 | ||
|
|
b0569c92d8 | ||
|
|
612ff248d4 | ||
|
|
888013b296 | ||
|
|
1862e2c411 | ||
|
|
1207d1f52d | ||
|
|
55383430ef | ||
|
|
2af402fff6 | ||
|
|
5c9fd6ca2f | ||
|
|
c791c3e3d2 | ||
|
|
973c609148 | ||
|
|
658bd17e28 | ||
|
|
9636198ca6 | ||
|
|
1fa0d20c23 | ||
|
|
c957bd1936 | ||
|
|
ac53958af3 | ||
|
|
f74a574dd4 | ||
|
|
c9182676a8 |
14
GOTCHAS.md
|
|
@ -1,6 +1,6 @@
|
|||
# site/ — gotchas
|
||||
|
||||
Hand-authored static tree for **silentmode.st**. No build step. Served by nginx
|
||||
Hand-authored static tree for **silentmode.st**. No build step. Served by Angie (nginx fork)
|
||||
from `/opt/silent-mode/site/` on the VPS (ssh alias `silentmode`), and mirrored
|
||||
to Sia (`s3://bns/silentmode/` → `silentmode.bch`) by the
|
||||
`silentmode-sia-sync.timer` on the VPS every 5 minutes. Anything that lands in
|
||||
|
|
@ -38,7 +38,7 @@ it is skipped the 48 GB disk climbs ~245 MB per release.
|
|||
|
||||
## Bump `shared.css?v=` whenever shared.css changes
|
||||
|
||||
nginx sends no `Cache-Control` for `.css`, so browsers cache `shared.css`
|
||||
Angie sends no `Cache-Control` for `.css`, so browsers cache `shared.css`
|
||||
heuristically (10% of its age since `Last-Modified`; it sat unchanged for
|
||||
weeks, so returning visitors kept the old copy for days). When the logo rule
|
||||
was added on 2026-09-07 every page except Hephaestus (inline nav CSS) showed
|
||||
|
|
@ -49,7 +49,7 @@ each time the file changes. Same applies to the Sia mirror via the gateway.
|
|||
## URLs have no trailing slash; links are site-root-relative
|
||||
|
||||
Since 2026-09-20 the canonical URL of every silentmode.st page is `/tools`,
|
||||
`/sirius`, `/choose/free` — nginx 301s `/tools/` → `/tools` and serves
|
||||
`/sirius`, `/choose/free` — Angie 301s `/tools/` → `/tools` and serves
|
||||
`/tools/index.html` from it. Consequences for authors:
|
||||
|
||||
- A page at `/x/index.html` is viewed at `/x`, so the browser's directory is `/`.
|
||||
|
|
@ -66,8 +66,8 @@ Since 2026-09-20 the canonical URL of every silentmode.st page is `/tools`,
|
|||
|
||||
**Sub-sites deployed from other repos keep their trailing-slash URLs** because
|
||||
their asset paths are relative: `deviant/`, `sirius-x/`, `theseus-x/`,
|
||||
`hephaestus.x/`, `fly.x/`, `code/`. The list lives in the nginx vhost
|
||||
(`location ~ ^/(deviant|sirius-x|theseus-x|…)`) and in `serve-site.mjs`; add
|
||||
`hephaestus.x/`, `fly.x/`, `code/`. The list lives in the Angie vhost
|
||||
(`location ~ ^/(deviant|sirius-x|theseus-x|…)` in `VPS/SilentMode/silentmode-st.angie.conf`) and in `serve-site.mjs`; add
|
||||
any new foreign mirror to both.
|
||||
|
||||
## `/theseus` vs `/theseus-x/` (and `/sirius` vs `/sirius-x/`)
|
||||
|
|
@ -95,7 +95,7 @@ Theseus (origin `bns://<name>`). Without CORS the browser refuses to load the
|
|||
module and every wallet/register/mint flow silently breaks — the launcher
|
||||
click does nothing.
|
||||
|
||||
The nginx block on VPS (`/etc/nginx/sites-enabled/silentmode-st`) MUST carry:
|
||||
The vhost on the VPS is **Angie** at `/etc/angie/http.d/silentmode-st.conf` (nginx is installed but dead there; `/etc/nginx/sites-enabled/silentmode-st` is ignored). It is tracked at `VPS/SilentMode/silentmode-st.angie.conf`; deploy with scp + `angie -t && systemctl reload angie`. It MUST carry:
|
||||
|
||||
```
|
||||
location ~ ^/js/.*\.js$ {
|
||||
|
|
@ -106,6 +106,6 @@ location ~ ^/js/.*\.js$ {
|
|||
```
|
||||
|
||||
Added 2026-09-08 after Theseus reported "CORS blocked" from origin
|
||||
`bns://sirius.x`. If a future nginx-config rebuild drops the `add_header
|
||||
`bns://sirius.x`. If a future vhost rebuild drops the `add_header
|
||||
Access-Control-*` lines, every non-silentmode.st page that imports the bundle
|
||||
starts failing again with "No 'Access-Control-Allow-Origin' header".
|
||||
|
|
|
|||
BIN
brand/icon/favicon-32.png
Normal file
|
After Width: | Height: | Size: 461 B |
BIN
brand/icon/favicon-64.png
Normal file
|
After Width: | Height: | Size: 1 KiB |
BIN
brand/icon/icon-192.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
brand/icon/icon-512.png
Normal file
|
After Width: | Height: | Size: 9 KiB |
|
|
@ -65,8 +65,8 @@
|
|||
<h1>Silent Mode — <span class="g">brand</span></h1>
|
||||
<p class="tag">Two interlocking chain links, one acid green — the family mark for
|
||||
every Silent Mode product. Kit below: logo, wordmark, avatar, banner, palette,
|
||||
usage. Every asset is a scalable SVG; raster it to whatever platform demands
|
||||
a PNG.</p>
|
||||
usage. Every asset is a scalable SVG, and the <a href="brand#social">social section</a>
|
||||
has PNGs at every platform size.</p>
|
||||
</header>
|
||||
|
||||
<div class="wrap">
|
||||
|
|
@ -150,6 +150,70 @@
|
|||
</section>
|
||||
|
||||
<!-- ============ PALETTE ============ -->
|
||||
<!-- ============ SOCIAL + ICONS (PNG) ============ -->
|
||||
<section id="social">
|
||||
<h2>Social media and icons</h2>
|
||||
<p class="lede">Ready-made PNGs at the sizes each platform wants. Same mark, same
|
||||
palette, rendered from the SVGs above; nothing here needs editing before upload.
|
||||
X, GitHub, Discord, LinkedIn, Instagram and Facebook all refuse SVG for avatars
|
||||
and headers, so use these.</p>
|
||||
|
||||
<div class="asset">
|
||||
<div class="preview"><img src="brand/social/x-header-1500x500.png" alt="Silent Mode header banner, 1500 by 500" loading="lazy"></div>
|
||||
<div class="meta">
|
||||
<h3>Headers and banners</h3>
|
||||
<p>Mark, wordmark, one-line description and the two addresses. The layout keeps
|
||||
the left 60% clear of platform overlays; the avatar sits over the bottom-left
|
||||
on X without covering text.</p>
|
||||
<div class="size">PNG · flattened on the dark ground</div>
|
||||
<div class="dl">
|
||||
<a href="brand/social/x-header-1500x500.png" download>X header 1500×500</a>
|
||||
<a href="brand/social/linkedin-banner-1584x396.png" download>LinkedIn 1584×396</a>
|
||||
<a href="brand/social/facebook-cover-820x312.png" download>Facebook 820×312</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="asset">
|
||||
<div class="preview"><img src="brand/social/x-post-1200x675.png" alt="Silent Mode post card, 1200 by 675" loading="lazy"></div>
|
||||
<div class="meta">
|
||||
<h3>Post and link cards</h3>
|
||||
<p>For tweets, announcements and anywhere a 16:9 image is embedded. The 1200×630
|
||||
version is what every silentmode.st page advertises as its Open Graph image,
|
||||
so shared links already show it.</p>
|
||||
<div class="size">PNG · 16:9 and 1.91:1</div>
|
||||
<div class="dl">
|
||||
<a href="brand/social/x-post-1200x675.png" download>Post 1200×675</a>
|
||||
<a href="brand/og.png" download="silentmode-og-1200x630.png">Open Graph 1200×630</a>
|
||||
<a href="brand/social/instagram-square-1080x1080.png" download>Square 1080×1080</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="asset">
|
||||
<div class="preview"><img src="brand/social/avatar-400.png" alt="Silent Mode avatar, 400 by 400" style="max-height:240px;border-radius:50%" loading="lazy"></div>
|
||||
<div class="meta">
|
||||
<h3>Avatars and app icons</h3>
|
||||
<p>Avatar: mark over the wordmark on the dark ground, safe inside a circle crop.
|
||||
Icons: the mark alone on flat <code class="inline">#0b0e14</code> for
|
||||
favicons, PWA manifests and store listings.</p>
|
||||
<div class="size">PNG · square</div>
|
||||
<div class="dl">
|
||||
<a href="brand/social/avatar-400.png" download>Avatar 400</a>
|
||||
<a href="brand/social/avatar-1024.png" download>Avatar 1024</a>
|
||||
<a href="brand/icon/icon-512.png" download>Icon 512</a>
|
||||
<a href="brand/icon/icon-192.png" download>Icon 192</a>
|
||||
<a href="brand/icon/favicon-64.png" download>Favicon 64</a>
|
||||
<a href="brand/icon/favicon-32.png" download>Favicon 32</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p style="color:var(--dim);font-size:13px;margin:1rem 0 0">Regenerate the whole set
|
||||
after a palette or mark change with <code class="inline">node scripts/brand-assets.mjs</code>
|
||||
in the repo; it renders every size from one template.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Palette</h2>
|
||||
<p class="lede">Small palette on purpose — one accent, one text tone, three greys,
|
||||
|
|
|
|||
BIN
brand/og.png
|
Before Width: | Height: | Size: 187 KiB After Width: | Height: | Size: 213 KiB |
BIN
brand/social/avatar-1024.png
Normal file
|
After Width: | Height: | Size: 235 KiB |
BIN
brand/social/avatar-400.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
brand/social/facebook-cover-820x312.png
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
brand/social/instagram-square-1080x1080.png
Normal file
|
After Width: | Height: | Size: 275 KiB |
BIN
brand/social/linkedin-banner-1584x396.png
Normal file
|
After Width: | Height: | Size: 156 KiB |
BIN
brand/social/x-header-1500x500.png
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
brand/social/x-post-1200x675.png
Normal file
|
After Width: | Height: | Size: 226 KiB |
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"schema": "silentmode-releases/2",
|
||||
"updated": "2026-09-22",
|
||||
"updated": "2026-09-30",
|
||||
"mirrors": [
|
||||
"https://dl.silentmode.st/"
|
||||
],
|
||||
|
|
@ -8,43 +8,57 @@
|
|||
{
|
||||
"id": "theseus-navigator",
|
||||
"product": "Theseus Navigator",
|
||||
"version": "0.3.52",
|
||||
"date": "2026-09-22",
|
||||
"version": "0.3.60",
|
||||
"date": "2026-09-30",
|
||||
"platform": "win-x64",
|
||||
"signed": false,
|
||||
"signingAuthority": null,
|
||||
"changes": "Extensions: install straight from theseus.x/extensions — the page hands Theseus a catalog id, Theseus fetches the package itself, asks in a native dialog, verifies the publisher's signature against the name's current owner in its own chain index, and activates it; theseus://extensions/install/<id> links do the same from any page or the address bar. The page gained a search field and lists every bundled add-on. Layout: Aegis and the Tor switch moved to a plug-in row under the Theseus menu, always visible and never folded into the extensions overflow; the toolbar keeps the extension buttons. Add-ons: Word editor ships in the box with its own signed update channel (Save as…, PDF export); PDF Editor marks stay editable after you place them; Translate fetches from the add-on side so it works on every page; a VPN add-on (preview, sing-box under our own UI) is bundled. Also, from 0.3.50 and 0.3.51: the tab strip scrolls Firefox-style with arrows instead of running under the window buttons, the home page carries the Theseus icon, one Extensions list in Settings, and the profile now lives at %APPDATA%\\Theseus with add-ons under extensions\\ — migrated from either old folder name on first start.",
|
||||
"changes": "Pick the language sites serve you in — a new globe chip next to the URL-bar star switches the language your browser presents to websites (Accept-Language + navigator.language) with one click, or set it under Settings › General › Website language. Automatic follows your operating system; pin a specific language when you want a site to consistently serve you in Spanish or Russian even on a system in another language. Every setting stays in sync: the toolbar chip, the Website-language row and the existing Anti-fingerprinting Language row all edit the same underlying value. Settings › Plug-ins is now compact — one row per plug-in with the on/off toggle on the right and update controls beside it; clicking a plug-in's title opens its own settings page with the full description and the Uninstall button, so everyday actions stay in front and dangerous ones don't sit next to them.",
|
||||
"files": {
|
||||
"TheseusNavigator-0.3.52-portable.exe": "be899b9707cd888f2e86b5406262edac10143fec0ebb23656180501517617734",
|
||||
"TheseusNavigator-Setup-0.3.52.exe": "2c0d1795d73bfb7557b090b77cfedefe6b7945ef580b028853e8afcb3984e5cc"
|
||||
"TheseusNavigator-0.3.60-portable.exe": "286d756faec6af9f617b30c21030cc49e881fedb917f4dea4aec8cbd24042f99",
|
||||
"TheseusNavigator-Setup-0.3.60.exe": "e44fceb6740b99e9b2fe66461fea5f5b70323350d874a77e9fd4dc19caa3ebb0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "theseus-navigator",
|
||||
"product": "Theseus Navigator",
|
||||
"version": "0.3.59",
|
||||
"date": "2026-09-28",
|
||||
"platform": "win-x64",
|
||||
"signed": false,
|
||||
"signingAuthority": null,
|
||||
"changes": "Privacy, regrouped: Settings › Privacy now opens with a status card and gathers tracking protection (Shield and Cookie Pop-ups with their per-site exceptions), device access, anti-fingerprinting, network and browsing data in one place. New there: DNS over HTTPS (on by default with Quad9; Cloudflare, Mullvad, AdGuard or your own resolver; an increased-protection mode that never falls back to plain DNS) and Global Privacy Control, which tells every site not to sell or share your data (the Sec-GPC header plus navigator.globalPrivacyControl). Every Settings page has an address you can copy and open, theseus://settings/privacy for example, with sub-pages for the longer lists. Search-engine icons ship inside Theseus and a custom engine's icon is cached once, so the toolbar, the picker and Settings look the same offline and opening the picker no longer asks a favicon service which engines you use; the default-engine control in Settings shows the icons too. A video's fullscreen now hides the toolbar and leaving it, switching tabs or closing the tab puts the window back (before, the window could stay fullscreen with no title-bar buttons); F11 toggles fullscreen. A name owner's subdomain rules (a blocked or redirected subdomain) now apply in Theseus for names it reaches directly by IP as well, not only through the gateway.",
|
||||
"files": {
|
||||
"TheseusNavigator-0.3.59-portable.exe": "3fd83638c205b2ec42176031b5c775cb519c8ca24bf8acda63bf514a781b6f69",
|
||||
"TheseusNavigator-Setup-0.3.59.exe": "82506429906f7dca5db4e1cb37f26b806f0217e8db35426a0345c339a8b4ced5"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ariadne-resolver",
|
||||
"product": "Ariadne Resolver (Windows)",
|
||||
"version": "0.1.3",
|
||||
"date": "2026-09-19",
|
||||
"version": "0.1.12",
|
||||
"date": "2026-09-30",
|
||||
"platform": "win-x64",
|
||||
"signed": false,
|
||||
"signingAuthority": null,
|
||||
"changes": "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.",
|
||||
"changes": "Two fixes on top of 0.1.11. (1) Upgrades no longer fail with \"DeleteFile failed; code 5 -- Access is denied\" on runtime\\node.exe. The pre-install hook now also kills any ORPHAN node.exe running from the Ariadne install dir (foreground diagnostic runs, crashed processes not cleaned up by the scheduled task), not just the scheduled task's own daemon. Path-scoped so it never touches node.exe from other apps. (2) Local BNS indexer surface -- every app on the machine can now query BNS at http://127.0.0.1/api/tlds, /api/name/<name>, /api/registry directly against the daemon's in-memory index, same URL shape as the operator gateway. No round-trip through navigate.st for local callers. CORS wide-open (same as the operator's public read API). Upgrades in place.",
|
||||
"files": {
|
||||
"AriadneResolver-Setup-0.1.3.exe": "79b920b8e4e92aa9a54653035a4873dd996b5d4a9093c43d114e0a3ee4ffb003"
|
||||
"AriadneResolver-Setup-0.1.12.exe": "b041652a330fefb4561da7ca14fa84ddf3b6085fda6eb62831cb08ea56ec602d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ariadne-android",
|
||||
"product": "Ariadne for Android",
|
||||
"version": "0.19",
|
||||
"date": "2026-09-19",
|
||||
"version": "0.22",
|
||||
"date": "2026-09-30",
|
||||
"platform": "android",
|
||||
"minSdk": 21,
|
||||
"signed": true,
|
||||
"signingAuthority": null,
|
||||
"signingCertSha256": "46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c",
|
||||
"changes": "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.",
|
||||
"changes": "Tab switcher redesigned. The tab menu is now a full-screen grid of tab cards — favicon, host and title on each card, gold accent on the active one, close x on every card, tap to switch. Long-press for close / close-others / duplicate. + New tab tile always visible at the end. The old debug-menu style AlertDialog is gone. Tab-count button in the address row is squarer and switches to gold as soon as a second tab opens, so the switcher is discoverable at a glance. Same signing key; installs over 0.21.",
|
||||
"files": {
|
||||
"ariadne-v0.19.apk": "d2f4ad359e7ac36c1d0729100aef613be968cd17b153e94e124f8500fcbfc711"
|
||||
"ariadne-v0.22.apk": "73b79ef710497e591aef0676ccdecb1a5f8168ebddfa8bea185dd32063a1b6d1"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -58,36 +58,36 @@
|
|||
mirror cannot change what you check against here.</p>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.52</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-09-22 · <b>0.3.52 — one-click extension installs, plug-in row, Word editor in the box</b> — Extensions: install straight from theseus.x/extensions — the page hands Theseus a catalog id, Theseus fetches the package itself, asks in a native dialog, verifies the publisher's signature against the name's current owner in its own chain index, and activates it; theseus://extensions/install/<id> links do the same from any page or the address bar. The page gained a search field and lists every bundled add-on. Layout: Aegis and the Tor switch moved to a plug-in row under the Theseus menu, always visible and never folded into the extensions overflow; the toolbar keeps the extension buttons. Add-ons: Word editor ships in the box with its own signed update channel (Save as…, PDF export); PDF Editor marks stay editable after you place them; Translate fetches from the add-on side so it works on every page; a VPN add-on (preview, sing-box under our own UI) is bundled. Also, from 0.3.50 and 0.3.51: the tab strip scrolls Firefox-style with arrows instead of running under the window buttons, the home page carries the Theseus icon, one Extensions list in Settings, and the profile now lives at %APPDATA%\Theseus with add-ons under extensions\ — migrated from either old folder name on first start.</div>
|
||||
<h2>Theseus Navigator <span style="color:var(--acid)">0.3.60</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · 2026-09-30 · <b>0.3.60 — pick your browsing language from the URL bar; per plug-in settings</b> — A new globe chip next to the URL-bar star switches the language your browser presents to websites (the <code style="display:inline">Accept-Language</code> header and <code style="display:inline">navigator.language</code>) with one click, or set it under Settings › General › Website language. <b>Automatic</b> follows your operating system; pin a specific language when you want a site to consistently serve you in Spanish or Russian even on a system in another language. Every entry point stays in sync — the toolbar chip, the Website-language row and the existing Anti-fingerprinting Language row all edit the same underlying value. Settings › Plug-ins is now compact: one row per plug-in with the on/off toggle on the right and update controls beside it; clicking a plug-in's title opens its own settings page with the full description and the Uninstall button, so everyday actions stay in front and dangerous ones don't sit next to them.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.52.exe">TheseusNavigator-Setup-0.3.52.exe</a> — installer</div>
|
||||
<code>2c0d1795d73bfb7557b090b77cfedefe6b7945ef580b028853e8afcb3984e5cc</code>
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-Setup-0.3.60.exe">TheseusNavigator-Setup-0.3.60.exe</a> — installer</div>
|
||||
<code>e44fceb6740b99e9b2fe66461fea5f5b70323350d874a77e9fd4dc19caa3ebb0</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.52-portable.exe">TheseusNavigator-0.3.52-portable.exe</a> — portable</div>
|
||||
<code>be899b9707cd888f2e86b5406262edac10143fec0ebb23656180501517617734</code>
|
||||
<div class="n"><a href="https://dl.silentmode.st/TheseusNavigator-0.3.60-portable.exe">TheseusNavigator-0.3.60-portable.exe</a> — portable</div>
|
||||
<code>286d756faec6af9f617b30c21030cc49e881fedb917f4dea4aec8cbd24042f99</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Ariadne Resolver — Windows <span style="color:var(--acid)">0.1.3</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · bundled Node runtime · 2026-09-19 · <b>Same rules as every other client</b> — Resolver library brought level with the desktop reader: per-TLD certificate registry read from the TLD beacon, current NFT owner tracked per name, the port-443 electrum route tried first, and the TLD co-sign rule (a registration under a "cosign" or hidden TLD is only recognised when it carries the TLD's certificate). Same daemon, same install; existing installs upgrade in place.</div>
|
||||
<h2>Ariadne Resolver — Windows <span style="color:var(--acid)">0.1.12</span></h2>
|
||||
<div class="meta">Windows 64-bit · unsigned · bundled Node runtime · 2026-09-30 · <b>0.1.12 — orphan-safe upgrade + local BNS indexer API</b> — Two fixes on top of 0.1.11's indexer-first refresh. (1) Upgrades no longer die with <code style="display:inline">DeleteFile failed; code 5 -- Access is denied</code> on <code style="display:inline">runtime\node.exe</code>. The pre-install hook now also kills any <b>orphan</b> node.exe running from the Ariadne install dir (foreground diagnostic runs, crashed processes not cleaned up by the scheduled task), not just the scheduled task's own daemon. Path-scoped so it never touches other apps' node.exe. (2) Local BNS indexer API — every app on the machine can now query BNS at <code style="display:inline">http://127.0.0.1/api/tlds</code>, <code style="display:inline">/api/name/<name></code>, <code style="display:inline">/api/registry</code> directly against the daemon's in-memory index. Same URL shape as the operator gateway, no round-trip through navigate.st for local callers. Upgrades in place.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/AriadneResolver-Setup-0.1.3.exe">AriadneResolver-Setup-0.1.3.exe</a> — ~24 MB</div>
|
||||
<code>79b920b8e4e92aa9a54653035a4873dd996b5d4a9093c43d114e0a3ee4ffb003</code>
|
||||
<div class="n"><a href="https://dl.silentmode.st/AriadneResolver-Setup-0.1.12.exe">AriadneResolver-Setup-0.1.12.exe</a> — ~24 MB</div>
|
||||
<code>b041652a330fefb4561da7ca14fa84ddf3b6085fda6eb62831cb08ea56ec602d</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rel">
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.19</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-09-19 · <b>0.19 — co-sign rule</b> — Consensus fix: the on-device index now applies the TLD co-sign rule. A name registered under a TLD whose owner set policy "cosign" or switched the TLD off (hidden) only counts when the registration transaction also carries the TLD's own certificate, exactly as the gateway, Theseus and the desktop resolver decide it, so every client agrees on which names exist. The index reads the per-TLD certificate registry and its policy history from the TLD beacon at build time; if that beacon cannot be reached it keeps the previous behaviour instead of returning an empty index. No UI changes.</div>
|
||||
<h2>Ariadne for Android <span style="color:var(--acid)">0.20</span></h2>
|
||||
<div class="meta">Android 5.0+ (API 21) · self-signed release key · 2026-09-28 · <b>0.20 — every live TLD, fresh snapshot</b> — Every live BNS TLD is claimed by the on-device resolver. The app took its TLD list from the registry's legacy advertised set (nine TLDs), so a name under a newer TLD was only intercepted once it had turned up in the local index; the app now reads the registry's routable list (every TLD on the public listing, 24 today), and ships a bootstrap list matching it for cold start. The cold-start snapshot it pulls from the CDN is now refreshed every ten minutes from the gateway's index instead of by hand, so a fresh install sees names registered minutes ago rather than weeks. Same signing key; installs over 0.19.</div>
|
||||
|
||||
<div class="file">
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.19.apk">ariadne-v0.19.apk</a> — 146 KB</div>
|
||||
<code>d2f4ad359e7ac36c1d0729100aef613be968cd17b153e94e124f8500fcbfc711</code>
|
||||
<div class="n"><a href="https://dl.silentmode.st/ariadne-v0.20.apk">ariadne-v0.20.apk</a> — 150 KB</div>
|
||||
<code>e7362e356de14f010646f3c60908ccd4bbd8030914f7e6a5dc2722d9dcf5e51e</code>
|
||||
</div>
|
||||
<div class="file">
|
||||
<div class="n">Signing certificate — SHA-256 (the same key signs every future release)</div>
|
||||
|
|
|
|||
|
|
@ -144,15 +144,15 @@
|
|||
<h3>Theseus for Windows</h3>
|
||||
<p class="desc">Full-window desktop browser with Tor toggle, search bar, password
|
||||
vault and add-ons. macOS and Linux not yet packaged.</p>
|
||||
<div class="meta">v0.3.52 · installer ~134 MB · portable ~133 MB · unsigned</div>
|
||||
<div class="meta">v0.3.60 · installer ~137 MB · portable ~137 MB · unsigned</div>
|
||||
<div class="buttons">
|
||||
<a class="btn acid" href="https://dl.silentmode.st/latest/TheseusNavigator-Setup.exe">Installer</a>
|
||||
<a class="btn ghost" href="https://dl.silentmode.st/latest/TheseusNavigator-portable.exe">Portable .exe</a>
|
||||
</div>
|
||||
<div class="verifybox">
|
||||
<div class="lbl">SHA-256 — verify before running</div>
|
||||
<div class="h"><b>Installer</b><code>44610849112d838001247da21865df63f4f27a35024572e460f87ed135ab818f</code></div>
|
||||
<div class="h"><b>Portable</b><code>ba82455d2ad66239bc26241fc64f9975fa1a84e403c7a62f622a8000a20e83d6</code></div>
|
||||
<div class="h"><b>Installer</b><code>82506429906f7dca5db4e1cb37f26b806f0217e8db35426a0345c339a8b4ced5</code></div>
|
||||
<div class="h"><b>Portable</b><code>3fd83638c205b2ec42176031b5c775cb519c8ca24bf8acda63bf514a781b6f69</code></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@
|
|||
<div class="price">$0</div>
|
||||
<p class="desc">Enough for reading, email, checking a page from another country. Small daily cap.</p>
|
||||
<ul>
|
||||
<li><span class="tick">✓</span> <span><b>1 server</b> · rotating between the three</span></li>
|
||||
<li><span class="tick">✓</span> <span><b>1 server</b> · Silent Mode · 1</span></li>
|
||||
<li><span class="tick">✓</span> <span><b>500 MB / day</b> soft cap</span></li>
|
||||
<li><span class="tick">✓</span> <span>Reality + steering domain <span style="color:var(--dim)">(same protocol as Pro/Max)</span></span></li>
|
||||
<li><span class="tick">✓</span> <span>Session-only credentials, rotated on every connect</span></li>
|
||||
|
|
@ -197,9 +197,9 @@
|
|||
<p class="lede">Three independent boxes, three different Reality steering domains, three separate
|
||||
IPs. If one is under attack the other two keep working.</p>
|
||||
<div class="servers">
|
||||
<div class="server"><div class="id">sm-1</div><h4>Silent Mode · 1</h4><div class="meta">Reality → www.cloudflare.com · Free rotates through · Pro selectable · Max always</div></div>
|
||||
<div class="server"><div class="id">sm-2</div><h4>Silent Mode · 2</h4><div class="meta">Reality → www.apple.com · Pro selectable · Max always</div></div>
|
||||
<div class="server"><div class="id">sm-3</div><h4>Silent Mode · 3</h4><div class="meta">Reality → www.microsoft.com · Max only</div></div>
|
||||
<div class="server"><div class="id">sm-1</div><h4>Silent Mode · 1</h4><div class="meta">Reality → www.microsoft.com · Free, Pro and Max</div></div>
|
||||
<div class="server"><div class="id">sm-2</div><h4>Silent Mode · 2</h4><div class="meta">Reality → www.apple.com · Pro and Max</div></div>
|
||||
<div class="server"><div class="id">sm-3</div><h4>Silent Mode · 3</h4><div class="meta">Reality → www.cloudflare.com · Max only</div></div>
|
||||
</div>
|
||||
<p class="fine-print">The steering domain is what a passive observer sees the TLS handshake going to
|
||||
— not where your traffic actually goes. Reality is designed so a censor cannot tell a real
|
||||
|
|
|
|||