sirius/theseus/index.html
Local Dev 1f331a298b sirius.x: pull the sign-in link to the far right of the top nav
Standard header pattern — brand + main nav on the left, the account action on
the right. New .portal class does margin-left:auto plus a subtle acid tint so
it reads as a button, not another nav item. Applied on all four pages
(landing, docs, portal, theseus); the label is '🔑 Sign in' everywhere
(portal.html itself still marks it .here).
2026-08-29 22:22:37 +02:00

183 lines
11 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Theseus Navigator — the browser that speaks Bitcoin Cash names — sirius.x</title>
<meta name="description" content="Theseus Navigator is a Chromium-based browser with native .bch / BCNR name resolution built in — no OS-level daemon, no DNS shim, no root-store install. Download for Windows.">
<style>
:root{
--bg:#0b0e14; --panel:#141a24; --panel2:#18202c; --line:rgba(255,255,255,.09);
--ink:#e7eaf1; --mut:#8b98a9; --dim:#5e6678; --acid:#d6ff3d;
--chain:#d6ff3d; --sia:#b39ddb; --srv:#4fd1a5; --ok:#4fd1a5; --taken:#f6768a; --warn:#ffc75f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1100px 560px at 50% -12%,#16202e,var(--bg));
color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}
a{color:var(--acid)}
.wrap{max-width:980px;margin:0 auto;padding:0 1.2rem}
.topnav{position:sticky;top:0;z-index:20;display:flex;gap:2px;align-items:center;flex-wrap:wrap;
padding:10px 1.2rem;background:rgba(11,14,20,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topnav .brand{font-weight:600;color:var(--ink);text-decoration:none;margin-right:14px;font-size:15px;letter-spacing:.2px}
.topnav .brand .g{color:var(--acid)}
.topnav a{color:var(--mut);text-decoration:none;padding:6px 12px;border-radius:8px;font-size:14px}
.topnav a:hover{color:var(--ink);background:var(--panel)}
.topnav a.here{color:var(--acid);background:rgba(214,255,61,.08)}
.topnav a.portal{margin-left:auto;background:rgba(214,255,61,.10);color:var(--acid);font-weight:500}
.topnav a.portal:hover{background:rgba(214,255,61,.18)}
header.hero{text-align:center;padding:5rem 1.2rem 1rem}
.mark{font-size:56px;line-height:1}
h1{font-size:clamp(2rem,5.5vw,2.9rem);margin:.4rem 0 .3rem}
h1 .g{color:var(--acid)}
.tag{color:var(--mut);font-size:1.05rem;max-width:660px;margin:0 auto}
.cta{margin-top:1.8rem;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;padding:11px 20px;border-radius:10px;background:#4b7bec;color:#fff;font-size:14px;border:none;cursor:pointer;font-family:inherit;transition:filter .1s}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn.acid{background:var(--acid);color:#0b0e14;font-weight:600}
.btn:hover{filter:brightness(1.12)}
section{padding:2.6rem 0;border-top:1px solid var(--line);margin-top:2.5rem}
section:first-of-type{border-top:none;margin-top:1.5rem}
h2{font-size:1.5rem;margin:0 0 .4rem}
h3{font-size:1.1rem;margin:0 0 .35rem}
.lede{color:var(--mut);margin:0 0 1.6rem;max-width:720px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.card h3{margin:0 0 .4rem;display:flex;align-items:center;gap:8px}
.card p{margin:0;color:var(--mut);font-size:14px}
.card .cta{margin-top:14px;justify-content:flex-start}
.card .sub{color:var(--dim);font-size:12.5px;margin-top:10px;font-family:ui-monospace,monospace;word-break:break-all}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.d-chain{background:var(--chain)} .d-sia{background:var(--sia)} .d-srv{background:var(--srv)}
.note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acid);
border-radius:10px;padding:14px 18px;color:var(--mut);font-size:14px;margin-top:1.4rem}
.note.warn{border-left-color:var(--warn)}
.note b{color:var(--ink)}
code,.mono{background:#0e131b;border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:13px}
pre{background:#0e131b;border:1px solid var(--line);border-radius:10px;padding:12px 14px;overflow-x:auto;
font-family:ui-monospace,monospace;font-size:13px;color:var(--ink);margin:1rem 0}
ol.steps{counter-reset:s;list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:10px}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:start;
background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:13px 16px}
ol.steps li::before{content:counter(s);grid-column:1;grid-row:1;
display:grid;place-items:center;width:24px;height:24px;border-radius:50%;
background:rgba(214,255,61,.14);color:var(--acid);font-size:12.5px;font-weight:700}
ol.steps li > *{grid-column:2;min-width:0}
ol.steps b{color:var(--ink)} ol.steps span{color:var(--mut);font-size:14px}
.pill{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(214,255,61,.13);color:var(--acid);margin-left:8px;vertical-align:middle;font-weight:500}
footer{border-top:1px solid var(--line);padding:2.4rem 0 3.5rem;color:var(--dim);font-size:13px;text-align:center;margin-top:2.5rem}
</style>
</head>
<body>
<nav class="topnav">
<a class="brand" href="../"><span class="g">sirius.x</span></a>
<a href="../#try">Try it</a>
<a href="../docs/">📚 Docs</a>
<a href="./" class="here">🧭 Theseus</a>
<a href="https://silentmode.st/" rel="noopener">Silent Mode ↗</a>
<a href="../portal.html" class="portal">🔑 Sign in</a>
</nav>
<header class="hero">
<div class="mark">🧭</div>
<h1>Theseus <span class="g">Navigator</span></h1>
<p class="tag">A Chromium-based browser with native <b>.bch / BCNR</b> name resolution built in.
No OS-level daemon, no DNS shim, no root-store install. Type <code>hello.bch</code> in the
address bar and it just works.</p>
<div class="cta">
<a class="btn acid" href="#download">Download for Windows</a>
<a class="btn ghost" href="#how">How it works</a>
</div>
</header>
<div class="wrap">
<section id="download">
<h2>Download <span class="pill">v0.0.4</span></h2>
<p class="lede">Windows builds for now. The installer wires shortcuts and file associations; the
portable build is a single .exe that runs from anywhere. Ariadne Resolver is the older,
lighter option for systems where you only need name resolution without the browser.</p>
<div class="grid">
<div class="card">
<h3><span class="dot d-chain"></span> Theseus Navigator — Setup</h3>
<p>Installs with shortcuts + Start menu entry. Recommended for most users.</p>
<div class="cta"><a class="btn acid" href="https://dl.silentmode.st/TheseusNavigator-Setup-0.0.4.exe">Download Setup .exe (~97 MB)</a></div>
<div class="sub">SmartScreen may warn on first run — the binary is unsigned. Verify the SHA-256 against the checksum published on this page (below) before running.</div>
</div>
<div class="card">
<h3><span class="dot d-sia"></span> Theseus Navigator — Portable</h3>
<p>Single .exe. Nothing installed, nothing modified in the registry. Run and go.</p>
<div class="cta"><a class="btn acid" href="https://dl.silentmode.st/TheseusNavigator-0.0.4-portable.exe">Download Portable .exe (~97 MB)</a></div>
</div>
<div class="card">
<h3><span class="dot d-srv"></span> Ariadne Resolver — Setup</h3>
<p>The lighter option: a system-wide BCNR resolver (no browser). Works with any browser via
the local trust anchor. Windows installer.</p>
<div class="cta"><a class="btn ghost" href="https://dl.silentmode.st/AriadneResolver-Setup-0.1.0.exe">Download Ariadne (~25 MB)</a></div>
</div>
<div class="card">
<h3><span class="dot d-srv"></span> Ariadne Resolver — Android</h3>
<p>Android APK. Runs as a VPN service to intercept and resolve BCNR names on the device.</p>
<div class="cta"><a class="btn ghost" href="https://dl.silentmode.st/ariadne-v0.8.apk">Download APK</a></div>
</div>
</div>
</section>
<section id="how">
<h2>How Theseus works</h2>
<p class="lede">Theseus is a Chromium wrapper (Electron) with two things regular browsers don't
have: in-process BCNR name resolution, and a certificate-verify hook that trusts on-chain
TLS fingerprints instead of the OS root store for BCNR hostnames.</p>
<ol class="steps">
<li><b>Address bar accepts <code>.bch</code> / <code>.x</code> / any BCNR TLD.</b>
<span>The URL parser is short-circuited: any hostname whose TLD is in the registry is
resolved by walking the chain via the built-in <code>bns.js</code> — never through DNS.</span></li>
<li><b>Records decide how the site is served.</b>
<span><code>h</code> renders inline HTML from the OP_RETURN payload itself. <code>s3</code>
serves from a Sia bucket via the in-app gateway. <code>ip</code> connects to a server by
IP. <code>u</code> redirects. Priority is handled by the shared <code>record-picker</code>.</span></li>
<li><b>TLS verifies against on-chain fingerprints.</b>
<span>Electron's <code>setCertificateVerifyProc</code> is intercepted: for BCNR hostnames,
instead of walking the OS trust chain, the leaf's SHA-256 fingerprint is compared to the
<code>tls</code> record on chain. Matches → trusted. No <code>tls</code> record → the
browser falls back to the local root CA.</span></li>
<li><b>Provenance indicator in the URL bar.</b>
<span>A tiny badge shows whether the page came from the chain, from Sia, or from an
IP-configured server — with the NFT category shown on hover. The decentralized padlock.</span></li>
</ol>
<div class="note"><b>What Theseus is NOT.</b> Not a wallet — for that, use Deviant, Cashonize,
Paytaca, or the built-in browser wallet at
<a href="https://silentmode.st/sirius/register.html" rel="noopener">sirius/register.html</a>.
Not a hosting service — for that, register a name and point its records at any host (Sia, VPS,
your own server). Theseus just makes those names openable in a normal-feeling browser.</div>
</section>
<section id="verify">
<h2>Verify a download</h2>
<p class="lede">The binaries are unsigned (Windows will show a SmartScreen warning). Before
running, verify the SHA-256 against what the operator publishes on-chain and in the release
notes:</p>
<pre>PowerShell:
Get-FileHash TheseusNavigator-Setup-0.0.4.exe
Bash:
sha256sum TheseusNavigator-Setup-0.0.4.exe</pre>
<p class="lede">Compare the digest to the release manifest at
<a href="https://silentmode.st/releases/" rel="noopener">silentmode.st/releases/</a>.
For a stronger guarantee, sign in with the wallet and check that the release-signing key
matches the on-chain identity for <code>releases.silentmode.bch</code>.</p>
</section>
</div>
<footer>
Theseus Navigator on sirius.x ·
<a href="../">back to sirius.x</a> ·
<a href="https://silentmode.st/tools/">Silent Mode Tools</a> ·
<a href="https://silentmode.st/releases/">Release notes</a><br>
Alpha, Windows for now. macOS and Linux builds are on the roadmap.
</footer>
</body>
</html>