From e3c01b7ffe5039adcf6bf144bb333f2a1a7d2b46 Mon Sep 17 00:00:00 2001 From: Local Dev Date: Tue, 8 Sep 2026 11:59:44 +0200 Subject: [PATCH] feat(theseus.x): /extensions landing page for the signed OTA endpoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds site-theseus-x/extensions/index.html: a public-facing description of the signed add-on update endpoint (screenshot 0.2.3 currently, more add-ons as they gain an updateURL). Same visual language as the theseus.x home page โ€” sticky topnav with the mark, hero, per-extension cards with the SHA-256 verify block, an operator-key panel, and a Firefox-XPI-style flow description. Roadmap section flags on-BCNR pubkey publication and multi-sig as the next security steps. Content is served from s3://bns/theseus/extensions/index.html; the Sia autosync mirrors it, so the theseus.x resolver reaches it at https://navigate.st/bns/theseus.x/extensions/. Landing at https://theseus.x/extensions on installs whose OS resolver knows the .x TLD (Ariadne's Thread users, or Theseus's own resolver on internal navigations). The specific screenshot 0.2.3 entry it advertises is already live at https://navigate.st/bns/theseus.x/extensions/screenshot/updates.json; this page just documents it. --- extensions/index.html | 158 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 extensions/index.html diff --git a/extensions/index.html b/extensions/index.html new file mode 100644 index 0000000..9df31b5 --- /dev/null +++ b/extensions/index.html @@ -0,0 +1,158 @@ + + + + + +theseus.x โ€” Extensions + + + + + + + + + + + + + + +
+

Theseus Extensions

+

Signed over-the-air update endpoint for Theseus's bundled add-ons. + Every entry is Ed25519-signed by the Silent Mode operator, verified on the + device before install. No cert authority, no app-store gatekeeper.

+
+ +
+ +
+

Available extensions

+

Currently one bundled add-on ships with a signed update channel. More on the way.

+ +
+

๐Ÿ“ธ Screenshot current 0.2.3

+
Capture the current tab โ€” visible viewport, entire scrollable page, or a rectangle + you draw. Pick a mode from the toolbar dropdown; the capture opens in a full-tab editor + (crop, annotate, redact, save).
+
Ships bundled with Theseus 0.3.21+. Later versions auto-update through + this endpoint on the next boot's 30-second poll.
+
+
Signed update manifest โ€” SHA-256 verified before install
+ + +
sha256c051e639a19c60d26160933e29e13ca6e4ad006e47ff4d839b9e472b0eff0a18
+
+
+
+ +
+

How updates work

+

Same mechanism a Firefox XPI update uses, cut down to what a name-native browser needs.

+
+
    +
  1. Every 30 seconds after boot Theseus fetches updates.json for each installed add-on that declares an updateURL in its manifest.
  2. +
  3. Each entry carries an Ed25519 signature over silentmode.addon-update-v1|<id>|<version>|<sha256>. Theseus verifies against a small set of operator public keys baked into the build. Unsigned or badly-signed entries are dropped silently.
  4. +
  5. If a signed version beats what's installed, Theseus downloads the tarball, re-checks its sha256, and stages the new copy under <userData>/addons-updates-staged/<id>-<version>/.
  6. +
  7. On the next Theseus launch, promoteStagedUpdates moves the staged copy into addons/<id>/. Any prior copy is renamed to addons-backups/<id>-<oldver>-<timestamp>/ so hand-edits survive.
  8. +
  9. The Settings > Extensions surface (Theseus 0.3.26+) has a Check for updates button and a Pending updates box for on-demand control.
  10. +
+
+
+ +
+

Operator key

+

The Ed25519 public key baked into Theseus 0.3.19+. + Rotation is by adding a new pubkey and shipping a Theseus release that carries both, then a follow-up release removing the old โ€” during the overlap, entries can be signed by either.

+
732b1263a236b0030383a2376597cfa43c3624b3ca2912a46134f8f2a06e6012
+

Generated 2026-09-07. Held offline by the Silent Mode operator.

+
+ +
+

Roadmap

+

The endpoint is generic โ€” any bundled add-on can advertise an updateURL. + Concrete next-steps:

+
    +
  • On-BCNR pubkey publication so rotation is auditable end-to-end.
  • +
  • Multi-sig (N-of-M operator keys) so a single compromised private key can't push code.
  • +
  • Extend to other bundled add-ons: Notepad, and the wallet add-ons as they stabilize.
  • +
+
+ + + +
+ + +