Repolode
tamnd

tamnd/kage

一个 Go 命令行工具,用无头 Chrome 渲染网站并去除所有 JavaScript,生成可离线浏览的静态副本。

可替代:HTTrackEvernote Web Clipper

Star
3,485
Fork
135
未关闭 Issue
9
最近提交
2个月前

这是什么?

kage 可以把网站克隆成本地文件夹,离线浏览。它用无头 Chrome 打开每个页面,等待加载完成后抓取用户实际看到的 DOM,再删除全部 JavaScript,并把 CSS、图片和字体下载到本地路径。生成的 .html 文件可以直接从磁盘打开,不运行任何代码。

抓取采用广度优先方式,遵守 robots.txt,可从 sitemap.xml 开始,并可按深度、页面数量、路径前缀或子域名进行限制。中断后可从保存的状态继续,重新运行时可原地更新已有副本。

镜像完成后,可用内置静态服务器预览,也可打包成单个 ZIM 文件(可用 Kiwix 工具阅读),或打包成独立可执行文件,运行即可提供站点服务。打包还支持生成 macOS .app 应用包和 Linux AppImage 风格的启动器;可选的 webview 构建会在原生窗口中打开站点。

核心功能

  • 01使用无头 Chrome 渲染页面,保存去除脚本后的最终 DOM。
  • 02下载并本地化 CSS、图片和字体,使页面可离线使用。
  • 03遵守 robots.txt,并可从 sitemap.xml 开始抓取。
  • 04支持中断后续抓,也支持原地刷新已有副本。
  • 05可将镜像打包为 ZIM 归档或独立可执行文件。
  • 06提供预编译二进制、Docker 镜像和 Linux 安装包。

适用场景

  • 为飞机上或无网络环境保存博客、文档站点的离线副本。
  • 归档可能变化或下线的网页。
  • 把站点的静态快照打包成单个文件分享给他人。
  • 在桌面系统上生成可双击打开的离线站点查看器。

快速上手

  1. 1

    使用 Go 安装 kage

    go install github.com/tamnd/kage/cmd/kage@latest
  2. 2

    将网站克隆到本地文件夹

    kage clone paulgraham.com
  3. 3

    在浏览器中打开 http://127.0.0.1:8800 离线浏览克隆的网站

    kage serve $HOME/data/kage/paulgraham.com

使用前须知

  • 主机需要安装 Chrome 或 Chromium,使用容器镜像则无需安装。
  • 打包的二进制文件约为 13 MiB 加上网站内容,因为它内置了完整的 kage 工具。
  • 原生 webview 窗口需要 cgo 和平台 WebView,因此为可选构建。

标签

常见问题

kage 是什么?
一个 Go 命令行工具,用无头 Chrome 渲染网站并去除所有 JavaScript,生成可离线浏览的静态副本。 kage 可以把网站克隆成本地文件夹,离线浏览。它用无头 Chrome 打开每个页面,等待加载完成后抓取用户实际看到的 DOM,再删除全部 JavaScript,并把 CSS、图片和字体下载到本地路径。生成的 .html 文件可以直接从磁盘打开,不运行任何代码。
kage 可以免费使用吗?用的什么许可证?
kage 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
kage 还在维护吗?
半年内有更新。kage 最近一次提交是在 2026年8月10日。
kage 适合用来做什么?
为飞机上或无网络环境保存博客、文档站点的离线副本。 归档可能变化或下线的网页。 把站点的静态快照打包成单个文件分享给他人。 在桌面系统上生成可双击打开的离线站点查看器。
kage 怎么安装和运行?
使用 Go 安装 kage: go install github.com/tamnd/kage/cmd/kage@latest 将网站克隆到本地文件夹: kage clone paulgraham.com 在浏览器中打开 http://127.0.0.1:8800 离线浏览克隆的网站: kage serve $HOME/data/kage/paulgraham.com
在哪里获取 kage?
源代码和安装说明在 GitHub 上:https://github.com/tamnd/kage

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目