site/prometheus/index.html
Local Dev b6abf70ea6 prometheus: standalone identity + first-wave Silent Mode listings
Four changes, one coherent pass:

1. Prometheus gets its own flame mark (SVG, not an emoji). Used in the
   topnav brand, in the hero at 88 px, and as the favicon. Replaces the
   🔥 glyph in the service and in site/prometheus/index.html.

2. silentmode.st/prometheus is now a brief introduction with two big
   buttons (Open prometheus.x · Open apps.silentmode.st mirror) and a
   short "what / who / status" block, instead of the full category
   grid that duplicated what prometheus.x already renders. The /prometheus
   page's job on silentmode.st is "point you at the real site," not host
   the content.

3. Footer on the Prometheus service drops the "Silent Mode — a Deviant
   project" byline and reframes the sibling-x links as "Also live in the
   decentralized web:" so Prometheus reads as its own site rather than a
   Silent Mode subpage. Keeps the attribution via the MPL-2.0 + source
   link on the final line. aegis.x and pithos.x added to the sibling row.

4. Four Silent Mode apps seeded as first-wave listings
   (scripts/seed-listings.json + scripts/seed.mjs). Theseus Navigator,
   Ariadne's Thread (Windows + Android), Pithos. Each carries the
   project's own SVG icon from public/icons/, pulled from the project's
   own site. The seed is a direct-DB insert (not through /api/listing)
   with signer_address = chipnet operator and signature = sentinel
   `SM_OPERATOR_SEED`; scan_report is an operator-attested envelope
   signed by the service key so the display pipeline is unchanged. Run
   with `node scripts/seed.mjs`; idempotent (skips existing (publisher,
   slug)).

   Deliberately NOT seeded: Theseus extensions that have no standalone
   form — pdf-editor, docx-editor, shield-blocker, bergamot provider.
   They ship via Theseus's own OTA, not as Prometheus listings. Aegis
   is in the same boat today (a Theseus bundled add-on without a
   standalone binary); its icon is included in public/icons/ for when
   it has its own distribution.

Real file sizes + SHAs come from the current dl.silentmode.st manifest
(theseus 0.3.89, ariadne resolver 0.1.13, ariadne android 0.22,
pithos-desktop 0.3.26). When APS1 lands cross-session, these listings
migrate to real on-chain records signed by each project's own publisher
key and the sentinel values go away.
2026-10-09 01:23:21 +02:00

122 lines
5.8 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Prometheus — the decentralized app directory — Silent Mode</title>
<meta name="description" content="Prometheus is a home for apps published on the Bitcoin Cash chain. The directory itself lives at prometheus.x, resolvable in Theseus and Ariadne. This page is the plain-DNS introduction.">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Silent Mode">
<meta property="og:title" content="Prometheus — the decentralized app directory">
<meta property="og:description" content="A home for apps published on the Bitcoin Cash chain, hosted on Sia, endorsed by signature. Live at prometheus.x.">
<meta property="og:url" content="https://silentmode.st/prometheus">
<meta property="og:image" content="https://silentmode.st/brand/og.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<link rel="stylesheet" href="shared.css?v=20260910">
<link rel="icon" type="image/svg+xml" href="favicon.svg">
<style>
.flamemark{width:84px;height:84px;margin:0 auto 1rem;display:block}
.cta-row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem}
.mono-x{color:var(--acid);font-family:ui-monospace,monospace}
</style>
</head>
<body>
<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 href="theseus">Theseus</a>
<a href="prometheus" class="here">Prometheus</a>
<a href="sirius">Sirius</a>
<a href="hephaestus">Hephaestus</a>
<a href="helios">Helios</a>
<a href="hermes">Hermes</a>
<a href="tools">Tools</a>
</nav>
<header class="hero">
<svg class="flamemark" viewBox="0 0 64 64" aria-hidden="true">
<path d="M32 6 C 38 18 46 24 46 36 C 46 48 40 56 32 56 C 24 56 18 48 18 36 C 18 28 24 22 20 14 C 26 18 30 20 32 6 Z" fill="#d6ff3d"/>
<path d="M32 20 C 36 28 40 32 40 40 C 40 48 36 52 32 52 C 28 52 24 48 24 40 C 24 34 28 30 32 20 Z" fill="#0b0e14"/>
<circle cx="32" cy="44" r="3" fill="#d6ff3d"/>
</svg>
<h1>Prometheus</h1>
<p class="tag">A home for apps published on the Bitcoin Cash chain —
<b>listings on chain, binaries on Sia, scan reports signed, endorsements signed</b>.
Anyone can publish. Nobody can gatekeep.</p>
<div class="cta-row">
<a class="btn acid" href="https://prometheus.x/">Open prometheus.x →</a>
<a class="btn ghost" href="https://apps.silentmode.st/">Open the apps.silentmode.st mirror</a>
</div>
<p style="color:var(--dim);font-size:13px;margin-top:1.2rem">
<span class="mono-x">prometheus.x</span> is a BCNR name — it resolves in
<a href="theseus">Theseus</a> or any browser with
<a href="theseus#ariadne">Ariadne's Thread</a> installed. The
<span class="mono-x">apps.silentmode.st</span> mirror serves the same
content over ICANN DNS for browsers without it.
</p>
</header>
<div class="wrap narrow">
<section class="plain">
<h2>What Prometheus is</h2>
<p>A directory of apps that publish themselves. Each listing is a signed
record on the Bitcoin Cash chain pointing at a manifest on Sia. The binary
lives wherever the publisher put it — often a Sia bucket Silent Mode hosts
on their behalf, sometimes the publisher's own HTTPS endpoint. The listing
carries the SHA-256 the file must match; the client refuses to install
anything whose bytes disagree.</p>
<p>Scan reports are signed by Prometheus (ClamAV plus VirusTotal where a
key is configured) and attached to the listing. Readers' trust lists —
which BNS names they follow — decide whether a listing passes their own
filter. There is no central approval queue and no editorial pick.</p>
</section>
<section>
<h2>Who's it for</h2>
<div class="grid">
<div class="card">
<h3>Readers</h3>
<p>Browse by category on <a href="https://prometheus.x/browse">prometheus.x/browse</a>.
Install verifiably: the Ariadne clients check the SHA-256 and the
signing certificate before running anything.</p>
</div>
<div class="card">
<h3>Publishers</h3>
<p>Upload a binary, write a manifest, sign the APS1 record with the key
for your BNS name. One transaction, fractions of a cent. Full walkthrough at
<a href="https://prometheus.x/publish">prometheus.x/publish</a>.</p>
</div>
<div class="card">
<h3>Reviewers</h3>
<p>Publish signed endorsements of apps you vouch for. Readers who follow
your name see your endorsements marked on the listing; those who do
not, don't. The trust graph is the real curation layer.</p>
</div>
</div>
</section>
<section>
<h2>Status</h2>
<p>The service is live at <span class="mono-x">prometheus.x</span> on chipnet.
Opening listings for the first wave now; the on-chain record format
(<code class="inline">APS1</code>) is being finalised alongside parallel
BNS covenant work, so first-wave listings are signed service-side and will
migrate to on-chain APS1 records when the format lands. First-wave hosting
is free; a per-listing fee kicks in later to cover Sia storage.</p>
</section>
</div>
<footer>
<div>Silent Mode — a Deviant project.</div>
<div class="fine">Named for Prometheus, who gave fire to humans without asking the gods.
Distinct from the well-known Prometheus monitoring project — both take the name from
the same myth; neither has anything to do with the other.</div>
</footer>
</body>
</html>