Analysis updated 2026-07-03 · repo last pushed 2026-06-29
Mirror an essay site like Paul Graham's so you can read everything on a flight with no wifi.
Archive web pages for research citation before they change or disappear.
Collect reference material for offline reading without broken pages or tracking scripts.
Bundle a full website into a single executable file to share with someone who has nothing installed.
| tamnd/kage | kiali/kiali | x-motemen/ghq | |
|---|---|---|---|
| Stars | 2,662 | 3,611 | 3,624 |
| Language | Go | Go | Go |
| Last pushed | 2026-06-29 | — | — |
| Maintenance | Active | — | — |
| Setup difficulty | moderate | hard | easy |
| Complexity | 2/5 | 5/5 | 2/5 |
| Audience | general | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Go installed to build from source and needs a headless browser environment available.
kage lets you save a complete copy of a website so you can browse it offline, with all the JavaScript stripped out. Instead of the usual "Save As" approach that leaves you with broken pages, blank screens, or files that still try to contact tracking servers, you get clean HTML files that look like the real site and run no code. The way it works is straightforward but clever. It opens each page in a real (but invisible) browser, waits for everything to load and settle, then takes a snapshot of what a human visitor would actually see. After that, it removes every script and downloads all the images, stylesheets, and fonts to your local disk. What you end up with is a folder of files you can open in any browser, completely offline, with no tracking or surprise network calls. Anyone who wants to reliably archive web content would find this useful. If you're a researcher who needs to cite pages that might change, a writer collecting reference material for a long flight, or just someone who wants to keep a readable copy of a favorite blog before it gets redesigned or disappears, this solves that problem. The README's go-to example is mirroring Paul Graham's essay site so you can read the whole thing on a plane with no wifi. One notable feature is the packing system. You can collapse an entire mirrored site into a single compressed file using the open ZIM format, which means you're not locked into this tool forever, the same file works in other readers like Kiwix. You can also turn a mirror into a standalone executable that serves the site when run, meaning you can hand someone a single file and they don't need anything installed to browse it. The tradeoff is size: that executable includes a copy of the tool itself, so it's at least 13 MB even before the site content. The project is written in Go and respects standard web etiquette like robots.txt. You can pause a crawl mid-way and resume it later, or come back months later and re-render to catch new content.
Kage saves a complete, offline-browsable copy of any website by opening each page in a real browser, stripping out all JavaScript, and downloading images, styles, and fonts so you get clean files with no tracking or broken pages.
Mainly Go. The stack also includes Go, Headless browser, ZIM format.
Active — commit in last 30 days (last push 2026-06-29).
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly general.
This repo across BitVibe Labs
Verify against the repo before relying on details.