explaingit

tamnd/kage

Analysis updated 2026-07-03 · repo last pushed 2026-06-29

⭐ Rising2,662GoAudience · generalComplexity · 2/5ActiveSetup · moderate

TLDR

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.

Mindmap

mindmap
  root((repo))
    What it does
      Saves websites for offline reading
      Strips JavaScript from pages
      Downloads images and styles
    Key features
      Pause and resume crawl anytime
      Pack site into ZIM file
      Export as standalone executable
    Use cases
      Archive research sources
      Read essays on a plane
      Keep copies before sites disappear
    Tech stack
      Go
      Headless browser
      ZIM format
    Audience
      Researchers
      Writers
      General readers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Mirror an essay site like Paul Graham's so you can read everything on a flight with no wifi.

USE CASE 2

Archive web pages for research citation before they change or disappear.

USE CASE 3

Collect reference material for offline reading without broken pages or tracking scripts.

USE CASE 4

Bundle a full website into a single executable file to share with someone who has nothing installed.

What is it built with?

GoHeadless browserZIM format

How does it compare?

tamnd/kagekiali/kialix-motemen/ghq
Stars2,6623,6113,624
LanguageGoGoGo
Last pushed2026-06-29
MaintenanceActive
Setup difficultymoderatehardeasy
Complexity2/55/52/5
Audiencegeneralops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Go installed to build from source and needs a headless browser environment available.

In plain English

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.

Copy-paste prompts

Prompt 1
Using kage, mirror Paul Graham's essay site at paulgraham.com so I can read every essay offline on a plane. Show me the exact command.
Prompt 2
I have a kage mirror of a website. How do I pack it into a ZIM file so I can open it in Kiwix?
Prompt 3
Using kage, crawl a website but pause halfway through, then resume the crawl the next day. Walk me through the commands.
Prompt 4
I want to turn a kage mirror into a standalone executable that serves the site when run. How do I do that, and what should I expect about the file size?
Prompt 5
Using kage, save an offline copy of a blog but make sure it respects robots.txt and strips all tracking scripts. What command should I run?

Frequently asked questions

What is kage?

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.

What language is kage written in?

Mainly Go. The stack also includes Go, Headless browser, ZIM format.

Is kage actively maintained?

Active — commit in last 30 days (last push 2026-06-29).

How hard is kage to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is kage for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub tamnd on gitmyhub

Verify against the repo before relying on details.