Setup 606529ea9f1de9dc1ec5012534dda31b06919245f19f934ee1b9f4f10385a5bc
Portable ed89547a155e998278beccf21f9807841ac6267f75cdcbbead81b80acfee0adc
Fixes:
- Classic form-GET search engines (Google, Brave, Bing, Startpage,
Yandex, Ecosia, Mojeek, ...) now show results. The tab's
will-navigate intercept was dropping the query string on every
dotted-host navigation, so /search?q=foo landed on /search. DDG
only appeared to work because its in-page search uses pushState +
XHR and never triggered will-navigate.
- Address bar reflects the target URL immediately on Enter instead
of showing the previous page's URL until did-navigate fires.
New:
- Link-hover status bar: Firefox / Chrome-style pill at the bottom-
left of the window showing the href when the pointer is over a
link, hidden when it leaves. Auto-sizes to text, cleared on tab
switch, tracks window resize.
Also on-VPS: bns-gateway auto-index directory paths (f43ec61) so
silentmode.bch/tools/ returns the tools page instead of NoSuchKey.
Deployed:
- scp installers + releases-manifest.json to /opt/silent-mode/dl/
- scp tools/index.html + releases/index.html to /opt/silent-mode/site/
- sia-upload of ../site to bns/silentmode/
- verified: HEAD 200 on both installers, manifest reports 0.0.5,
silentmode.st/tools shows the 0.0.5 buttons, Sia mirror ditto.
The 0.0.4 update-check chip should now surface itself for existing
installs on their next launch.
Leftover from the 0.0.4 ship: the download buttons already pointed
at the 0.0.4 URLs but the meta line still said "v0.0.3 · ~92 MB".
No content change, just the label.
Rebuild + redeploy of the prior commit. Version bumped from 0.0.3 →
0.0.4 so the chip actually surfaces itself for anyone still on 0.0.3
(the versionIsNewer check requires a strict semver bump — same-version
rebuilds are intentionally silent).
TheseusNavigator-Setup-0.0.4.exe
sha256 2722c07317b6ab45b22bbaaacb043f0dcdb30a02a6ec1c3c9525ad94ecbd2574
TheseusNavigator-0.0.4-portable.exe
sha256 938505db9a9a83387387c998423925168498bc482768e23b1b888ad62069fa20
Live on dl.silentmode.st + Sia bns/silentmode/. Manifest bumped to
2026-08-08. Site pages (site/tools/index.html + site/releases/index.html)
updated with the new filenames + hashes.
Rollback points on the VPS at /opt/silent-mode/dl/_prev/ (7 versions):
- 8ab9cc3e (0.0.3, UX batch — the ship right before this one)
- 9c09955e (0.0.3, password manager phase 1)
- b62ecf52 (0.0.2, shield green)
- 418e7bba / 208b059a / 036e94c7 (0.0.1 series)
- 81831c08 (parallel-session 0.0.1)
On-chain pointer at releases.silentmode.bch unchanged — publishes the
manifest URL, so 0.0.4 is reachable via BCNR without a wallet spend.
What existing 0.0.3 users will see: on their next Theseus launch the
new update-check chip fires immediately (startup fetch of the manifest),
showing "↓ Update to 0.0.4" next to the Tor toggle. Click → downloads
the installer via the system browser. Dismiss → hidden this session,
reappears next launch until they upgrade.
Rebuild + redeploy of the prior commit. New hashes live on
dl.silentmode.st + Sia bns/silentmode/:
TheseusNavigator-Setup-0.0.3.exe
sha256 8ab9cc3ee4b826bf60bd12b12d3efdca0966e2b9fef9a3180ef4104af4c6fef3
TheseusNavigator-0.0.3-portable.exe
sha256 e23be66fdfd2e165e92dcc3e1fc46b718bd574d1b03994d7a5d57c7f30606089
Version stayed 0.0.3 (no package.json bump this round). Filenames
unchanged, only the hashes rotate.
Rollback points on the VPS at /opt/silent-mode/dl/_prev/:
- 9c09955e — previous live 0.0.3 (password manager phase 1)
- 208b059a / 418e7bba / 036e94c7 / b62ecf52 — earlier 0.0.1 / 0.0.2 rebuilds
On-chain pointer at releases.silentmode.bch unchanged — publishes the
manifest URL, so this build is reachable through BCNR without a wallet
spend.
Change the Inno [Run] entry from
install.ps1 -Mode full -> install.ps1 -Mode nrpt
Rationale (observed today on the operator's machine): Full mode repoints
adapter DNS at 127.0.0.1, so every DNS query goes through the daemon's
forwarder. bnsd.js's raw-dgram forwarder has a known EDNS/AAAA bug --
strict clients using getaddrinfo (Chrome, Yandex, Firefox, Node) reject
some forwarded replies with "non-recoverable error". Concretely today,
github.com / duckduckgo.com / www.coinex.com all failed in Yandex while
silentmode.bch loaded fine.
Surgical (NRPT) mode routes only activated BCNR TLDs to the daemon
(fetched from tlds.bch at install time -- currently bch, p2p, deviant,
nav, sia, dgb, nt, sm, lm). Everything else stays on the adapter's DHCP
DNS, sidestepping the forwarder bug entirely. Users still get the
"resolves any BCNR TLD in every browser" promise for the entire on-chain
activated set.
Full mode remains available for anyone who explicitly opts in by running
install.ps1 -Mode full themselves. Default flips back once the forwarder
bug is repaired (memory: silentmode-build-state.md).
- SHA-256: 9ab725bec5567625e5857a49b112c4fbc0f59dbdd623abd7110429306f5d0ddb
- Deployed to dl.silentmode.st, site pages + manifest updated, Sia
mirror re-uploaded. Coordinates with a parallel-session build that
briefly landed cb9e8ea0 in the site references without a matching
binary; resolved to my build since only its bytes exist locally.
- TheseusNavigator/package.json: 0.0.2 → 0.0.3. Address-bar fix (main.js refreshTabUrl,
in 9b9c93c) makes silentmode.bch subpage clicks update the URL correctly.
- site/tools/index.html: collapsed the two-flagship-cards row into one Theseus
Navigator panel with a shared description and two version sub-blocks (Windows
+ Android) inside a divider grid. Same-product-two-platforms framing.
- site/index.html: Tools card copy updated to match (Theseus Windows + Android;
built-in Ariadne; also relay, extension, standalone resolver).
- site/releases/index.html + releases-manifest.json: Theseus 0.0.3 entry with the
new hashes; Android section corrected to v0.8 (was previously showing v0.8
filename with a v0.2 hash — the linter had gone half-way).
Rebuild + redeploy of the prior commit (9b9c93c). Version bumped from
0.0.1 to 0.0.2 (parallel-session bump in package.json). New hashes live
on dl.silentmode.st + Sia bns/silentmode/:
TheseusNavigator-Setup-0.0.2.exe
sha256 b62ecf528dc672a07a144af5a8bbb5772b2853b4ad5eec5926bdc6247792ad53
TheseusNavigator-0.0.2-portable.exe
sha256 ba80a808446bd75a6b649d93094af9e21be38476dd23980bad7ac0e228a6ce76
Also snapshotted the parallel-session 0.0.1 (81831c08 / b4807aa1) that
was live just before this ship into /opt/silent-mode/dl/_prev/ so it's
available as a rollback alongside the earlier 418e7bba / 208b059a /
036e94c7 builds.
Manifest hashes were previously updated by the parallel session to a
STALE 0.0.2 build (b3a81047 / 37679d29) that never made it live; those
have been overwritten with the actual live hashes now.
On-chain pointer at releases.silentmode.bch unchanged — publishes the
manifest URL, so BCNR clients see the new hashes automatically without
a wallet spend.
PENDING.md updated with the new rollback list.
Bump to 0.0.2; publish new installer/portable hashes across the download
site (tools + releases pages), releases-manifest.json (Theseus entry only —
Ariadne Resolver/Android entries preserved), and RELEASE-HANDOFF.md.
Artifacts rebuilt reproducibly (SOURCE_DATE_EPOCH=1785888000, unsigned).
Setup b3a810472b06273c1cc846adcb84366ad9114276a984bed7347c26f019497c56
Portable 37679d293715b9e1881d38ee7e92a5a7448f3c523a14919637afe732e2478ce1
Rebuild + redeploy of the prior commit (5ef4bba). New hashes live on
dl.silentmode.st + Sia bns/silentmode/:
TheseusNavigator-Setup-0.0.1.exe
sha256 418e7bbaa08c248cebdf4b9137eaf0351139c2f328fc788bcf5d08888bba2ec3
TheseusNavigator-0.0.1-portable.exe
sha256 93d579639affa6108d9ad80fd0a20eb183fc156b7d954a7acd525ed74d9e1ccf
Two rollback points on the VPS at /opt/silent-mode/dl/_prev/:
208b059a (pre-shield, from earlier today)
036e94c7 (two revisions back)
On-chain pointer at releases.silentmode.bch is unchanged — publishes
the manifest URL so this build is reachable through BCNR without a
wallet spend.
PENDING.md updated with the new rollback list.
Rebuild + redeploy of the prior commit (4654940). New hashes:
TheseusNavigator-Setup-0.0.1.exe
sha256 208b059a14c8ddf10cf553e530e77f34129cf8ba999b697da08720ffc3685d22
TheseusNavigator-0.0.1-portable.exe
sha256 bf08976500978dcd0d7305b04cc1480e63da54a24a71253cf4cfd9c910431a89
Verified all runtime-loaded files present in app.asar (downloads.html,
downloads-preload.js, engine-picker.html, popover.html — the trap from
the earlier 6bbccf9c build).
Live on dl.silentmode.st + Sia bns/silentmode/. Manifest date bumped to
2026-08-02. Previous build backed up on the VPS at
/opt/silent-mode/dl/_prev/ so rollback is `cp` away if the new build
misbehaves. On-chain pointer at releases.silentmode.bch is unchanged —
it publishes {"u":"https://dl.silentmode.st/releases-manifest.json"} so
new hashes are reachable through BCNR too, no wallet spend needed.
PENDING.md drained — this session's group is empty now.
Rebuild of TheseusNavigator-Setup-0.0.1.exe with popover.html /
popover-preload.js / engine-picker.html / engine-picker-preload.js
now in electron-builder's `files` array (prior commit f105566).
Verified all 4 present in the packaged app.asar; the search-engine
dropdown button now opens the picker instead of a blank view.
TheseusNavigator-Setup-0.0.1.exe
sha256 036e94c7eb36eaba88ee9e821fe292efe313a6f2aba07a799ca91c1e5624b8f3
TheseusNavigator-0.0.1-portable.exe
sha256 fb0b26933a6102419cd646e32dd597687333850edd11b5bd0979c3f29290e24c
Deployed to dl.silentmode.st (nginx serves /opt/silent-mode/dl/) and
mirrored to Sia bns/silentmode/. releases.silentmode.bch updated
on-chain to point at the manifest URL (txid 6656b915febd...12eb) so
the fresh hashes are reachable through BCNR too.
Site manifest and download pages point at the rebuilt resolver:
AriadneResolver-Setup-0.1.0.exe
sha256 cb9e8ea0dcffaa60607ff1781e160199956dcf2d7dd69cd13986aba75fcf0fb1
Bumps release date to 2026-08-01. This build is the one that carries the
EDNS OPT-echo fix from the prior commit into what dl.silentmode.st
serves; users on the daemon should stop seeing "Server Not Found" for
normal ICANN names in Firefox / anything using getaddrinfo.
TheseusNavigator/package.json: adds engine-picker.html,
engine-picker-preload.js, popover.html, popover-preload.js to the
electron-builder `files` array. Because that list is explicit,
electron-builder shipped only what was listed, so in the packaged 0.0.1
build the WebContentsView created for the search-engine dropdown loaded
a nonexistent file and rendered blank -- visually identical to "the
button does nothing". `npm start` worked because dev reads from the
source tree. Fix restores the picker; needs a Theseus rebuild + redeploy
to reach users, then TheseusNavigator-Setup-0.0.1.exe's SHA-256 has to
be re-published here.
Ariadne hash still needs to be published on-chain to
releases.silentmode.bch (wallet spend, user's action).
Three doc-alignment changes shipping in AriadneResolver-Setup-0.1.0.exe
sha256 c5efae43af6cc163f468f1dc73d08939db32a9a6db52298ba18b2d9a2aee1292:
1. install.ps1 fetches the activated TLD list from the on-chain root
TLD certificate (tlds.bch, per START-HERE §1) via
resolver-web.js fetchBcnrTlds(), then:
- regenerates the CA's nameConstraints extension from that list
(rotates the CA when the on-chain set changes so leaves for the
newly-activated TLDs actually validate)
- adds one NRPT rule per activated TLD in surgical mode
- falls back to bootstrap ["bch"] if the chain is unreachable
Result: adding a TLD on-chain is picked up by re-running the
installer, no code release needed.
2. bnsd.js honors --policy / BNS_POLICY (bcnr-first | icann-first,
alias bns-first) per START-HERE §4b. bcnr-first is default and
preserves prior behavior. icann-first forwards to upstream first
and only substitutes a BCNR answer on NXDOMAIN. install.ps1
accepts -Policy and passes it into the scheduled task action.
3. ca.js loadOrCreateRootCA() now accepts a runtime TLD list; the
old callers still work (fall back to PERMITTED_TLDS from tlds.js).
Doc: RESOLVER-PACKAGING-PROMPT.md rewritten to reflect current
shipping reality; original 2026-07-26 packaging brief preserved
in the "Archival" section.
Deployed to dl.silentmode.st (nginx serves from /opt/silent-mode/dl/)
and mirrored to Sia bns/silentmode/. VPS bns-indexer.service reports
tlds.bch currently activates: bch p2p deviant nav sia dgb nt sm lm.
- TheseusNavigator-Setup-0.0.1.exe -> 6bbccf9c…
- TheseusNavigator-0.0.1-portable.exe -> 9f27e2d2…
Includes new mobile v0.5 dual-source proof screenshots.
Parallel session was right — the previously-shipped f94834b5 pre-dated:
1. the ASCII em-dash sweep in setup/install.ps1 (Inno's [Run] uses
powershell.exe / PS 5.1; em-dashes in the file crashed the parser
under UAC, so the installer copied files but never registered the
scheduled task or NRPT rule)
2. the multi-TLD NRPT expansion (added .p2p .bit .nav alongside .bch)
3. the VPS-primary electrum server list — resolver-web.js now dials
wss://coinspectrum.duckdns.org:50011 first (Silent Mode's own
BCHN-backed BNS-only indexer), public servers as fallback
Result: a real user installing 3438d558 on a fresh Windows box now gets
a working system-wide resolver with no manual steps.
Deployed to dl.silentmode.st and mirrored to Sia bns/silentmode/.
Was only .bch. The daemon and CA already handle these four TLDs; the NRPT
rule was the missing piece that made .p2p / .bit / .nav queries never reach
the daemon at all (they went to ICANN's normal DNS and NXDOMAIN'd).
Dual TLDs (.de .ru .dev .ltd) intentionally NOT here. They need the
daemon's DNS-forwarding path to work reliably for unregistered names,
and there's still an open EDNS/AAAA forwarding bug in bnsd.js that
would break most German/Russian sites if we NRPT'd .de.
Adding more native TLDs (.x .sia .dgb .nt from Theseus's expanded set)
needs a CA rotation first — the current CA's nameConstraints only permit
bch/p2p/bit/deviant/nav/test/bcnr. Deferred.