Compare commits

...

No commits in common. "gh-pages" and "main" have entirely different histories.

4 changed files with 13 additions and 172 deletions

View file

View file

@ -1,10 +1,16 @@
# TorrentClaw mirrors (static)
# torrentclaw/mirrors
Auto-generated by `scripts/build-mirrors-static.ts`. Do not edit by hand —
your changes will be overwritten on the next build.
Off-domain static copy of the [TorrentClaw](https://torrentclaw.com) mirror list.
This page is published off-domain so it survives any single takedown:
- https://torrentclaw.github.io/mirrors/
- https://torrentclaw-mirrors.pages.dev/
The content of the `gh-pages` branch is **auto-generated** by a workflow in
the (private) source repo. **Do not edit by hand** — your changes will be
overwritten on the next publish.
Update with: `pnpm exec tsx scripts/build-mirrors-static.ts`.
Served at: <https://torrentclaw.github.io/mirrors/>.
## Why this repo exists
If `torrentclaw.com` is taken down, the in-app `/mirrors` page goes down
with it. This repo lives on infrastructure independent from the rest of the
stack (different cloud, different account, different CDN) so the mirror
list survives any single takedown.

View file

@ -1,129 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>TorrentClaw mirrors</title>
<meta name="description" content="Backup access to TorrentClaw via alternate domains and Tor (.onion). Static copy hosted off-domain so it survives takedowns.">
<meta name="robots" content="index,follow">
<link rel="canonical" href="https://torrentclaw.com/mirrors">
<style>
:root { color-scheme: dark light; }
* { box-sizing: border-box; }
body {
margin: 0;
background: #0f172a;
color: #e2e8f0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
line-height: 1.5;
}
main { max-width: 720px; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
h1 { font-size: 1.75rem; margin: 0 0 .5rem; }
h2 { font-size: 1.1rem; margin: 2rem 0 .75rem; }
p { color: #94a3b8; margin: .5rem 0; }
ul { list-style: none; padding: 0; margin: 0; }
li {
display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
background: #1e293b; border: 1px solid #334155; border-radius: 6px;
padding: .65rem .9rem; margin: .35rem 0;
}
li a { color: #38bdf8; text-decoration: none; word-break: break-all; flex: 1 1 auto; }
li a:hover { text-decoration: underline; }
.badge {
display: inline-block; font-size: 10px; text-transform: uppercase;
padding: 2px 8px; border-radius: 999px; background: #334155; color: #cbd5e1;
letter-spacing: .04em;
}
.tor-badge { background: #6b21a8; color: #f3e8ff; }
.muted { color: #64748b; font-size: 12px; word-break: break-all; }
.footer { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #334155;
font-size: 12px; color: #64748b; }
.footer a { color: #94a3b8; }
code { background: #1e293b; padding: 2px 6px; border-radius: 4px; font-size: 13px; }
</style>
</head>
<body>
<main>
<h1>TorrentClaw mirrors</h1>
<p>This is a static copy of the official mirror list. It is hosted off the main domain so it survives any takedown of <code>torrentclaw.com</code>. Bookmark it.</p>
<h2>Clearnet mirrors</h2>
<p>Regular HTTPS domains. Identical content; use whichever your ISP and DNS resolve correctly.</p>
<ul>
<li>
<a href="https://torrentclaw.com" class="clearnet">torrentclaw.com</a>
<span class="badge">primary</span>
</li>
<li>
<a href="https://torrentclaw.to" class="clearnet">torrentclaw.to</a>
</li>
<li>
<a href="http://torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion" class="tor">torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion</a>
<span class="badge tor-badge">Tor</span>
</li></ul>
<h2>Out-of-band channels</h2>
<p>If both clearnet and Tor are unreachable, check these for the latest mirror list.</p>
<ul><li><span class="muted">None configured</span></li></ul>
<h2>Other off-domain copies</h2>
<p>This page is itself published on multiple independent hosts. If you are reading this on one of them, save the others too.</p>
<ul><li>
<a href="https://torrentclaw.github.io/mirrors/" rel="noopener noreferrer">GitHub Pages</a>
<span class="muted">https://torrentclaw.github.io/mirrors/</span>
</li></ul>
<h2>For developers and agents</h2>
<p>The same data is embedded below as JSON. unarr falls back to scraping this island when /api/v1/mirrors is unreachable.</p>
<p><a href="mirrors.json">mirrors.json</a> — same payload, raw.</p>
<div class="footer">
<p>Generated 2026-05-13T18:16:13.576Z · revision 2.</p>
<p>Canonical site: <a href="https://torrentclaw.com">torrentclaw.com</a></p>
</div>
</main>
<script type="application/json" id="torrentclaw-mirrors">
{
"revision": 2,
"mirrors": [
{
"url": "https://torrentclaw.com",
"label": "torrentclaw.com",
"kind": "clearnet",
"primary": true
},
{
"url": "https://torrentclaw.to",
"label": "torrentclaw.to",
"kind": "clearnet",
"primary": false
},
{
"url": "http://torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion",
"label": "torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion",
"kind": "tor",
"primary": false
}
],
"tor": {
"url": "http://torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion",
"label": "torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion"
},
"channels": [],
"staticFallbacks": [
{
"label": "GitHub Pages",
"url": "https://torrentclaw.github.io/mirrors/",
"description": "Static copy of the mirror list, hosted on GitHub Pages from the torrentclaw/mirrors repo (independent infrastructure)."
}
],
"updatedAt": "2026-05-13T18:16:13.576Z"
}
</script>
</body>
</html>

View file

@ -1,36 +0,0 @@
{
"revision": 2,
"mirrors": [
{
"url": "https://torrentclaw.com",
"label": "torrentclaw.com",
"kind": "clearnet",
"primary": true
},
{
"url": "https://torrentclaw.to",
"label": "torrentclaw.to",
"kind": "clearnet",
"primary": false
},
{
"url": "http://torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion",
"label": "torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion",
"kind": "tor",
"primary": false
}
],
"tor": {
"url": "http://torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion",
"label": "torrentf3aifidcsaaanmnmuhv2s53r6hqsl3zkmfidiaxainkeqk5id.onion"
},
"channels": [],
"staticFallbacks": [
{
"label": "GitHub Pages",
"url": "https://torrentclaw.github.io/mirrors/",
"description": "Static copy of the mirror list, hosted on GitHub Pages from the torrentclaw/mirrors repo (independent infrastructure)."
}
],
"updatedAt": "2026-05-13T18:16:13.577Z"
}