Two brand kits, one design language. Each site now has a /brand/ page + a
favicon; every page I own on silentmode.st links the SVG favicon (parallel
sessions can add the same line to Sirius/Hephaestus/Choose when they touch
those files).
Silent Mode kit (site/brand/, site/favicon.svg):
Mark — two interlocking chain links, one muted (#8b98a9) + one acid
(#d6ff3d). The umbrella family mark.
Logo, wordmark, avatar (400x400 social), banner (1500x500 social header).
Brand page shows every asset with SVG download, colour palette
(tokens matching shared.css), usage do's and don'ts.
navigate.st kit (navigate.st/brand/, navigate.st/favicon.svg):
Mark — compass rose (N acid, other points muted) inside a chain-link
ring. Ring keeps it in the Silent Mode family without cloning the
SilentMode mark; compass says what this specific site is (the
wayfinding front door).
Same asset set: logo, wordmark, avatar, banner. Standalone brand page
(no shared.css — navigate.st runs single-file).
nginx (VPS): added two locations to sites-enabled/navigate-st so /favicon.svg
and /brand/* resolve from /opt/silent-mode/navigate-brand/. Rollback point
at sites-enabled/navigate-st.bak.1788146513. silentmode.st serves both from
disk under /opt/silent-mode/site/ — no vhost change needed.
Verified live: all favicon + brand URLs return 200 on both hosts.
222 lines
10 KiB
HTML
222 lines
10 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Prometheus — apps and programs 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.">
|
|
<link rel="stylesheet" href="../shared.css">
|
|
<style>
|
|
/* 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. */
|
|
.categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:1rem}
|
|
.cat{
|
|
background:var(--panel);border:1px solid var(--line);border-radius:14px;
|
|
padding:20px 22px;text-decoration:none;color:inherit;
|
|
transition:transform .18s ease, border-color .18s ease, background .18s ease;
|
|
display:flex;flex-direction:column;gap:.6rem;
|
|
}
|
|
.cat:hover{transform:translateY(-3px);border-color:rgba(214,255,61,.35);background:var(--panel2)}
|
|
.cat .ico{font-size:26px;line-height:1;filter:grayscale(.2)}
|
|
.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.empty .count::before{content:"— ";color:var(--dim)}
|
|
|
|
.banner{
|
|
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;
|
|
padding:22px 24px;margin:2rem 0 1.4rem;
|
|
}
|
|
.banner h3{margin:0 0 .3rem;font-size:1.1rem}
|
|
.banner p{margin:.2rem 0 0;color:var(--mut);font-size:14.5px}
|
|
</style>
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
</head>
|
|
<body>
|
|
|
|
<nav class="topnav">
|
|
<a class="brand" href="../">⛓️ Silent <span class="g">Mode</span></a>
|
|
<a href="../tools/">Theseus</a>
|
|
<a href="./" class="here">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" style="font-size:52px">🔥</div>
|
|
<h1>Prometheus
|
|
<span class="pill p-designed" style="vertical-align:middle;font-size:12px;margin-left:.6rem">designed · not yet built</span>
|
|
</h1>
|
|
<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
|
|
gatekeep. Named for the one who gave fire to humans and did not ask the gods first.</p>
|
|
</header>
|
|
|
|
<div class="wrap">
|
|
|
|
<!-- ============ CATEGORIES ============ -->
|
|
<section class="plain">
|
|
<h2>Browse by category</h2>
|
|
<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.
|
|
Categories below are the initial shape; anyone can propose more.</p>
|
|
|
|
<div class="categories">
|
|
<a class="cat empty" href="#soon"><div class="ico">💬</div>
|
|
<h3>Communication</h3>
|
|
<p>Messengers, voice, group chats, boards.</p>
|
|
<span class="count">0 listings</span>
|
|
</a>
|
|
<a class="cat empty" href="#soon"><div class="ico">🛡️</div>
|
|
<h3>Privacy & security</h3>
|
|
<p>Tor tooling, mix networks, key managers, disk crypto.</p>
|
|
<span class="count">0 listings</span>
|
|
</a>
|
|
<a class="cat empty" href="#soon"><div class="ico">💸</div>
|
|
<h3>Wallets & payments</h3>
|
|
<p>BCH wallets, cross-chain bridges, payment terminals.</p>
|
|
<span class="count">0 listings</span>
|
|
</a>
|
|
<a class="cat empty" href="#soon"><div class="ico">🎮</div>
|
|
<h3>Games</h3>
|
|
<p>Standalone titles, on-chain leaderboards, in-app purchases without a store cut.</p>
|
|
<span class="count">0 listings</span>
|
|
</a>
|
|
<a class="cat empty" href="#soon"><div class="ico">🧰</div>
|
|
<h3>Developer tools</h3>
|
|
<p>SDKs, libraries, indexers, testnet faucets, protocol utilities.</p>
|
|
<span class="count">0 listings</span>
|
|
</a>
|
|
<a class="cat empty" href="#soon"><div class="ico">🎧</div>
|
|
<h3>Media & publishing</h3>
|
|
<p>Readers, players, one-file blogs, podcast hosts.</p>
|
|
<span class="count">0 listings</span>
|
|
</a>
|
|
<a class="cat empty" href="#soon"><div class="ico">⚙️</div>
|
|
<h3>Utilities</h3>
|
|
<p>File tools, sync, format converters, calculators.</p>
|
|
<span class="count">0 listings</span>
|
|
</a>
|
|
<a class="cat empty" href="#soon"><div class="ico">✨</div>
|
|
<h3>Everything else</h3>
|
|
<p>Anything that doesn't fit above. Propose a new category via a listing.</p>
|
|
<span class="count">0 listings</span>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="banner" id="soon">
|
|
<h3>No live listings yet.</h3>
|
|
<p>The listing protocol (<code class="inline">APS1</code> record on chain) and the
|
|
submission flow are next. In the meantime, <a href="../tools/">Silent Mode's own
|
|
clients</a> are the working proof that a chain-hosted download flow can be verified
|
|
end-to-end.</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- ============ HOW IT WORKS ============ -->
|
|
<section>
|
|
<h2>How Prometheus works</h2>
|
|
<ol class="steps">
|
|
<li><b>A listing is a signed on-chain record.</b>
|
|
<span>Publishing an app writes a small <code class="inline">APS1</code> record
|
|
to Bitcoin Cash — same protocol shape as a BNS name registration, different
|
|
prefix. The payload is a hash pointing at a full manifest stored on Sia:
|
|
name, description, category, icon, version, download URL, binary SHA-256, and
|
|
signing-cert fingerprint. Nobody approves the record; the transaction is the
|
|
publish.</span></li>
|
|
<li><b>The binary lives on Sia.</b>
|
|
<span>App files are uploaded to the Sia storage network — encrypted on the
|
|
publisher's machine, sharded across roughly 30 independent hosts, held by
|
|
nobody in particular. The listing carries the SHA-256 the file must match. If
|
|
the mirror serves a byte off, the client refuses to install it.</span></li>
|
|
<li><b>Reviews are signed endorsements you filter.</b>
|
|
<span>An endorsement is a signed statement on chain: "I, <code class="inline">alice.bch</code>,
|
|
vouch for this app." Your client shows the endorsements from names on trust
|
|
lists you subscribe to — a security researcher's, a friend's, your own. A
|
|
one-star review from a bot you don't follow simply doesn't render. Curated
|
|
registries and formal reputation come later; permissionless comes first.</span></li>
|
|
<li><b>Install verifies against the chain.</b>
|
|
<span>The Ariadne clients pull the file from wherever the listing says (Sia,
|
|
mirror, your own server), check the SHA-256 against the on-chain record, check
|
|
the signing certificate against the fingerprint, and only then install. Same
|
|
principle as verifying a website — the chain is the truth, not the mirror.</span></li>
|
|
</ol>
|
|
</section>
|
|
|
|
<!-- ============ FOR PUBLISHERS ============ -->
|
|
<section>
|
|
<h2>Publishing an app</h2>
|
|
<div class="grid">
|
|
<div class="card">
|
|
<span class="pill p-live">available today</span>
|
|
<h3>Register a name</h3>
|
|
<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>
|
|
</div>
|
|
<div class="card">
|
|
<span class="pill p-live">available today</span>
|
|
<h3>Host on Sia</h3>
|
|
<p>Upload the app binary + manifest to a Sia bucket you control. Silent Mode's own
|
|
gateway can host on your behalf if you don't want to run a Sia daemon.</p>
|
|
</div>
|
|
<div class="card">
|
|
<span class="pill p-designed">designed</span>
|
|
<h3>Publish the listing</h3>
|
|
<p>One transaction: <code class="inline">APS1</code> record with the manifest hash,
|
|
signed by your name's key. From that moment on, anyone can find your app by
|
|
browsing the category, and the client can install it verifiably.</p>
|
|
</div>
|
|
<div class="card">
|
|
<span class="pill p-designed">designed</span>
|
|
<h3>Ship updates</h3>
|
|
<p>An update is another signed record referencing the same app id. Clients pull
|
|
updates the same way they installed the app — verify against the chain, then
|
|
install. Nobody can push a hostile update without your key.</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- ============ HONEST LIMITS ============ -->
|
|
<section>
|
|
<h2>Honest boundaries</h2>
|
|
<div class="grid">
|
|
<div class="card">
|
|
<h3>Not a curator</h3>
|
|
<p>Prometheus does not decide what is on it. Malware can be published — as it can
|
|
on any store. Trust lists and endorsements are what filter your view. If nobody
|
|
you trust endorses it, your client says so.</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Not a moderator</h3>
|
|
<p>Content that is illegal in your jurisdiction is your responsibility to avoid,
|
|
same as any other permissionless network. Silent Mode operates infrastructure;
|
|
it does not decide what runs on it.</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Storage costs money</h3>
|
|
<p>Sia hosting is inexpensive but not free — publishers pay for the bytes their
|
|
apps take. There is no advertising model, no data harvesting, no subscription.
|
|
Storage is the only cost, and it is small.</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="note warn"><b>Status: designed, not yet built.</b> The listing protocol
|
|
(<code class="inline">APS1</code>) exists on paper — see
|
|
<code class="inline">_coordination/sessions/mobile-resolver.md</code>. The browsing UI,
|
|
publish flow, and trust-list plumbing are next. This page will look the same when
|
|
Prometheus is live; the "0 listings" counters just start counting up.</div>
|
|
|
|
</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>
|