Commit graph

45 commits

Author SHA1 Message Date
Local Dev
6da4b024f2 Release pages: Theseus 0.3.82
List 0.3.82 with its hashes so the updater and the download pages offer it.
2026-10-05 21:05:21 +02:00
Local Dev
a886699f2f site + theseus.x: Theseus 0.3.81 published 2026-10-05 20:21:04 +02:00
Local Dev
e17c0ca7e4 Release pages: Theseus 0.3.80 2026-10-05 20:10:45 +02:00
Local Dev
71897f2e74 site + theseus.x: Theseus 0.3.79 published 2026-10-04 21:11:11 +02:00
Local Dev
12b5e13c73 Release pages: Theseus 0.3.78
Updates releases-manifest.json, releases/index.html, theseus/index.html
and site-theseus-x/index.html for the 0.3.78 release — the one with
the Ariadne plug-in toggle fix for 0.2.0 Just-me installs, the
Settings Middle East crash fix, covenant-held name resolution and
Pithos 0.3.16.
2026-10-04 18:55:09 +02:00
Silent Mode
5e3e104694 Release pages: Theseus 0.3.77
- site/releases: 0.3.77 block above 0.3.76 with the Translator engine
  radio, CF Bot Fight error page and Pithos 0.3.13 bundle, SHAs
  ab4135a9… (installer) + a01ad6b8… (portable).
- site/theseus and site-theseus-x: bump the download card to 0.3.77 and
  the fallback hashes to match. The theseus-x page already fetches the
  live manifest; the fallback stays in sync for offline reads and the
  Sia mirror.
- site/releases-manifest.json: 0.3.77 entry prepended for the main
  manifest; the dl copy was scp'd and dl-latest.sh regenerated the
  /latest/ redirects on the VPS.
2026-10-04 15:27:23 +02:00
Local Dev
c8ab0e239b Merge ship/mirrors-and-cf: branded error pages and the mirrors docs
These three commits were pushed to the forge's theseus and site repos
from their branch but never reached master, so pushing master would
have dropped them there. Merged so master carries them: the branded
error page on BCNR-to-clearnet fallback failures, the Cloudflare Bot
Fight 503 hint with a .bch mirror suggestion, and the site's docs page
for the p-record reverse-proxy workaround.
2026-10-04 15:14:59 +02:00
Local Dev
071760c544 Release pages: Theseus 0.3.76
Setup 9e5c4b6b…b7e9, portable b223eb14…5c49. Pithos opens at
pithos.sia/<user>/<drive>/<folder>, music keeps playing in background
tabs, a widened left panel no longer squeezes the page; bundles Pithos
0.3.10 and Aegis 0.31.0.
2026-10-04 03:47:10 +02:00
Local Dev
0b94a60f52 feat(site/mirrors): docs page for BNS p-record reverse-proxy workaround
Cloudflare's Bot Fight Mode fingerprints Electron's TLS ClientHello and
returns HTTP 503 to Theseus regardless of user-agent (verified against
whybitcoincash.com). BNS `p` records proxy through Node's undici fetch
from the main process, which has a different TLS fingerprint and slips
past the check — Theseus renders the upstream under the .bch origin.

New /mirrors/ page explains the mechanism, links the relevant code
(record-picker.js and main.js serveP), and walks through minting a
mirror in Sirius. Ships with an empty featured list; entries populate
as .bch names are minted and added to home-cards.json.

Also adds a short note on /tools/ pointing at the new page so users
hitting a 503 have a discovery path.
2026-10-04 01:47:02 +02:00
Silent Mode
f76327109c site + theseus.x: Theseus 0.3.75 published 2026-10-03 23:14:40 +02:00
Local Dev
27a1fb2860 site + theseus.x: Theseus 0.3.74 published
Setup ca35382ec33458ca9ac65bc4a288f8bf1c117a329c37f8f0b965066d844605e7
portable 510fd26fce1b8977d4b5740d9ddc5ca412d681ea37d4758a88e238ca4eaa026d
2026-10-03 20:58:13 +02:00
Silent Mode
08d87218e8 site + theseus.x: Theseus 0.3.73 published 2026-10-03 19:26:10 +02:00
Local Dev
647d41e071 site + theseus.x: Theseus 0.3.72 published
Setup 8e7f0f121fdf5d549108cdd561f6295e0d461b559ae3adef14f335f055c34fb4
portable 41b3af135d63cd11d287e280245fbd3a99c6f7f2f0865f2a2740cc941e200a99
2026-10-03 19:17:21 +02:00
Silent Mode
fae6ec8b03 site + theseus.x: Theseus 0.3.71 published 2026-10-03 16:34:08 +02:00
Silent Mode
af0ec78497 site + theseus.x: Theseus 0.3.70 published 2026-10-03 14:34:37 +02:00
Silent Mode
90db129cc1 site + theseus.x: Theseus 0.3.69 published 2026-10-03 10:34:12 +02:00
Silent Mode
b27f26d47f site + theseus.x: Theseus 0.3.68 published 2026-10-03 00:14:30 +02:00
Silent Mode
c97ce7f400 site + theseus.x: Theseus 0.3.67 published 2026-10-02 23:54:10 +02:00
Silent Mode
75454f4123 site + theseus.x: Theseus 0.3.66 published 2026-10-02 23:10:28 +02:00
Silent Mode
52f82c01fd site + theseus.x: Theseus 0.3.65 published
Manifest, releases page, download pages and theseus.x fallback text all point
at 0.3.65 with the new hashes.
2026-10-02 22:50:09 +02:00
Silent Mode
9bdb4573ae site + theseus.x: Theseus 0.3.64 published
Manifest, releases page, download pages and theseus.x fallback text all point
at 0.3.64 with the new hashes.
2026-10-02 22:20:22 +02:00
Silent Mode
c954b62117 site + theseus.x: Theseus 0.3.63 published
Manifest, releases page, download pages and theseus.x fallback text all point
at 0.3.63 with the new hashes.
2026-10-02 21:56:25 +02:00
Silent Mode
cbd88bc4e3 site + theseus.x: Theseus 0.3.62 published
Manifest, releases page, download pages and theseus.x fallback text all point
at 0.3.62 with the new hashes.
2026-10-01 22:25:34 +02:00
Silent Mode
dbac10d2bd site + theseus.x: Theseus 0.3.61 published
Manifest, releases page, download pages and theseus.x fallback text all point at
0.3.61 with the new hashes. Silentmode.st serves static; silentmode.bch mirror
follows via the 5-min Sia sync.
2026-10-01 01:04:44 +02:00
Silent Mode
6f8b72080b site + theseus.x: Theseus 0.3.60 published
Manifest and download pages point at the new build. Silentmode.st serves
static; silentmode.bch mirror follows via the 5-min Sia sync; theseus.x's
fallback text and hashes match the 0.3.60 binaries so the page reads correctly
before the client-side manifest fetch overwrites them.
2026-09-30 02:51:25 +02:00
Local Dev
b81a8adae9 site: the Theseus page's hashes match the 0.3.59 release 2026-09-28 23:17:17 +02:00
Local Dev
612ff248d4 site: Theseus 0.3.59 — manifest, releases page, theseus pages 2026-09-28 20:57:27 +02:00
Local Dev
973c609148 site: Theseus 0.3.58 — manifest, releases page, theseus pages 2026-09-27 20:48:37 +02:00
Local Dev
9636198ca6 site: Theseus 0.3.57 — manifest, releases page, theseus pages 2026-09-27 11:38:13 +02:00
Local Dev
c957bd1936 site: Theseus 0.3.55 — manifest, releases ledger and theseus pages 2026-09-23 00:10:28 +02:00
Local Dev
f74a574dd4 site: Theseus 0.3.54 — manifest, releases ledger and theseus pages 2026-09-22 22:15:17 +02:00
Local Dev
c9182676a8 site: Theseus 0.3.53 — manifest, releases ledger and theseus pages 2026-09-22 21:45:01 +02:00
Local Dev
9d6e46026a site: Theseus 0.3.52 — manifest, releases ledger and theseus pages (repo manifest had stalled at 0.3.49 while dl served 0.3.51) 2026-09-22 00:59:35 +02:00
Local Dev
3e9b36c4f4 site/theseus: point the Windows download at 0.3.51
Version + hashes match the hotfix built after 0.3.50's relocateProfile
was found to miss the actual %APPDATA%\theseus-navigator\ folder name.
2026-09-21 22:56:54 +02:00
Local Dev
b4e71d9d90 site/theseus: point the Windows download at 0.3.50
Version and hashes matched to the just-published installer + portable.
The /latest/… redirect will follow within five minutes of the manifest
update landing (dl-latest.sh regenerates the redirect table off
releases-manifest.json on a cron).
2026-09-21 22:37:02 +02:00
Local Dev
a7224b75ac site: slash-less page URLs; /theseus is the Theseus page, /tools the overview
Canonical silentmode.st URLs no longer carry a trailing slash (/tools, not
/tools/). nginx (tracked now in VPS/SilentMode/silentmode-st.nginx) 301s
the old form and serves <dir>/index.html; sub-sites deployed from other
repos with relative asset paths (deviant, sirius-x, theseus-x, hephaestus.x,
fly.x, code) keep their directory URLs. Every page's internal links are
now site-root-relative, which resolves correctly both at /x on nginx and
under the BNS gateway's injected <base href="/bns/silentmode.bch/"> — the
old ../x/ links were already broken on the gateway route.

/theseus becomes the Silent Mode-headered Theseus page (what it is, what's
inside, Windows + Android downloads with manifest hashes, verify), linking
out to the sovereign theseus.x whose VPS mirror moves to /theseus-x/, the
same split as /sirius vs /sirius-x/. /tools is repurposed as the overview:
every site, the on-chain twins, the other clients (relay, Firefox, the
standalone Ariadne Resolver) and the machine endpoints. The old tools page
carried stale APK and resolver hashes; the new pages use the manifest's,
verified against the files on dl.silentmode.st.

scripts/serve-site.mjs mirrors the nginx rules for local preview.
2026-09-20 17:21:30 +02:00
Local Dev
c0d17c4710 theseus: home page carries the Theseus icon; silentmode.st/theseus favicon path
The home / new-tab page declared no icon, so those tabs sat blank in the
strip; the compass mark is now inline in home.html as a data: URI (no file
path, no network). The silentmode.st copy of the Theseus page pointed its
icon at /assets/favicon.svg, which only exists on theseus.x — page-relative
now, so the tab shows the mark there too.
2026-09-20 16:29:35 +02:00
Local Dev
0f4c51725c site: publish Theseus 0.3.49 2026-09-20 16:14:05 +02:00
Local Dev
5dc4778237 feat: community extensions — publish with a BCDN name, install from Settings, theseus.x catalog
Anyone who owns a BCDN name can now publish a Theseus extension, and every
Theseus can install it with the publisher's signature verified locally.

Gateway (Argus/src/gateway/public-gateway.mjs):
  PUT /api/ext/<name>/<id>/<version> takes the gzipped tar, checks two BCH
  message signatures against the name's current NFT owner (one authorises
  the upload, one is stored in the channel), inspects the package
  (addon.json at the root, id/version/main match, 8 MB cap), enforces
  first-publisher ownership of an id and monotonic versions, and writes the
  tarball, the extension's updates.json and community/catalog.json to Sia.
  GET /api/ext/catalog reads the catalog back with CORS.

Theseus:
  lib/publisher-sig.mjs recovers the signer of a channel entry; main.js
  compares it with the publisher name's owner from Theseus's own chain
  index before installing or updating, so neither the relay nor a tampered
  catalog can pass off code under a trusted name. addon-updater.js gains
  installCommunity() and accepts publisher-signed entries in the regular
  update check (operator Ed25519 entries unchanged). Settings › Extensions
  shows the community catalog with Install / Update; Settings › Plug-ins
  links to theseus.x/plug-ins.

theseus.x:
  /plug-ins/ is a separate page for the first-party plug-ins (Aegis,
  Ariadne's Thread) with live versions and hashes; /extensions/ lists the
  bundled extensions, the community catalog, and how to build and publish;
  /extensions/publish/ signs and uploads a package in the browser with the
  wallet that holds the publisher's name (session helper + wallet bundle
  copied alongside).
2026-09-20 15:26:30 +02:00
Local Dev
e7126dbc17 release: Ariadne for Android 0.19 and Ariadne Resolver 0.1.3 — co-sign rule on devices
Until now only the gateway, Theseus and the desktop reader applied the
TLD co-sign rule; phones and the Windows resolver still admitted every
registration under a cosign or hidden TLD, so the network disagreed
about which names exist. Both shipped builds now carry the rule.

Android 0.19: the JSON helpers in the new TLD-map code used throwing
getters inside methods that do not declare the checked exception, which
javac rejected under the real build (the earlier compile check ran
without -bootclasspath and stopped at the aapt R errors first). Switched
to the non-throwing opt* forms. Release-signed with the existing key.

Resolver 0.1.3: no source change beyond the resolver library already
committed; the installer picks up the source tree, so this is a version
bump and a rebuild.

Manifest, releases page, tools page and theseus page point at the new
files; dl.silentmode.st/latest redirects regenerated.
2026-09-19 09:13:27 +02:00
Local Dev
cdd2dc9ac4 site: download buttons use dl.silentmode.st/latest/ links
The tools page and the Theseus page pointed at versioned files; the Theseus
page still linked 0.3.44, archived long ago, and showed 0.0.9 as the latest
version. Both now use the stable /latest/ redirects, and the Theseus page is
rebuilt from the theseus.x source (versions and hashes refreshed from the
releases manifest at load, current values baked in as fallback). The
releases ledger keeps versioned filenames, since each entry pairs a file
with its hash.
2026-09-16 22:56:56 +02:00
Local Dev
0ac5ccbed9 site: publish Ariadne for Android 0.18 2026-09-14 08:04:38 +02:00
Local Dev
21cdf5a09f feat(ariadne/mobile): 0.17 — the address bar finally searches
Direct answers to the three complaints in one release.

"Doesn't load any results even if I type a keyword" — navigateTo used to
always append .bch to any bare label. So "bitcoin" became
https://bitcoin.bch/ and NXDOMAINed. Now: input with a space, or bare
label with no dot, routes to the user's chosen search engine. Input with
a dot (hello.bch, example.com) stays a URL. Matches Chrome/Firefox
omnibox behaviour exactly.

"Has no check for updates in settings" — new Updates section shows the
installed version + signing-cert SHA-256, with a "Check for updates now"
button that manually polls dl.silentmode.st and toasts the result. If a
newer version exists, the standard silent-prefetch → green-chip → tap-to
-install flow (unchanged from 0.15) kicks in.

"Looks poor compared to a regular browser" — Settings gains three more
sections beyond Resolution / Ariadne's Thread / Maintenance:

- Search: segmented picker for DuckDuckGo (default), Startpage, Brave
  Search, Google, Kagi. Persists via SharedPreferences.
- Updates: version + cert + manual check.
- Privacy: "Clear browsing data" — cookies (CookieManager), form data,
  cache, per-tab history, all in one tap. Bookmarks + tabs preserved.
- About: silentmode.st/theseus + theseus.x links, brand credit.

serveSettingsPage() signature grew to take (indexerOn, searchKey,
currentVersion) so it can render the current selection + version. Added
searchEngineSegment() helper for the picker layout.

Release: ariadne-v0.17.apk sha256
8a655081782ecc17a50a7fcd67c28625ccb0c905cf6b583bdd703a128b2b9b10
Deployed to dl.silentmode.st + silentmode.bch (Sia mirror). Site pages
bumped: silentmode.st/tools + /releases + /theseus + theseus.x.
2026-09-13 20:19:34 +02:00
Local Dev
be1c9279c9 feat(ariadne/mobile): 0.16 — curated start page + fresh snapshot
Users on 0.15 reported "Ariadne can't open many websites" and "start page
is full of dead links". Two independent stale-data issues, both fixed.

Start page — replaces the featured-hero + beacon-fallback grid with the
same nine curated cards navigate.st serves (hello.bch, siatest.bch,
SilentMode.X, Theseus.X, Sirius.X, Hephaestus.X, Prometheus.X, Helios.X,
Hermes.X). No more auto-iteration over every registered name on the
beacon — which is what was surfacing smtest-dc5563.bch, uitest-e20579.p2p,
qrtest-e21970.nav etc. Added product-role badges (infrastructure /
navigator / registrar / code-host / app-store / search / messaging) with
the same acid/blue/purple/green/gold/pink vocabulary Theseus uses.

Bundled snapshot at app/assets/bns-index.json regenerated from the live
chain via the resolver-web.js buildIndex path. Up from 44 entries to 54,
now including all 13 .x names (was 6 — silentmode.x, theseus.x,
hephaestus.x, prometheus.x, helios.x, hermes.x etc. were entirely
missing). So cold-start resolution finds the .x brands without waiting
for a network trip.

Also regenerated dl.silentmode.st/bns-name-index.json — same 54-entry
JSON. That file hadn't been rebuilt since 2026-08-30 and is what every
client's CDN pull path reads on cold start (mobile, extension, resolver).
There's no timer that regenerates it; scratchpad/build-snapshot.mjs is
the reproducible one-shot: node build-snapshot.mjs <cdn-path>.

Sites updated in the same commit (all four surfaces need to advertise the
same version — silentmode.st/tools + /releases + /theseus + theseus.x
were still linking 0.15). APK also mirrored to bns/silentmode/ so
silentmode.bch/ariadne-v0.16.apk serves the same bytes.

Release: ariadne-v0.16.apk sha256
fa58aa7642319faaa6b23f0f0a46c0adad2ce1f3c5957f4d527ac09241b76574
2026-09-12 19:51:00 +02:00
Local Dev
79e1bd163d site: bump Ariadne mobile to 0.15 across all download pages + add /theseus
Old links pointed users at ariadne-v0.11.apk from three separate pages
while the in-app auto-updater was already pulling 0.15. New downloaders
got 4 versions behind.

- site-theseus-x/index.html — v0.11 → v0.15, hash updated, meta noting
  in-app auto-update. Sia-uploaded to bns/theseus/ so theseus.x reflects
  it now.
- site/releases/index.html — bumps the Ariadne row from 0.11 to 0.15
  with the new hash and a release note covering the DOWNLOADING/READY/
  RETRY chip states shipped in 0.15.
- site/tools/index.html — same v0.11 → v0.15 bump. Also retitled from
  "Theseus — Silent Mode" / "Theseus — the browsers" to "Tools — Silent
  Mode" / "Silent Mode tools" because the page actually lists every
  client (Theseus Win + Android, Ariadne extension, navigate.st relay,
  Ariadne standalone Windows resolver) — a tools directory, not a
  Theseus-dedicated page. Intro now points at /theseus/ for the
  dedicated Theseus landing.
- site/theseus/ NEW — clearnet mirror of theseus.x. Same page, retitled
  "Theseus Navigator — Silent Mode" with canonical URL pointing at
  silentmode.st/theseus/. Users on the resolver reach theseus.x for the
  same content trustlessly; the /theseus/ path is the always-reachable
  fallback with a real cert. Also pushes the APK itself to
  bns/silentmode/ so silentmode.bch/ariadne-v0.15.apk works too
  (dl.silentmode.st and silentmode.bch now serve the same bytes with
  identical SHA-256).
2026-09-12 01:56:40 +02:00