Copies site/sirius/register.html to site-sirius-x/register.html with paths rewritten to absolute silentmode.st URLs (js bundle, importmap, shared.css, WizardConnect vendor) so the page works both from silentmode.st/sirius-x/register.html and from sirius.x/register.html via the BCNR gateway. Nav is swapped to the sirius.x layout with profile-menu.js. Landing, portal, docs, and theseus subpage now link locally with ./register.html instead of redirecting off to silentmode.st. Adds 'Register' to the top nav of all six sirius.x pages. Sia and VPS mirrors updated for register.html and the six pages.
175 lines
11 KiB
HTML
175 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.">
|
|
<link rel="icon" href="../assets/favicon.svg" type="image/svg+xml">
|
|
<link rel="mask-icon" href="../assets/favicon.svg" color="#d6ff3d">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:site_name" content="sirius.x">
|
|
<meta property="og:title" content="Theseus Navigator — the browser that speaks Bitcoin Cash names">
|
|
<meta property="og:description" content="Native .bch and BCNR name resolution built into a Chromium browser. No OS-level daemon, no root-store install. Download for Windows.">
|
|
<meta property="og:url" content="https://silentmode.st/sirius-x/theseus/">
|
|
<meta property="og:image" content="https://silentmode.st/sirius-x/brand/banner.svg">
|
|
<meta name="twitter:card" content="summary">
|
|
<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="../register.html">🪪 Register</a>
|
|
<a href="../#roadmap">Roadmap</a>
|
|
<a href="../brand/">🎨 Brand</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</h2>
|
|
<p class="lede">Theseus ships from its own site — <a href="https://silentmode.st/bns/theseus.x/#download" rel="noopener"><b>theseus.x</b></a> — so the version and checksums you see are always the current build, not a snapshot cached here. Windows installer + portable, plus Ariadne Resolver (lighter, no-browser).</p>
|
|
<div class="cta" style="justify-content:flex-start;margin-top:1.2rem">
|
|
<a class="btn acid" href="https://silentmode.st/bns/theseus.x/#download" rel="noopener">Open theseus.x downloads →</a>
|
|
<a class="btn ghost" href="https://silentmode.st/bns/theseus.x/" rel="noopener">Full Theseus site</a>
|
|
</div>
|
|
<div class="note" style="margin-top:1.4rem"><b>Why not list versions here?</b> Theseus updates weekly; a hardcoded version on this page went stale within days last time. theseus.x is the single source of truth — its own operator ships the current build, and sirius.x links there instead of duplicating.</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="../register.html">sirius.x/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 — the current
|
|
hashes live on the theseus.x download page itself, alongside each release:</p>
|
|
<pre>PowerShell:
|
|
Get-FileHash <downloaded-file>.exe
|
|
|
|
Bash:
|
|
sha256sum <downloaded-file>.exe</pre>
|
|
<p class="lede">Compare the digest to the hash panel on
|
|
<a href="https://silentmode.st/bns/theseus.x/#verify" rel="noopener">theseus.x/#verify</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>
|
|
|
|
<script defer src="../js/profile-menu.js"></script>
|
|
</body>
|
|
</html>
|