site/index.html
Local Dev 435c2a8b3e Rename Tools → Theseus, trim /tlds/ self-ref, chipnet auth + state fixes
Site:
- Rename the "Tools" nav label to "Theseus" on every subpage. URL slug
  /tools/ is kept intact so bookmarks and cross-links survive; the page's
  own title + h1 rename to Theseus; homepage product card retitled.
- Remove the /tlds/ self-nav entry so its 7-item header matches every
  other subpage (was 8 items, causing the same "header rearranges" glitch
  Hephaestus had before).

Auth-proxy (fixes reported by a concurrent session working with a chipnet
wallet):
- verify.ts now auto-detects the CashAddr prefix (bitcoincash, bchtest,
  bchreg) instead of hardcoding "bitcoincash". Chipnet wallets sign the
  same message with the same key but display bchtest: addresses; the old
  code compared their claim against a re-encoded bitcoincash: version and
  always rejected. Same key material, different envelope.
- /challenge accepts any of the three known prefixes at the input gate.
- /verify accepts an optional `state` param in the request body — used as
  a fallback if the challenge record didn't carry one (which happens when
  a scripted caller runs the /verify step without passing state through
  /challenge). Ensures RFC 6749 §4.1.2 compliance: the OAuth callback URL
  always echoes state when the client provided one.
2026-08-31 04:16:42 +02:00

155 lines
7.2 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Silent Mode — decentralized web infrastructure</title>
<meta name="description" content="Silent Mode is a development department for the decentralized web. Names on the Bitcoin Cash chain (Sirius), apps on Sia (Prometheus), search without a gatekeeper (Helios), messaging by name (Hermes), a code forge that signs you in with a wallet (Hephaestus), and the clients that reach them all.">
<link rel="stylesheet" href="shared.css">
</head>
<body>
<nav class="topnav">
<a class="brand" href="/">⛓️ Silent <span class="g">Mode</span></a>
<a href="tools/">Theseus</a>
<a href="prometheus/">Prometheus</a>
<a href="sirius/">Sirius</a>
<a href="hephaestus/">Hephaestus</a>
<a href="helios/">Helios</a>
<a href="hermes/">Hermes</a>
</nav>
<header class="hero">
<div class="mark">⛓️</div>
<h1>Silent <span class="g">Mode</span></h1>
<p class="tag">A development department for the decentralized web. We build names,
hosting, apps, search, messaging, and the clients that reach them — everything you
need to run a site nobody can seize, and everything you need to visit one.</p>
<div class="cta">
<a class="btn acid" href="tools/#theseus">Download the browser</a>
<a class="btn ghost" href="tools/">See all tools</a>
<a class="btn ghost" href="https://navigate.st/bns/silentmode.bch">See our .bch demo</a>
</div>
<p style="margin:1.4rem 0 0;color:var(--dim);font-size:13px">
New to any of this? <a href="choose/" style="color:var(--mut)">Start with the choice →</a>
</p>
</header>
<div class="wrap">
<!-- ============ .st vs .bch — the split ============ -->
<div class="note" style="margin-top:1.6rem;font-size:14.5px;border-left-color:var(--sia)">
<b>This page is ordinary web infrastructure.</b> <code class="inline">silentmode.st</code>
runs on nginx, a rented server, an ICANN domain, and a Let's Encrypt certificate — because
the point of this page is to <i>talk about</i> the alternative web, and the widest
audience needs no install to read it.
<br><br>
The project's own demonstration lives at <b><a href="https://navigate.st/bns/silentmode.bch">silentmode.bch</a></b>
— same project, hosted <i>with</i> the tools it describes. No centralized host, no registrar
entity, no DNS, no certificate authority.
<span style="display:block;color:var(--dim);font-size:12.5px;margin-top:.6rem">
Any resolver installed? Try it natively: <a href="https://silentmode.bch/"><code class="inline">https://silentmode.bch/</code></a>
</span>
</div>
<!-- ============ THE FIVE PRODUCTS ============ -->
<section class="plain">
<h2>What we build</h2>
<p class="lede">Five products, each named for a figure whose role matches its function.
Each solves one part of the "how do we run a web without gatekeepers" problem, and
all five interoperate around one thing: a name on the Bitcoin Cash chain.</p>
<div class="grid">
<div class="card">
<span class="pill p-alpha">alpha</span>
<h3>Theseus <span class="src s-chain">browsers &amp; resolvers</span></h3>
<p>Two flagship browsers, one brand across platforms — Ariadne resolver built in.
Also: the public relay (no install), the Firefox extension, and a standalone
Ariadne Resolver for system-wide BNS in every browser.</p>
<p style="margin-top:.8rem"><a href="tools/">See all tools →</a></p>
</div>
<div class="card">
<span class="pill p-live">live</span>
<h3>Sirius <span class="src s-chain">names</span></h3>
<p>Domain names on Bitcoin Cash — permanent, no renewal, no registrar. Register a
name in one transaction, hold it in your wallet, point it at any content on any
network.</p>
<p style="margin-top:.8rem"><a href="sirius/">Register a name →</a></p>
</div>
<div class="card">
<span class="pill p-live">live</span>
<h3>Hephaestus <span class="src s-sia">code</span></h3>
<p>A code forge you sign into with a Bitcoin Cash wallet. Forgejo UI, repos on the
host, LFS/releases/packages on Sia. No email, no password reset, no middleman.
Live at <a href="https://code.silentmode.st/">code.silentmode.st</a>.</p>
<p style="margin-top:.8rem"><a href="hephaestus/">See Hephaestus →</a></p>
</div>
<div class="card">
<span class="pill p-designed">designed</span>
<h3>Prometheus <span class="src s-sia">apps</span></h3>
<p>Home for apps and programs published on chain, hosted on Sia. Categories,
signed endorsements, verified installs. Anyone can publish; nobody can gatekeep.</p>
<p style="margin-top:.8rem"><a href="prometheus/">Browse Prometheus →</a></p>
</div>
<div class="card">
<span class="pill p-designed">designed</span>
<h3>Helios <span class="src s-srv">search</span></h3>
<p>A search engine for the decentralized web. No central crawler to trust, no
authority to rank, no advertiser to serve. Ranking by trust list, not algorithm.</p>
<p style="margin-top:.8rem"><a href="helios/">How it will work →</a></p>
</div>
<div class="card">
<span class="pill p-designed">designed</span>
<h3>Hermes <span class="src s-tor">messages</span></h3>
<p>End-to-end encrypted messaging over Nostr, addressed by your BNS name instead
of a public-key string. Same wallet is your identity — no email, no phone number,
no company.</p>
<p style="margin-top:.8rem"><a href="hermes/">Read the design →</a></p>
</div>
<div class="card">
<span class="pill p-designed">designed</span>
<h3>Argo <span class="src s-sia">hosting pact</span></h3>
<p>The incentive layer nobody pays for today. Independent hosts pooling to keep
your site up, paid by a covenant on chain. The piece that turns "you can host
it" into "someone will keep hosting it."</p>
</div>
</div>
</section>
<!-- ============ THE COMMON THREAD ============ -->
<section>
<h2>One thread through all five</h2>
<p class="lede">Everything above depends on one thing: a name registered on the
Bitcoin Cash chain, held in a wallet you control. That name is your address on
Prometheus, your identity on Hermes, your ranking signal on Helios, and the URL
Tools resolve. Register once; use it everywhere. Nobody issues it, nobody revokes
it, and no service you use here needs an account.</p>
<div class="cta" style="justify-content:flex-start">
<a class="btn acid" href="sirius/">Register a name at Sirius →</a>
</div>
</section>
<div class="note"><b>Verify everything, trust nothing.</b> Every download published here is
fingerprinted with SHA-256; the canonical list is at <a href="releases/">/releases/</a>.
Alpha software on a test network — expect it to change, and check hashes before you
install.</div>
</div>
<footer>
<div>Silent Mode — a Deviant project.</div>
<div class="fine">A development department for the decentralized web. Nothing here is a
service, product guarantee, or investment. Verify against the chain; trust nothing
that cannot be checked.</div>
</footer>
</body>
</html>