WSS-blocked networks Symptom on the other box (2026-09-29): task Running, port 53 bound by our node, `Resolve-DnsName hello.bch -Server 127.0.0.1` times out. Cause: the daemon's initial index build was a top-level `await buildIndex()` over electrum WSS to chipnet (port 50004). Corporate/ISP networks that filter outbound WSS let the await hang forever; the queries fell through to `forward()` to upstream 1.1.1.1:53, which the same firewall also blocked, so both legs died. 0.1.10 borrows Theseus's warmFromSnapshot pattern for the system-wide daemon. On startup, in parallel with an 8 s deadline per source: 1. HTTPS snapshot from operator VPS https://dl.silentmode.st/bns-name-index.json 2. HTTPS snapshot from Sia mirror https://s3.silentmode.st:8600/bns/name-list.json 3. On-disk cache from a previous run C:\ProgramData\Ariadne\bns-name-snapshot.json First non-empty result wins; on any HTTPS win the raw array is written to the disk cache so the NEXT boot is instant even fully offline. dns.bind() runs the moment warm-start completes, whether or not electrum was reachable. Electrum WSS refresh continues in the background on the 30 s timer and wins over the snapshot when it succeeds because it is strictly newer. Snapshot format is the pre-resolved array Android's Ariadne reader already consumes (`[{name, category, records, txid, height, updatedTxid, owner?}]`), so the operator maintains ONE artifact for both clients. Custom URLs go in `ariadne.config.json`.snapshotUrls. Verified on the dev box by running the built binary manually on port 15353: bnsd index: warm-started from https://dl.silentmode.st/bns-name-index.json (61 names) bnsd DNS: 127.0.0.1:15353 (policy=bcnr-first, upstream 1.1.1.1) hello.bch -> 127.0.0.1 Disk cache written: 17,674 bytes. Deployed - dl.silentmode.st/AriadneResolver-Setup-0.1.10.exe - s3://bns/silentmode/dl/AriadneResolver-Setup-0.1.10.exe - silentmode.st manifest advertises 0.1.10 - sha256 29710c4011dfe058a252f94af221c02593e728e89cc7427e3e01eaa530f8e526
65 lines
6.2 KiB
JSON
65 lines
6.2 KiB
JSON
{
|
||
"schema": "silentmode-releases/2",
|
||
"updated": "2026-09-28",
|
||
"mirrors": [
|
||
"https://dl.silentmode.st/"
|
||
],
|
||
"releases": [
|
||
{
|
||
"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.10",
|
||
"date": "2026-09-29",
|
||
"platform": "win-x64",
|
||
"signed": false,
|
||
"signingAuthority": null,
|
||
"changes": "Works on networks that block electrum WSS. Before 0.1.10 the daemon's initial index build was `await buildIndex()` over electrum WSS (port 50004); on corporate networks or restrictive ISPs that filter WSS, the await never returned, `dns.bind()` never ran, and every browser on the machine sat waiting -- symptom: task is Running, port 53 is bound, but every query hangs. 0.1.10 warm-starts the index from HTTPS snapshots in parallel (`dl.silentmode.st/bns-name-index.json` on the operator VPS + `s3.silentmode.st:8600/bns/name-list.json` on Sia, first-wins with an 8 s deadline), falls back to an on-disk cache at `C:\\ProgramData\\Ariadne\\bns-name-snapshot.json` from the last successful fetch, then lets electrum WSS keep it current in the background -- WSS updates win when they arrive because they're strictly newer, so no freshness regression when the network is fine. dns.bind runs the moment warm-start completes. Same snapshot format Android's Ariadne consumes, one artifact for the whole ecosystem. Configurable via `snapshotUrls` in ariadne.config.json. Includes 0.1.9 (local search shim), 0.1.8 (pinned-origin proxy), 0.1.7 (runtime-switchable policy). Upgrades in place.",
|
||
"files": {
|
||
"AriadneResolver-Setup-0.1.10.exe": "29710c4011dfe058a252f94af221c02593e728e89cc7427e3e01eaa530f8e526"
|
||
}
|
||
},
|
||
{
|
||
"id": "ariadne-android",
|
||
"product": "Ariadne for Android",
|
||
"version": "0.21",
|
||
"date": "2026-09-28",
|
||
"platform": "android",
|
||
"minSdk": 21,
|
||
"signed": true,
|
||
"signingAuthority": null,
|
||
"signingCertSha256": "46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c",
|
||
"changes": "Fix: names whose only content record is a URL redirect (u) — hermes.x, prometheus.x, helios.x, silentmode.x — now open in the tab instead of crashing with a resolver error. The app was handing WebView a synthetic 302 response, which Androids WebResourceResponse forbids for any status in the [300, 399] range; redirects are now served as an HTML meta-refresh under status 200. As defence in depth, on-device fetches through the public relay also follow relay-side redirects automatically now.",
|
||
"files": {
|
||
"ariadne-v0.21.apk": "5ed400d8223dbaef3abc013855629d9c9822c4a02e767126547834180c7488ec"
|
||
}
|
||
},
|
||
{
|
||
"id": "theseus-navigator",
|
||
"product": "Theseus Navigator",
|
||
"version": "0.3.49",
|
||
"date": "2026-09-20",
|
||
"platform": "win-x64",
|
||
"signed": false,
|
||
"signingAuthority": null,
|
||
"changes": "Engine: Electron 44 / Chromium 152 (from 130) — a year-old engine had become a bot signal (DataDome-fronted shops served a block page), and the identity Theseus presents is now consistent on both sides (client-hint brands computed like Chromium, matching navigator.userAgentData, well-formed Accept-Language). Extensions: anyone who holds a BCDN name can publish an extension from theseus.x/extensions; Settings › Extensions › Community lists the catalog and installs with the publisher's signature verified against the name's owner in Theseus's own index. Settings › Plug-ins and › Extensions link to the new theseus.x/plug-ins and /extensions pages. Tabs: the tab strip lives in the title bar (Windows), a tab opened from a link lands next to its opener, the selected tab has an accent, the strip no longer blinks when another tab loads, the address bar follows the page even after you clicked into it, and holding or right-clicking Back/Forward lists the history. Also: HTTP sign-in prompt for sites behind Basic/Digest auth instead of a bare 401; local paths and file:// URLs open from the address bar; owner-signed DNS records (A/AAAA/MX/TXT via /api/dns) are fetched alongside on-chain records; the Ariadne's Thread card finds the installed resolver and answers in about 2 s. Includes everything from 0.3.47 and 0.3.48.",
|
||
"files": {
|
||
"TheseusNavigator-0.3.49-portable.exe": "1e44162b3dddb79dff7609374e0f02153a38255d5a94847dd95d99d29c7f582a",
|
||
"TheseusNavigator-Setup-0.3.49.exe": "0f1c34063963cd72e051662617aea51642a01c3a3c4a2a0a03f831131fa83cc5"
|
||
}
|
||
}
|
||
]
|
||
}
|