diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/README.md b/README.md
index c651ad6..cb6b9e8 100644
--- a/README.md
+++ b/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
-the (private) source repo. **Do not edit by hand** โ your changes will be
-overwritten on the next publish.
+This page is published off-domain so it survives any single takedown:
+- https://torrentclaw.github.io/mirrors/
+- https://torrentclaw-mirrors.pages.dev/
-Served at: .
-
-## 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.
+Update with: `pnpm exec tsx scripts/build-mirrors-static.ts`.
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..dee7a17
--- /dev/null
+++ b/index.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+TorrentClaw mirrors
+
+
+
+
+
+
+
+
TorrentClaw mirrors
+
This is a static copy of the official mirror list. It is hosted off the main domain so it survives any takedown of torrentclaw.com. Bookmark it.
+
+
Clearnet mirrors
+
Regular HTTPS domains. Identical content; use whichever your ISP and DNS resolve correctly.