Compare commits
No commits in common. "main" and "gh-pages" have entirely different histories.
4 changed files with 172 additions and 13 deletions
0
.nojekyll
Normal file
0
.nojekyll
Normal file
20
README.md
20
README.md
|
|
@ -1,16 +1,10 @@
|
||||||
# torrentclaw/mirrors
|
# TorrentClaw mirrors (static)
|
||||||
|
|
||||||
Off-domain static copy of the [TorrentClaw](https://torrentclaw.com) mirror list.
|
Auto-generated by `scripts/build-mirrors-static.ts`. Do not edit by hand —
|
||||||
|
your changes will be overwritten on the next build.
|
||||||
|
|
||||||
The content of the `gh-pages` branch is **auto-generated** by a workflow in
|
This page is published off-domain so it survives any single takedown:
|
||||||
the (private) source repo. **Do not edit by hand** — your changes will be
|
- https://torrentclaw.github.io/mirrors/
|
||||||
overwritten on the next publish.
|
- https://torrentclaw-mirrors.pages.dev/
|
||||||
|
|
||||||
Served at: <https://torrentclaw.github.io/mirrors/>.
|
Update with: `pnpm exec tsx scripts/build-mirrors-static.ts`.
|
||||||
|
|
||||||
## 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.
|
|
||||||
|
|
|
||||||
129
index.html
Normal file
129
index.html
Normal file
|
|
@ -0,0 +1,129 @@
|
||||||
|
<!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>
|
||||||
36
mirrors.json
Normal file
36
mirrors.json
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue