site/apps/index.html

201 lines
9.6 KiB
HTML
Raw Normal View History

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Apps &amp; downloads — Silent Mode</title>
<meta name="description" content="Downloads for Silent Mode clients: Theseus Navigator (desktop browser), Ariadne Resolver (Windows), Ariadne for Android APK. Every artifact carries a SHA-256, verifiable against the on-chain release index.">
<link rel="stylesheet" href="../shared.css">
<style>
/* tabs — used only on this page for now */
.tabs{display:flex;gap:4px;margin:1.4rem 0 1.6rem;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tab{background:none;border:none;padding:10px 22px;color:var(--mut);font:inherit;
cursor:pointer;border-bottom:2px solid transparent;font-size:14.5px;font-weight:500}
.tab:hover{color:var(--ink)}
.tab.here{color:var(--acid);border-bottom-color:var(--acid)}
.pane[hidden]{display:none}
/* download listing — shared with the release notes format on the old homepage */
.dl{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;
background:var(--panel);border:1px solid var(--line);border-radius:12px;
padding:16px 20px;margin-bottom:12px}
.dl > div:first-child{flex:1;min-width:240px}
.dl h3{margin:0 0 .3rem}
.dl p{margin:.3rem 0 0;color:var(--mut);font-size:14px}
.dl .meta{color:var(--dim);font-size:12.5px;margin-top:.5rem}
.dl .act{white-space:nowrap;display:flex;flex-direction:column;gap:6px}
.dl .act .btn{padding:9px 16px;font-size:13.5px;text-align:center}
.dl .act .soon{color:var(--dim);font-size:13px;border:1px dashed var(--line);
border-radius:999px;padding:7px 16px;display:inline-block;text-align:center}
.hashes{flex-basis:100%;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.hashes .h{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;font-size:12px;color:var(--dim);margin-top:4px}
.hashes .h b{color:var(--mut);font-weight:600;min-width:110px}
.hashes code{font-family:ui-monospace,monospace;font-size:11.5px;color:#c9d4e3;word-break:break-all}
</style>
</head>
<body>
<nav class="topnav">
<a class="brand" href="../">⛓️ Silent <span class="g">Mode</span></a>
<a href="../nav/">Tools</a>
<a href="./" class="here">Apps</a>
<a href="../register.html">Names</a>
<a href="../store/">Store</a>
<a href="../hermes/">Messenger</a>
</nav>
<header class="hero">
<h1>Apps &amp; <span class="g">downloads</span></h1>
<p class="tag">Every Silent Mode client, with its version, size, and SHA-256. Nothing
here is signed by an authority your device already trusts — by design. The
fingerprint is the real check.</p>
</header>
<div class="wrap">
<div class="tabs" role="tablist">
<button class="tab here" data-tab="desktop" role="tab">Desktop</button>
<button class="tab" data-tab="mobile" role="tab">Mobile</button>
</div>
<!-- ============ DESKTOP ============ -->
<div id="pane-desktop" class="pane">
<div class="dl" id="theseus">
<div>
<span class="pill p-alpha">alpha</span>
<h3>Theseus Navigator</h3>
<p>A desktop browser that speaks BNS names natively. Tabs, search, a home page,
one-click Tor, and a registry badge on every page showing whether the content
came from the chain, from Sia, or from a server. Changes nothing on your system.</p>
<div class="meta">Windows 64-bit · ~92 MB · v0.0.1 · unsigned build (no code-signing certificate)</div>
</div>
<div class="act">
<a class="btn" href="https://dl.silentmode.st/TheseusNavigator-Setup-0.0.1.exe">Installer</a>
<a class="btn ghost" href="https://dl.silentmode.st/TheseusNavigator-0.0.1-portable.exe">Portable .exe</a>
</div>
<div class="hashes">
<div style="color:var(--mut);font-size:12.5px">SHA-256 — verify your download before running:</div>
<div class="h"><b>Installer</b><code>7c735e88bad2da3347145adba3016c8f626a18b8422289c8c6ba471972e2952b</code></div>
<div class="h"><b>Portable</b><code>008fd84445babeabb401b2bca40ea9466b24b0e6d6c85104da7640c5c5c84521</code></div>
</div>
</div>
<div class="dl" id="resolver">
<div>
<span class="pill p-alpha">alpha</span>
<h3>Ariadne Resolver</h3>
<p>A small background service plus an installer. Teaches your <i>whole computer</i>
to open BNS names in <i>every</i> browser, with HTTPS working. Asks for
administrator rights because it changes how your machine resolves names —
everything reverses with the bundled uninstaller.</p>
<div class="meta">Windows 64-bit · v0.1.0 · unsigned build</div>
</div>
<div class="act">
<a class="btn" href="https://dl.silentmode.st/AriadneResolver-Setup-0.1.0.exe">Installer</a>
</div>
<div class="hashes">
<div style="color:var(--mut);font-size:12.5px">SHA-256 — verify before elevating:</div>
<div class="h"><b>Installer</b><code>0a8b0a482fc5ac9f4e73e03aecb82f4e50bad7df0013965317822dd90d063266</code></div>
</div>
</div>
<div class="dl" id="extension">
<div>
<span class="pill p-alpha">alpha</span>
<h3>Ariadne for Firefox</h3>
<p>A browser add-on that resolves BNS names inside Firefox. 8 KB, no dependencies,
no background service, no system changes. Also runs on Firefox for Android.</p>
<div class="meta">Firefox · ~8 KB · packaging in progress</div>
</div>
<div class="act">
<span class="soon">Packaging in progress</span>
</div>
</div>
<div class="note"><b>Verifying a Windows download.</b> After downloading, compute the
SHA-256 and compare it to the value above:
<code class="inline">certutil -hashfile &lt;file&gt; SHA256</code>. Builds carry
<b>no code-signing certificate</b> — that requires a legal identity, which is what
this project exists to avoid. Windows will warn about an unrecognized app; that
warning is expected. The hash is the real check.</div>
</div>
<!-- ============ MOBILE ============ -->
<div id="pane-mobile" class="pane" hidden>
<div class="dl" id="android">
<div>
<span class="pill p-alpha">alpha</span>
<h3>Ariadne for Android</h3>
<p>A phone app that resolves BNS names on the device itself — it talks to Bitcoin
Cash nodes directly, with no relay and no account. Tabs, a start page built
from the names actually registered on chain, and a badge on every page showing
whether the name came from the chain or from ordinary DNS, with the block and
transaction behind it one tap away.</p>
<div class="meta">Android 5.0+ (API 21) · ~97 KB · v0.2 · self-signed release key</div>
</div>
<div class="act">
<a class="btn" href="https://dl.silentmode.st/ariadne-v0.2.apk">Download APK</a>
</div>
<div class="hashes">
<div style="color:var(--mut);font-size:12.5px">SHA-256 — verify before installing:</div>
<div class="h"><b>ariadne-v0.2.apk</b><code>635c8f04d44ef855a8390b9eeddb8cd2d50622e81cc4e5004e8daffc1bb0425c</code></div>
<div class="h"><b>Signing key</b><code>46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c</code></div>
</div>
</div>
<div class="note"><b>Installing on Android.</b> The app is not in the Play Store —
distributing there requires a legal identity and Google's permission, the two things
this project exists to do without. You will have to allow installation from your
browser or file manager once, and your phone may warn you about an app from an
unknown developer. <b>The signing key fingerprint above is what matters</b>: every
future update is signed with the same key, and Android will refuse to install an
update signed by anyone else — so once you have checked it, that check protects
every version after this one.</div>
<div class="note warn"><b>iOS.</b> Not yet. Apple's rules make what Ariadne does on
Android (intercepting requests, running its own resolver) considerably harder to
ship inside the App Store, and outside it there is no way to install one. Under
investigation.</div>
</div>
<div class="note" style="margin-top:2rem">The machine-readable list of every published
artifact is at <a href="../releases-manifest.json"><code class="inline">releases-manifest.json</code></a>,
and the human-readable version with verify instructions is <a href="../releases/">here</a>.
The canonical fingerprints live on the chain, at
<code class="inline">releases.silentmode.bch</code>.</div>
</div>
<footer>
<div>Silent Mode — a Deviant project.</div>
<div class="fine">Alpha software on a test network. Names, sites and downloads shown
here are experimental and may change or disappear without notice. Nothing here is
a service, a product guarantee, or an investment. Verify everything against the chain.</div>
</footer>
<script>
// Tab switching + deep links: /apps/#theseus → Desktop tab; #android → Mobile tab.
const panes = {desktop:['theseus','resolver','extension'], mobile:['android']};
const idToTab = Object.fromEntries(Object.entries(panes).flatMap(([tab,ids])=>ids.map(id=>[id,tab])));
function activate(tab, scrollTo){
document.querySelectorAll('.tab').forEach(b=>b.classList.toggle('here', b.dataset.tab===tab));
document.querySelectorAll('.pane').forEach(p=>p.hidden = p.id !== 'pane-'+tab);
if (scrollTo) document.getElementById(scrollTo)?.scrollIntoView({behavior:'smooth',block:'start'});
}
document.querySelectorAll('.tab').forEach(b=>{
b.addEventListener('click', ()=>activate(b.dataset.tab));
});
const hash = location.hash.slice(1);
if (hash && idToTab[hash]) activate(idToTab[hash], hash);
</script>
</body>
</html>