Commit graph

233 commits

Author SHA1 Message Date
Local Dev
5f42835e67 Releases: Theseus Navigator 0.3.86 for Windows
Tabs can move to their own windows and sidebar panels open over the page
or beside it; the download pages and the update manifest point at it.
2026-10-07 23:33:28 +02:00
Local Dev
3e8558f2fb Releases: Pithos desktop 0.3.25 for Windows
Linux stays on 0.3.24 until it can be built: the Hephaestus runner is
unreachable and the release server has no disk space for a local build.
2026-10-07 23:04:32 +02:00
Local Dev
6476f2a7a3 Releases: Theseus Navigator 0.3.85 for Windows
Sites can no longer put unread counts on the taskbar icon; the download
pages and the update manifest point at the build that does this.
2026-10-07 22:24:10 +02:00
Local Dev
de7ed732c1 Release pages: Theseus 0.3.84
List 0.3.84 with its hashes so the updater and the download pages offer it.
2026-10-07 21:51:42 +02:00
Local Dev
a3304e17ee Releases: Pithos desktop 0.3.24 for Windows and Linux 2026-10-07 20:31:16 +02:00
Local Dev
5a6aa70216 Releases: Theseus Navigator 0.3.83 for Windows
Community extensions now run sandboxed, so the download pages and the
update manifest point at the build that has it.
2026-10-07 19:04:29 +02:00
Local Dev
2e57d93538 Releases: Pithos desktop 0.3.23 for Windows and Linux 2026-10-07 00:36:54 +02:00
Local Dev
7b7db22279 Releases: Pithos desktop 0.3.22 for Windows and Linux 2026-10-06 20:53:27 +02:00
Local Dev
9b1182458b Releases: Pithos desktop 0.3.21 for Windows and Linux
The Linux packages are the first built on Hephaestus's own runner (run 3,
checksums checked when copied to dl).
2026-10-06 00:45:43 +02:00
Local Dev
a913fb3574 covenant names: the actions a dashboard needs, and holdings that list them
A covenant-held name's certificate is at the covenant's address, so the
gateway's holdings - which looked for certificates among a wallet's coins -
never listed it under anyone. It is now listed under the key its verified
state names, with its expiry and where it is in its life.

covenant-registrar.js is one function per thing an owner does with the
built-in wallet: move a name into the covenant, renew, publish records,
transfer, release. Each announces the new state, and refuses a stale view
of the name rather than guess where the certificate went. Tested against a
simulated chain: every transaction is run through the VM, applied, and
read back through the resolver.

The name index fetched its transactions one at a time, which had grown to
most of half a minute before a registration could be quoted; it now
fetches eight at a time.
2026-10-05 23:51:02 +02:00
Local Dev
d1eccd6379 docs: commit-reveal as built, and its chipnet run; site bundle rebuilt
The addendum gains a section stating the rule that was implemented and
why the contest window and the commit's lifetime differ from the first
specification. The run records a front-runner registering a name first
and losing it to the older commit.
2026-10-05 22:56:56 +02:00
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
fbe948838b site(prometheus): launch the live catalogue — operator-curated first drop
Flipping Prometheus from "designed, not yet built" scaffold to a live
catalogue. The APS1 open-publish protocol still lives in the design doc,
but holding Prometheus back from launch until arbitrary publishers can
mint listings turned out to be a story problem rather than a technical
one: the Silent Mode / affiliate projects that already ship ARE the
first catalogue, and shipping twelve real listings today gives
Prometheus a reason to exist while the open-publish layer lands.

What changed:
- Category counters stop showing 0 — the five categories we have listings
  for show real numbers, the five we don't still read 0 (so the page
  stays honest).
- A new #catalogue section after the category grid: 12 app cards grouped
  by category, each with icon, name, publisher, blurb and status pills
  (live / beta / bundled). Each links to its project's own site, not a
  Prometheus-internal detail page — that's for the APS1 flow when it
  ships.
- Hero pill: "designed · not yet built" → "live catalogue".
- Honest-status note at the bottom reframes today's drop as
  operator-curated and names what opens next (APS1 record + submission
  flow + trust lists).
- Absolute URLs for shared.css, favicon, OG image and every topnav link,
  so the page renders identically whether a visitor hits silentmode.st,
  the Sia bucket, prometheus.x via a resolver, or navigate.st's mirror.
  The relative-URL version broke the Sia-hosted path when the on-chain
  record was swapped from the u redirect to the s3 pointer.

The chain record swap and the Sia upload are already done outside this
commit — prometheus.x now serves bns/prometheus/ via BCNR; this file is
the content that landed in both the VPS mirror and the bucket. If/when
the APS1 flow lets anyone publish, the "0 listings" counters just start
counting up and the operator-curated note at the bottom goes away.
2026-10-05 02:49:12 +02:00
Local Dev
dece32eef2 site(hephaestus.x): Ubuntu as the default font; drop the toggle machinery
The font picker UI was removed back on 2026-09-22, but the toggle plumbing
stayed around — Fraunces + DM Sans in the Google Fonts URL, the Fraunces/
DM Sans CSS variables, the html[data-font-cmp="ubuntu"] override block,
the .font-picker pill styles, and the .topnav .font-picker media-query
rule on mobile. All of that is dead weight when Ubuntu is the only font
that ever renders.

- Google Fonts URL slimmed to Ubuntu + JetBrains Mono (saves two font
  families' worth of downloads on first paint).
- --serif variable gone; --sans is now Ubuntu, --mono still JetBrains.
- h1/h2/h3/h4 use --sans (Ubuntu bold reads clean at display sizes; no
  need for a serif split).
- Removed the full font-picker CSS block and every html[data-font-cmp=
  "ubuntu"] rule from both home and docs — the attribute is a no-op now.
- Footer brand switched from --serif to --sans with a 600 weight so it
  still carries editorial weight without the Fraunces load.
- js/theme.js kept as a no-op (both pages still <script src> it); its
  attribute setter was dropped. Safe to remove the script tag later;
  leaving it means pages that aren't touched this pass stay valid.

Same cleanup Sirius.X got last month, applied to Hephaestus for family
consistency.
2026-10-05 02:33:26 +02:00
Local Dev
4d35076b11 Releases: Pithos desktop 0.3.18 for Windows and Linux
Newest Pithos entries come first, because the /latest/ links follow the
first matching file.
2026-10-04 23:04:56 +02:00
Local Dev
922d17e1e9 Releases: Pithos desktop 0.3.17 for Windows
The Pithos desktop app reads this list to learn about new builds, and
dl.silentmode.st/latest/Pithos-Setup.exe follows it.
2026-10-04 22:06:46 +02:00
Silent Mode
e140a76591 site/bergamot: ship shared.css + favicon.svg inside the bucket
Theseus serves bergamot.x from its own Sia bucket (bns/bergamot/), so a
href="/shared.css" on the page resolves to bns://bergamot.x/shared.css —
not to the silentmode.st root. The ICANN mirror hid this because /shared.css
exists at the silentmode.st root; via BNS the stylesheet 404'd and the
page rendered unstyled.

Copying the two root assets into the bucket keeps the one <link rel=
"stylesheet" href="/shared.css"> href working across all three serving
paths (ICANN, gateway, BNS).
2026-10-04 21:21:08 +02:00
Local Dev
71897f2e74 site + theseus.x: Theseus 0.3.79 published 2026-10-04 21:11:11 +02:00
Local Dev
d7d0eba4a5 silentmode.st: Pithos lives at /pithos
The pithos.sia mirror moves from /pithos-sia/ to /pithos/, a name people
can remember; /pithos-sia/ and /pithos.sia/ redirect so old links keep
working.
2026-10-04 20:15:39 +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
Local Dev
a6767e1ced docs: how a resolver reads a covenant-held name; site bundle rebuilt
The addendum states the claim, the paid-entry rule, why a name inside the
covenant answers only to a verified state, and when a name stops
resolving. The registration bundle is rebuilt so the dashboard and market
index names by the same rules as the gateway.
2026-10-04 18:14:49 +02:00
Local Dev
6379031ac4 feat(pithos): SEO pass — keyword title, FAQ expansion, JSON-LD, comparison
Second SEO target after Sirius. Pithos positioned honestly as
"decentralized cloud storage you own" — the software is free, the
Sia storage underneath is pay-only-for-use (cents per GB/month).
Overpromising "free cloud storage" would catch Sirius-style backlash
when visitors hit the Sia bill, so the hook is sovereignty + 5–10×
cheaper, not free.

site-pithos-sia/index.html:
  * Title / meta / H1 rewritten benefit-first: "Decentralized cloud
    storage you own — Pithos". Keyword meta added.
  * canonical set to /pithos-sia/ with trailing slash — matches
    nginx's own 301 target (opposite of /sirius, which strips it).
  * Hero copy leads with no-subscription, no-credit-card, pay-per-GB.
  * FAQ expanded from 10 to 14 questions. Five new keyword-phrased
    ones at the top ("Is Pithos really free?", "How much does Sia
    cost compared to Dropbox?", "Is my data encrypted?", "Is Pithos
    a good Dropbox alternative?", "Do I need a credit card?"); the
    existing operational FAQ stays verbatim.
  * JSON-LD: SoftwareApplication schema (version 0.3.12, price $0,
    linked to Sia + s3d upstreams) + FAQPage mirroring all 14 Q&A.
    Both parse cleanly.
  * Top nav gains Compare link; cost FAQ links to the comparison.

site-pithos-sia/vs.html (new): 7-way comparison across Dropbox,
Google Drive, Mega, iCloud/OneDrive, Backblaze B2, Storj, and
Pithos+Sia. Columns for price per TB, signup, credit-card
requirement, encryption model, key custody, censorship risk,
S3-compat, open source, sync-across-devices, collab editing.
Includes BreadcrumbList + Article JSON-LD and a cost-at-size table
showing the 5–10× advantage at common storage sizes.

site/sitemap.xml: raised pithos to 0.95 priority (same tier as
sirius) and added /pithos-sia/vs. Trailing slashes corrected to
match the server's canonical form.
2026-10-04 17:46:13 +02:00
Local Dev
12a5d66ff6 site: the registration bundle reads one protocol message per transaction
Rebuilt so the dashboard and market index names by the same rule as the
gateway and the clients.
2026-10-04 16:55:33 +02:00
Local Dev
0d3adeec13 feat(sirius): SEO pass — keyword title, FAQ, JSON-LD, sitemap, comparison
First SEO push on silentmode.st, targeting Sirius as the primary
product landing page (chosen over navigate.st because a project with
pages ranks; a search box doesn't).

site/sirius/index.html:
  * Title and meta description rewritten benefit-first — "Anonymous
    domain names on Bitcoin Cash — Sirius" at 50 chars, meta at 170.
  * H1 moved from brand-only "Sirius" to the primary keyword
    "Anonymous domain names on Bitcoin Cash".
  * Tag line rewritten to lead with no-KYC, no-renewals, pay-once,
    register-your-own-TLD — the differentiators prospective
    registrants actually search for.
  * canonical + keywords meta added.
  * FAQ section (10 questions) phrased exactly as people search:
    "How much does a .bch domain cost?", "Can my domain be seized?",
    "Can I register my own TLD?", etc. details/summary accordion,
    styled inline against the existing palette.
  * JSON-LD: Service schema (lowPrice $25, highPrice $500, 9 TLDs)
    + FAQPage schema mirroring the 10 FAQ answers verbatim. Both
    parse cleanly.
  * The in-page "vs ordinary registrar" section now links to the
    full comparison page below.

site/sirius/vs.html (new): 7-way comparison across GoDaddy, Namecheap,
Cloudflare, ENS, Unstoppable Domains, Handshake, and Sirius. Targets
"X vs Y" long-tail queries. Includes BreadcrumbList + Article JSON-LD,
"where each option wins" honest-tradeoff section, and 10-year cost
projection table.

site/robots.txt (new): allow-all + explicit entries for the AI
scrapers, sitemap pointer.

site/sitemap.xml (new): primary silentmode.st surfaces with priorities
weighted to the SEO targets.
2026-10-04 16:08:02 +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
Silent Mode
c254582a23 site: bergamot.x landing page — on-device translator provider
Registered bergamot.x on-chain with {s3: bns/bergamot/, u: silentmode.st/bergamot}.
The page explains what Bergamot (Mozilla's WASM translator) will add to Theseus:
an on-device translation provider that never sends the page to a server, as an
alternative to the hosted LibreTranslate backend. Models mirror from Sia on
first use, one direction per download.

Lives at:
  - https://silentmode.st/bergamot  (ICANN)
  - https://silentmode.st/bns/bergamot.x/  (gateway proxy)
  - bergamot.x  (BNS; Sia-backed through bns/bergamot/)

The provider stub comes in a follow-up Theseus commit.
2026-10-04 14:15:01 +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
326c2bd837 gateway: warn before serving a flagged name; expose what the lists say
A flagged name and its subdomains are served behind a warning that names the
reason, the list and the report transaction. The visitor may continue, per
name, for a day. The one refusal is the csam reason.

/api/blocklist returns the subscribed lists and current flags, and
/api/name/<name> carries the flag fields, for clients that cannot reach a
full electrum server. It is a convenience copy: every entry names its report
and can be re-derived from the list address.

Flags are read once a minute from full servers and shared across requests;
names are resolved without the extra round trip. BNS_BLOCKLISTS adds lists.

The mobile constants now carry the default subscriptions for the consumer to
come, and the docs explain flagged names.
2026-10-04 02:33:02 +02:00
Local Dev
5cbf9e38e5 registrar: build and send a release, and keep registration closed until it confirms
buildReleaseTx spends the certificate and writes no token output: the
omission is the burn. The certificate's own dust pays the beacon and the fee,
so a release needs no other coin.

releaseWithBuiltInWallet checks whether the certificate sits in a beacon
transaction. One that arrived by a plain transfer cannot be proven burned
from the beacon history, so the flow publishes an UPD first and releases its
output. Both paths ran on chipnet, and a released name was registered again
after its release confirmed.

checkAvailability now reports a pending release as not available: a REG
broadcast while the release is unconfirmed could be mined beside it and be
void, and the buyer would have paid for nothing.
2026-10-04 01:55:14 +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
44f25133b5 site + theseus.x: Theseus 0.3.75 hashes — reconcile to the newer build
A parallel ship pass raced this one on the same version string: the
other session built 0.3.75 from 4bfef3a (Aegis 0.29.0) and scp'd its
binaries over mine. The first reconcile pass accepted the on-disk
hashes under the "both built from the same HEAD" assumption, but they
are different builds — mine includes d2ddee5 (Aegis 0.30.0) and the
master tip, theirs stops at 4bfef3a. The peer stood down, I re-scp'd
my binaries, and this commit pulls the manifest + the releases page +
theseus.x back to those hashes. The release notes already named
Aegis 0.30.0, which matches what the binaries actually bundle now.
2026-10-03 23:19: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
Local Dev
91ed42cd04 Ariadne 0.1.13: /api/status + per-source enable toggles in policy.json
Every subsystem is now individually switchable and reports its own state.

GET http://127.0.0.1/api/status returns:
- daemon: version, startedAt, uptimeSec, policy, permittedTlds, ports,
          upstream, gateway
- index:  size, nameCacheSize, warmStart {source, at, size}
- sources.snapshotHttps:  enabled, urls, lastAttempt/Success/Status/Error,
                          winnerUrl, notModified count, refreshes count, ETags
- sources.electrumWss:    enabled, lastAttempt/Success/Error, failStreak, refreshes
- sources.perQueryLookup: enabled, gateway, lastAttempt, hits/misses/errors
- sources.diskCache:      enabled, path, exists, size, mtime
- sources.localApi:       enabled, endpoints[]
- policyFile:             path, exists

policy.json schema extended with a sources.<name>.enabled block, hot-reloaded
by the existing loadPolicyOverride() on the same 5-second tick as the
collision policy. Each refresh/lookup path guards on its flag, so an operator
can isolate any subsystem without a restart:
  - snapshotHttps off  -> daemon skips dl.silentmode.st/Sia polling
  - electrumWss off    -> daemon skips chipnet WSS refresh
  - perQueryLookup off -> DNS handler misses fall straight through to forward
  - diskCache off      -> no write to and no read from bns-name-snapshot.json
  - localApi off       -> /api/* return 503 with a hint pointing at policy.json

Verified locally on port 18080: /api/status returned the full JSON with a
snapshot warm-start from dl.silentmode.st recorded in warmStart, ETag captured
in sources.snapshotHttps.etags, disk cache path/size/mtime populated.

Deployed dl.silentmode.st + Sia. sha256 a16d10759efede4412f4fdb52d59424bf56bbb258bb002ab930f4a5a5aef8a41.

The matching Theseus panel UI (source table with the toggles + a Copy-status
button that fetches /api/status) belongs in the Theseus release; not touched
here to avoid colliding with settings-preload.js work in flight from a
parallel session.
2026-10-01 00:08:57 +02:00