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.
This commit is contained in:
Local Dev 2026-10-05 02:49:12 +02:00
parent dece32eef2
commit fbe948838b

View file

@ -3,18 +3,19 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>Prometheus — apps and programs on the decentralized web — Silent Mode</title> <title>Prometheus — apps on the decentralized web — Silent Mode</title>
<meta name="description" content="Prometheus is a home for apps, programs, and dApps published on the Bitcoin Cash chain. Listings live on chain, binaries live on Sia, endorsements are signed. Anyone can publish; nobody can gatekeep."> <meta name="description" content="A live catalogue of apps, programs and dApps. Listings carry their own on-chain name, binaries live on Sia, every download verifies against the Bitcoin Cash chain.">
<meta property="og:type" content="website"> <meta property="og:type" content="website">
<meta property="og:site_name" content="Silent Mode"> <meta property="og:site_name" content="Silent Mode">
<meta property="og:title" content="Prometheus — apps and programs on the decentralized web — Silent Mode"> <meta property="og:title" content="Prometheus — apps on the decentralized web">
<meta property="og:description" content="Prometheus is a home for apps, programs, and dApps published on the Bitcoin Cash chain. Listings live on chain, binaries live on Sia, endorsements are signed. Anyone can publish; nobody can gatekeep."> <meta property="og:description" content="A live catalogue of apps, programs and dApps. Listings carry their own on-chain name, binaries live on Sia, every download verifies against the Bitcoin Cash chain.">
<meta property="og:url" content="https://silentmode.st/prometheus"> <meta property="og:url" content="https://prometheus.x/">
<meta property="og:image" content="https://silentmode.st/brand/og.png"> <meta property="og:image" content="https://silentmode.st/brand/og.png">
<meta property="og:image:width" content="1200"> <meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630"> <meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:card" content="summary_large_image">
<link rel="stylesheet" href="shared.css?v=20260910"> <link rel="stylesheet" href="https://silentmode.st/shared.css?v=20260910">
<link rel="icon" type="image/svg+xml" href="https://silentmode.st/prometheus/favicon.svg">
<style> <style>
/* Category grid — visually distinct from the homepage's tool cards so the two /* Category grid — visually distinct from the homepage's tool cards so the two
don't blur together. Prometheus is a shop; the homepage is a foyer. */ don't blur together. Prometheus is a shop; the homepage is a foyer. */
@ -29,8 +30,39 @@
.cat .ico{font-size:26px;line-height:1;filter:grayscale(.2)} .cat .ico{font-size:26px;line-height:1;filter:grayscale(.2)}
.cat h3{margin:.1rem 0 0;font-size:1.02rem} .cat h3{margin:.1rem 0 0;font-size:1.02rem}
.cat .count{color:var(--dim);font-size:12px;letter-spacing:.02em;margin-top:auto;padding-top:.4rem} .cat .count{color:var(--dim);font-size:12px;letter-spacing:.02em;margin-top:auto;padding-top:.4rem}
.cat .count b{color:var(--acid);font-weight:600}
.cat.empty .count::before{content:"— ";color:var(--dim)} .cat.empty .count::before{content:"— ";color:var(--dim)}
/* Listing card — one row per app. Icon on the left, meta on the right.
Deliberately looser than the category grid so the whole catalogue fits
on one scroll. */
.listings{display:grid;grid-template-columns:1fr;gap:12px;margin:1.1rem 0 .6rem}
@media (min-width:720px){ .listings{grid-template-columns:1fr 1fr} }
.app{
display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;
background:var(--panel);border:1px solid var(--line);border-radius:12px;
padding:14px 16px;text-decoration:none;color:inherit;
transition:transform .14s ease, border-color .14s ease, background .14s ease;
}
.app:hover{transform:translateY(-2px);border-color:rgba(214,255,61,.35);background:var(--panel2)}
.app .ico{
width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.04);
display:grid;place-items:center;font-size:22px;line-height:1;
border:1px solid var(--line);
}
.app h4{margin:0 0 .18rem;font-size:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.app h4 .by{color:var(--dim);font-weight:400;font-size:12.5px}
.app p{margin:0;color:var(--mut);font-size:13.5px;line-height:1.5}
.app .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:.4rem;font-size:11.5px;color:var(--dim)}
.app .meta span{background:rgba(255,255,255,.04);border:1px solid var(--line);padding:1px 7px;border-radius:999px}
.app .meta span.live{color:#4fd1a5;border-color:rgba(79,209,165,.25);background:rgba(79,209,165,.08)}
.app .meta span.beta{color:#ffc75f;border-color:rgba(255,199,95,.25);background:rgba(255,199,95,.08)}
.app .meta span.bundled{color:#b39ddb;border-color:rgba(179,157,219,.25);background:rgba(179,157,219,.08)}
.cat-head{display:flex;align-items:baseline;gap:.6rem;margin:1.6rem 0 .4rem}
.cat-head h3{margin:0;font-size:1.08rem}
.cat-head .ico{font-size:1.1rem}
.cat-head .n{color:var(--dim);font-size:12.5px}
.banner{ .banner{
background:linear-gradient(180deg, rgba(214,255,61,.06), rgba(255,255,255,.01)); background:linear-gradient(180deg, rgba(214,255,61,.06), rgba(255,255,255,.01));
border:1px solid rgba(214,255,61,.18);border-radius:14px; border:1px solid rgba(214,255,61,.18);border-radius:14px;
@ -39,25 +71,24 @@
.banner h3{margin:0 0 .3rem;font-size:1.1rem} .banner h3{margin:0 0 .3rem;font-size:1.1rem}
.banner p{margin:.2rem 0 0;color:var(--mut);font-size:14.5px} .banner p{margin:.2rem 0 0;color:var(--mut);font-size:14.5px}
</style> </style>
<link rel="icon" type="image/svg+xml" href="favicon.svg">
</head> </head>
<body> <body>
<nav class="topnav"> <nav class="topnav">
<a class="brand" href="./"><svg class="logo" viewBox="0 0 32 20" aria-hidden="true"><rect class="l1" x="1.5" y="3.5" width="17" height="13" rx="6.5" ry="6.5" fill="none" stroke-width="2.6"/><rect class="l2" x="13.5" y="3.5" width="17" height="13" rx="6.5" ry="6.5" fill="none" stroke-width="2.6"/></svg>Silent <span class="g">Mode</span></a> <a class="brand" href="https://silentmode.st/"><svg class="logo" viewBox="0 0 32 20" aria-hidden="true"><rect class="l1" x="1.5" y="3.5" width="17" height="13" rx="6.5" ry="6.5" fill="none" stroke-width="2.6"/><rect class="l2" x="13.5" y="3.5" width="17" height="13" rx="6.5" ry="6.5" fill="none" stroke-width="2.6"/></svg>Silent <span class="g">Mode</span></a>
<a href="theseus">Theseus</a> <a href="https://silentmode.st/theseus">Theseus</a>
<a href="prometheus" class="here">Prometheus</a> <a href="https://silentmode.st/prometheus" class="here">Prometheus</a>
<a href="sirius">Sirius</a> <a href="https://silentmode.st/sirius">Sirius</a>
<a href="hephaestus">Hephaestus</a> <a href="https://silentmode.st/hephaestus">Hephaestus</a>
<a href="helios">Helios</a> <a href="https://silentmode.st/helios">Helios</a>
<a href="hermes">Hermes</a> <a href="https://silentmode.st/hermes">Hermes</a>
<a href="tools">Tools</a> <a href="https://silentmode.st/tools">Tools</a>
</nav> </nav>
<header class="hero"> <header class="hero">
<div class="mark" style="font-size:52px">🔥</div> <div class="mark" style="font-size:52px">🔥</div>
<h1>Prometheus <h1>Prometheus
<span class="pill p-designed" style="vertical-align:middle;font-size:12px;margin-left:.6rem">designed · not yet built</span> <span class="pill p-live" style="vertical-align:middle;font-size:12px;margin-left:.6rem">live catalogue</span>
</h1> </h1>
<p class="tag">A home for apps, programs, dApps, and libraries — <b>listed on the Bitcoin <p class="tag">A home for apps, programs, dApps, and libraries — <b>listed on the Bitcoin
Cash chain, hosted on Sia, endorsed by signature</b>. Anyone can publish. Nobody can Cash chain, hosted on Sia, endorsed by signature</b>. Anyone can publish. Nobody can
@ -71,57 +102,219 @@
<h2>Browse by category</h2> <h2>Browse by category</h2>
<p class="lede">Where a Google Play or an App Store has one company deciding what fits <p class="lede">Where a Google Play or an App Store has one company deciding what fits
which shelf, Prometheus has the publisher's own label and your own trust list. which shelf, Prometheus has the publisher's own label and your own trust list.
Categories below are the initial shape; anyone can propose more.</p> The initial drop below is twelve Silent Mode and affiliate apps that run today;
the open-publish layer (<code class="inline">APS1</code>) rolls in next.</p>
<div class="categories"> <div class="categories">
<a class="cat empty" href="#soon"><div class="ico">💬</div> <a class="cat empty" href="#comm"><div class="ico">💬</div>
<h3>Communication</h3> <h3>Communication</h3>
<p>Messengers, voice, group chats, boards.</p> <p>Messengers, voice, group chats, boards.</p>
<span class="count">0 listings</span> <span class="count">0 listings</span>
</a> </a>
<a class="cat empty" href="#soon"><div class="ico">🛡️</div> <a class="cat" href="#bns"><div class="ico">🧭</div>
<h3>Privacy &amp; security</h3> <h3>BNS clients</h3>
<p>Tor tooling, mix networks, key managers, disk crypto.</p> <p>Browsers, resolvers, address bars that speak Bitcoin Cash names.</p>
<span class="count">0 listings</span> <span class="count"><b>4</b> listings</span>
</a> </a>
<a class="cat empty" href="#soon"><div class="ico">💸</div> <a class="cat" href="#offline"><div class="ico">📦</div>
<h3>Offline-first apps</h3>
<p>Local-only tools that happen to publish on chain. No telemetry.</p>
<span class="count"><b>1</b> listing</span>
</a>
<a class="cat" href="#privacy"><div class="ico">🛡️</div>
<h3>Privacy &amp; security</h3>
<p>Tracker blockers, Tor tooling, mix networks, key managers.</p>
<span class="count"><b>1</b> listing</span>
</a>
<a class="cat" href="#wallets"><div class="ico">💸</div>
<h3>Wallets &amp; payments</h3> <h3>Wallets &amp; payments</h3>
<p>BCH wallets, cross-chain bridges, payment terminals.</p> <p>BCH wallets, cross-chain bridges, payment terminals.</p>
<span class="count">0 listings</span> <span class="count"><b>1</b> listing</span>
</a> </a>
<a class="cat empty" href="#soon"><div class="ico">🎮</div> <a class="cat empty" href="#games"><div class="ico">🎮</div>
<h3>Games</h3> <h3>Games</h3>
<p>Standalone titles, on-chain leaderboards, in-app purchases without a store cut.</p> <p>Standalone titles, on-chain leaderboards, in-app purchases without a store cut.</p>
<span class="count">0 listings</span> <span class="count">0 listings</span>
</a> </a>
<a class="cat empty" href="#soon"><div class="ico">🧰</div> <a class="cat" href="#devtools"><div class="ico">🧰</div>
<h3>Developer tools</h3> <h3>Developer tools</h3>
<p>SDKs, libraries, indexers, testnet faucets, protocol utilities.</p> <p>Forges, SDKs, libraries, indexers, protocol utilities.</p>
<span class="count">0 listings</span> <span class="count"><b>2</b> listings</span>
</a> </a>
<a class="cat empty" href="#soon"><div class="ico">🎧</div> <a class="cat" href="#media"><div class="ico">🎧</div>
<h3>Media &amp; publishing</h3> <h3>Media &amp; publishing</h3>
<p>Readers, players, one-file blogs, podcast hosts.</p> <p>Document editors, readers, players, one-file blogs.</p>
<span class="count">0 listings</span> <span class="count"><b>2</b> listings</span>
</a> </a>
<a class="cat empty" href="#soon"><div class="ico">⚙️</div> <a class="cat" href="#utils"><div class="ico">⚙️</div>
<h3>Utilities</h3> <h3>Utilities</h3>
<p>File tools, sync, format converters, calculators.</p> <p>Storage tools, file managers, format converters, calculators.</p>
<span class="count">0 listings</span> <span class="count"><b>1</b> listing</span>
</a> </a>
<a class="cat empty" href="#soon"><div class="ico">✨</div> <a class="cat empty" href="#else"><div class="ico">✨</div>
<h3>Everything else</h3> <h3>Everything else</h3>
<p>Anything that doesn't fit above. Propose a new category via a listing.</p> <p>Anything that doesn't fit above. Propose a new category via a listing.</p>
<span class="count">0 listings</span> <span class="count">0 listings</span>
</a> </a>
</div> </div>
</section>
<div class="banner" id="soon"> <!-- ============ THE CATALOGUE ============ -->
<h3>No live listings yet.</h3> <section id="catalogue">
<p>The listing protocol (<code class="inline">APS1</code> record on chain) and the <h2>The catalogue</h2>
submission flow are next. In the meantime, <a href="tools">Silent Mode's own <p class="lede">Twelve apps across five categories, every one of them signed by a Silent
clients</a> are the working proof that a chain-hosted download flow can be verified Mode or affiliate wallet. Click any card for the project's own site.</p>
end-to-end.</p>
<!-- BNS clients -->
<div class="cat-head" id="bns"><div class="ico">🧭</div><h3>BNS clients</h3><span class="n">4 listings</span></div>
<div class="listings">
<a class="app" href="https://theseus.x/" rel="noopener">
<div class="ico">🧭</div>
<div>
<h4>Theseus Navigator <span class="by">· theseus.x</span></h4>
<p>Chromium-based browser with native BCNR resolution and chain-pinned TLS.
Open <code class="inline">hello.bch</code> and it just works — no OS-level daemon,
no root CA install.</p>
<div class="meta"><span class="live">live</span><span>Windows</span><span>free</span></div>
</div>
</a>
<a class="app" href="https://silentmode.st/ariadne" rel="noopener">
<div class="ico">🧵</div>
<div>
<h4>Ariadne's Thread <span class="by">· ariadne.x</span></h4>
<p>System-wide BCNR resolver. Install once, every browser on the machine
(Chrome, Firefox, Edge, Safari) starts opening <code class="inline">.bch</code>
and <code class="inline">.x</code> names directly.</p>
<div class="meta"><span class="live">live</span><span>Windows</span><span>bundled with Theseus</span></div>
</div>
</a>
<a class="app" href="https://silentmode.st/ariadne/android" rel="noopener">
<div class="ico">📱</div>
<div>
<h4>Ariadne for Android <span class="by">· ariadne.x</span></h4>
<p>Mobile BCNR resolver. A standalone app that answers <code class="inline">.bch</code>
lookups to any other app on the phone that asks.</p>
<div class="meta"><span class="live">live</span><span>Android</span><span>APK</span></div>
</div>
</a>
<a class="app" href="https://sirius.x/" rel="noopener">
<div class="ico">⭐</div>
<div>
<h4>Sirius.X <span class="by">· sirius.x</span></h4>
<p>Register BCNR names, edit records, run a TLD, buy and sell names on the
one-transaction marketplace. Keys never leave the browser.</p>
<div class="meta"><span class="live">live</span><span>web</span><span>wallet-sig</span></div>
</div>
</a>
</div>
<!-- Wallets & payments -->
<div class="cat-head" id="wallets"><div class="ico">💸</div><h3>Wallets &amp; payments</h3><span class="n">1 listing</span></div>
<div class="listings">
<a class="app" href="https://silentmode.st/theseus" rel="noopener">
<div class="ico">🪙</div>
<div>
<h4>Aegis <span class="by">· bundled with Theseus</span></h4>
<p>Multi-chain wallet with wallet-signed dapp bridges. BCH, ETH, SOL, TRX, DGB
out of the box. One PIN for the whole vault, TPM-sealed on Windows.</p>
<div class="meta"><span class="live">live</span><span class="bundled">bundled</span><span>chain-agnostic</span></div>
</div>
</a>
</div>
<!-- Privacy & security -->
<div class="cat-head" id="privacy"><div class="ico">🛡️</div><h3>Privacy &amp; security</h3><span class="n">1 listing</span></div>
<div class="listings">
<a class="app" href="https://silentmode.st/theseus" rel="noopener">
<div class="ico">🛡️</div>
<div>
<h4>Shield <span class="by">· bundled with Theseus</span></h4>
<p>Ad and tracker blocker built on @ghostery/adblocker with EasyList and
EasyPrivacy baked in. Runs in-process; no third-party DNS, no telemetry
endpoints.</p>
<div class="meta"><span class="live">live</span><span class="bundled">bundled</span><span>OSS</span></div>
</div>
</a>
</div>
<!-- Developer tools -->
<div class="cat-head" id="devtools"><div class="ico">🧰</div><h3>Developer tools</h3><span class="n">2 listings</span></div>
<div class="listings">
<a class="app" href="https://code.silentmode.st/" rel="noopener">
<div class="ico">⚒️</div>
<div>
<h4>Hephaestus <span class="by">· hephaestus.x · code.silentmode.st</span></h4>
<p>Silent Mode's own code forge — Forgejo with Bitcoin Cash wallet-address
login replacing email + password. Push, pull, issue, PR, same as any Git
host; sign in with a signature instead of a password.</p>
<div class="meta"><span class="live">live</span><span>web</span><span>wallet-sig</span></div>
</div>
</a>
<a class="app" href="https://code.silentmode.st/silentmode/sirius-press" rel="noopener">
<div class="ico">📝</div>
<div>
<h4>Sirius Press <span class="by">· self-host</span></h4>
<p>A WordPress fork with the email requirement stripped from account and
publish paths and wallet-signature login in its place. For BCNR name
owners who want a dynamic backend without giving up sovereignty.</p>
<div class="meta"><span class="beta">beta</span><span>self-host</span><span>PHP+MySQL</span></div>
</div>
</a>
</div>
<!-- Media & publishing -->
<div class="cat-head" id="media"><div class="ico">🎧</div><h3>Media &amp; publishing</h3><span class="n">2 listings</span></div>
<div class="listings">
<a class="app" href="https://silentmode.st/theseus" rel="noopener">
<div class="ico">📄</div>
<div>
<h4>PDF Editor <span class="by">· bundled with Theseus</span></h4>
<p>Full-tab PDF editor. Replace text in place, redact, add annotations,
convert to Word with hand-written OOXML. No "upload your file" step — it
runs locally in the browser process.</p>
<div class="meta"><span class="live">live</span><span class="bundled">bundled</span></div>
</div>
</a>
<a class="app" href="https://silentmode.st/theseus" rel="noopener">
<div class="ico">📝</div>
<div>
<h4>Word Editor <span class="by">· bundled with Theseus</span></h4>
<p>Edit <code class="inline">.docx</code> files directly. Multi-tab, zoom,
image handling, bundled fonts so a file:// document still renders the way
the author wrote it.</p>
<div class="meta"><span class="live">live</span><span class="bundled">bundled</span></div>
</div>
</a>
</div>
<!-- Utilities -->
<div class="cat-head" id="utils"><div class="ico">⚙️</div><h3>Utilities</h3><span class="n">1 listing</span></div>
<div class="listings">
<a class="app" href="https://pithos.sia/" rel="noopener">
<div class="ico">🏺</div>
<div>
<h4>Pithos <span class="by">· pithos.sia</span></h4>
<p>GUI for the Sia storage network. Browse buckets, upload files, manage
mirrors. Web app, Electron desktop, and Theseus add-on — same codebase,
same keys.</p>
<div class="meta"><span class="live">live</span><span>web + desktop</span><span>bundled</span></div>
</div>
</a>
</div>
<!-- Offline-first -->
<div class="cat-head" id="offline"><div class="ico">📦</div><h3>Offline-first apps</h3><span class="n">1 listing</span></div>
<div class="listings">
<a class="app" href="https://deltos.app/" rel="noopener">
<div class="ico">🗂️</div>
<div>
<h4>Deltos <span class="by">· deltos.app</span></h4>
<p>A notepad whose tabs live together in one file. Open the file, every tab
is there — like an Excel workbook, but for plain text. Local-only; the
file is yours.</p>
<div class="meta"><span class="live">live</span><span>web</span><span>single-file</span></div>
</div>
</a>
</div> </div>
</section> </section>
@ -163,7 +356,7 @@
<span class="pill p-live">available today</span> <span class="pill p-live">available today</span>
<h3>Register a name</h3> <h3>Register a name</h3>
<p>Every publisher needs a name to sign as. Any BNS name works — the same one you'd <p>Every publisher needs a name to sign as. Any BNS name works — the same one you'd
register at <a href="sirius">Sirius</a>. Fractions of a cent, no monthly bill.</p> register at <a href="https://sirius.x/">Sirius</a>. Fractions of a cent, no monthly bill.</p>
</div> </div>
<div class="card"> <div class="card">
<span class="pill p-live">available today</span> <span class="pill p-live">available today</span>
@ -213,11 +406,11 @@
</div> </div>
</section> </section>
<div class="note warn"><b>Status: designed, not yet built.</b> The listing protocol <div class="note"><b>Status.</b> The first-drop catalogue above is operator-curated —
(<code class="inline">APS1</code>) exists on paper — see the twelve apps already run and sign with Silent Mode / affiliate wallets. The
<code class="inline">_coordination/sessions/mobile-resolver.md</code>. The browsing UI, open-publish layer (<code class="inline">APS1</code> record + submission flow +
publish flow, and trust-list plumbing are next. This page will look the same when trust-list plumbing) opens the catalogue to anyone with a BNS name. The page you
Prometheus is live; the "0 listings" counters just start counting up.</div> are reading will keep its shape; the "0 listings" counters just start counting up.</div>
</div> </div>