Populates addon-update-pubkeys.js with the Silent Mode ops Ed25519 pubkey generated 2026-09-07. From this build forward, Theseus polls each installed add-on's updateURL 30 s after boot, verifies the signed updates.json, and stages any newer version for promotion on the next launch. The screenshot add-on's addon.json already advertises https://addons.silentmode.st/screenshot/updates.json; publishing a signed entry there (via scripts/sign-addon-update.mjs with the ops private key) is what activates real updates. No updates.json is published yet, so the client's boot-time fetch will 404/DNS-fail silently until the operator lands the first signed entry.
21 lines
945 B
JavaScript
21 lines
945 B
JavaScript
// Ed25519 public keys authorized to sign bundled-addon updates.
|
|
//
|
|
// A pubkey listed here can, at runtime, cause Theseus to REPLACE any user's
|
|
// bundled add-on with a signed payload fetched over the network. Only add
|
|
// pubkeys the Silent Mode operator controls.
|
|
//
|
|
// Rotation:
|
|
// 1. Generate a new keypair with scripts/generate-update-keypair.mjs.
|
|
// 2. Sign next updates.json entries with BOTH old and new key.
|
|
// 3. Ship a Theseus release adding the new pubkey to this array (both live).
|
|
// 4. After users have updated past that release, ship a follow-up release
|
|
// removing the old pubkey; stop signing with it.
|
|
//
|
|
// Empty array means "no update endpoint" — the client short-circuits and
|
|
// makes no outbound requests. This is the safe default for a fresh build.
|
|
|
|
module.exports = {
|
|
PUBKEYS_HEX: [
|
|
"732b1263a236b0030383a2376597cfa43c3624b3ca2912a46134f8f2a06e6012", // Silent Mode ops, generated 2026-09-07
|
|
],
|
|
};
|