新闻详情

新闻详情

首页 / 资讯中心 / 详情

kage:一行命令把任意网站存进硬盘,还能离线打开——无头浏览器本地快照工具完整上手指南

发布时间:2026/9/26 21:12:38来源:尧图网络
kage:一行命令把任意网站存进硬盘,还能离线打开——无头浏览器本地快照工具完整上手指南
kage一行命令把任意网站存进硬盘还能离线打开——无头浏览器本地快照工具完整上手指南【免费下载链接】kageShadow any website for offline viewing, with the JavaScript stripped out项目地址: https://gitcode.com/gh_mirrors/kage6/kagekage是一个开源的本地网站快照工具用一行命令驱动无头浏览器渲染整个网站剥掉全部 JavaScript把页面、CSS、图片、字体全部下载到本地硬盘得到一个可以离线打开、零代码执行的网站镜像。无论是坐飞机、断网、还是给十年后的自己存一份备份这份完整指南带你快速上手。为什么另存为总是失败你肯定遇到过点Save As存下一页六个月后打开是空白或永远转圈。原因很简单——现代网站不是一个文档而是一段程序。服务器发出的 HTML 往往只是个空壳你看到的页面是浏览器里的 JavaScript 现场拼出来的。另存为存到的是空壳而不是页面。kage 走了另一条路渲染用真实的无头 Chrome 打开每个页面等网络安静下来抓取 JavaScript 执行完毕后的最终 DOM——和你打开检查看到的一模一样剥离删掉所有script标签、onclick等事件处理器、javascript:链接让页面彻底失去行动能力本地化下载全部样式表、图片、字体把引用改写成本地路径结果就是落盘的页面看起来和线上完全一样但不运行任何代码、不发任何网络请求、不追踪任何东西。核心流程实现见 introduction.md。一键安装步骤kage 是单个二进制文件安装方式任选其一# Go 用户 go install github.com/tamnd/kage/cmd/kagelatest # macOS brew install --cask tamnd/tap/kage # Windows scoop bucket add tamnd https://github.com/tamnd/scoop-bucket scoop install kage也提供apt/dnf包、.deb/.rpm/.apk安装包以及自带 Chromium 的 Docker 镜像。安装细节见 installation.md。⚠️唯一依赖kage 需要一台装有 Chrome 或 Chromium 的电脑容器镜像除外。它会自动查找系统安装也可以用--chrome指定路径。找不到浏览器时首次运行还会自动下载一份专用 Chromium。快速上手两行命令拿到离线镜像以 Paul Graham 的随笔站为例核心循环只有两步# 1. 克隆网站到 $HOME/data/kage/paulgraham.com/ kage clone paulgraham.com # 2. 用本地服务器离线读回 kage serve $HOME/data/kage/paulgraham.com # 然后打开 http://127.0.0.1:8800就这么简单。每篇文章、每张图片、每个样式表都被冻结在你的硬盘上零网络即可完整浏览。爬取完成后的磁盘结构长这样paulgraham.com/ ├── index.html # 首页脚本已剥离 ├── greatwork.html # 一篇文章 └── _kage/ # 本地化资源与爬取状态 ├── paulgraham.com/site.css # 本地样式表 └── state.json # 断点续爬状态直接双击index.html用浏览器打开也能离线渲染而kage serve启动的是本地静态服务器能保证站点内的相对链接像线上一样正常跳转。控制爬取范围常用参数速查大站点别让它跑飞这几个参数最常用完整列表见 cli.md参数作用--max-pages 50最多渲染 50 页先尝个鲜--max-depth 2只跟进 2 层链接--scope-prefix /doc只爬某个路径及其子页面--subdomains把子域名也纳入范围--exclude /archive跳过某个路径可重复使用--scroll自动滚动页面触发懒加载图片--workers 4并发渲染页面数# 只抓文档区、最多 200 页、3 层深度 kage clone example.com --scope-prefix /docs --max-depth 3 --max-pages 200kage 天生礼貌默认遵守robots.txt、自动从sitemap.xml获取种子 URL并且只留在种子主机内。相关策略见 robots.md。断网了也不怕中断后自动续爬克隆大站经常被打断按了 Ctrl-C、电脑休眠、网络掉线。kage 每次运行都会把进度写进镜像内的state.json下次执行同一条命令时自动跳过已完成的页面从断点继续kage clone example.com # ... 中途 Ctrl-C ... kage clone example.com # 输出resume: 137 pages already done, picking up 412 pages失败的页面超时、主机暂时宕机不会被标记为完成下一轮自动重试。想推倒重来则加--force完整机制见 resuming-a-run.md。把整个网站压成一个文件kage pack文件夹好浏览但不好携带——几千个小文件拷贝慢、发给别人也麻烦。kage pack能把整个镜像压成单个文件三种形态任选ZIM 档案默认——开放标准格式任何 ZIM 阅读器都能打开文本经 zstd 压缩同一镜像两次打包产出字节级一致的文件kage pack paulgraham.com # - paulgraham.com.zim kage open paulgraham.com.zim # 本地 HTTP 服务读回自包含可执行文件——把档案粘在 kage 二进制上对方什么都不用装双击即开kage pack paulgraham.com --format binary -o paulgraham ./paulgraham # 自带服务器离线展示网站双击桌面应用——加--app后macOS 生成.app、Linux 生成 AppImage、Windows 生成无控制台窗口的.exe图标自动取站点 favicon。详细说明见 packing-a-mirror.md。像真应用一样打开原生窗口模式默认方式下打包好的二进制会打开系统浏览器网站出现在又一个标签页里。用webview标签构建 kage 后它会调用操作系统原生的 WebViewmacOS 的 WKWebView、Windows 的 WebView2、Linux 的 WebKitGTK把离线站点装进独立窗口观感上就是一个真正的桌面应用make build-webview # 需要 cgo kage pack paulgraham.com --format binary --base bin/kage -o paulgraham ./paulgraham # 弹出独立窗口没有浏览器该模式实现位于 viewer/webview.go。它是如何工作的一张图看懂种子URL ─▶ 无头Chrome ─▶ 最终DOM ─▶ 剥离JS ─▶ 资源本地化 ─▶ 落盘 (渲染) (快照) (净化) (重写链接)页面由一组 Chrome 标签并发渲染资源由另一组工作进程走普通 HTTP 下载每个 URL 都确定性地映射到一个本地路径所以链接在资源下载完成前就能被正确重写。代码按职责分模块组织模块职责clone/爬取主循环任务队列、渲染工作进程、断点状态browser/无头 Chrome 控制与 DOM 快照sanitize/剥离脚本、事件处理器与javascript:链接asset/下载并本地化 CSS、图片、字体zim/纯 Go 的 ZIM 读写器pack/打包成 ZIM 或自包含二进制总结kage 用最简单的方式解决了保存网页这个二十年老难题✅一行命令克隆整站无头浏览器渲染真实页面✅零 JavaScript保存的页面不执行代码、不追踪、不发网络请求✅断点续爬Ctrl-C 随时中断重跑即恢复✅单文件交付打包成 ZIM 或自包含可执行文件发给谁都能离线打开想从源码开始git clone https://gitcode.com/gh_mirrors/kage6/kage cd kage make build # - bin/kage现在就把你担心有一天会消失的那个网站存进硬盘吧。【免费下载链接】kageShadow any website for offline viewing, with the JavaScript stripped out项目地址: https://gitcode.com/gh_mirrors/kage6/kage创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Atlas 300V 24G推理卡部署YOLO全流程实战:从认知到踩坑 2026/9/26 22:12:12

Atlas 300V 24G推理卡部署YOLO全流程实战:从认知到踩坑

后台连续几天有人问同一句话:“atlas 300v 24g 是运算加速卡吗?”紧接着的下一个问题,十有八九是“那怎么用atlas部署yolo”。能把这两个问题连在一起问,说明你已经拿到了卡,或者正打算入手一张昇腾Atlas 300V Pro推理…

阅读更多 →
网站建设管理属于职业资格吗新手入门避坑指南 2026/9/26 22:12:05

网站建设管理属于职业资格吗新手入门避坑指南

网站建设管理属于职业资格吗新手入门避坑指南 网站做好了没人访问,这大概是很多刚入行做网站的人最崩溃的瞬间。你熬了几个通宵写代码,调了无数遍…

阅读更多 →
网站建设seo优化内蒙多少钱?3个真实案例拆解费用明细 2026/9/26 22:11:59

网站建设seo优化内蒙多少钱?3个真实案例拆解费用明细

网站建设seo优化内蒙多少钱?3个真实案例拆解费用明细 网站做好了没人访问,这是内蒙很多老板最头疼的事。花了大几万做的官网,上线后每天流量只有个位数,后台咨询栏常年吃灰。这时候大家最容易问的问题就是:网站建设seo优化内蒙多少钱?其实,这钱…

阅读更多 →
做网站专用素材避坑指南:图解步骤拆解3种报价与隐藏成本 2026/9/26 22:11:46

做网站专用素材避坑指南:图解步骤拆解3种报价与隐藏成本

做网站专用素材避坑指南:图解步骤拆解3种报价与隐藏成本 网站被黑挂马后,你翻遍服务器日志却只看到一堆乱码,这种绝望感只有做过站的才懂。很多甲方以为换个“做网站专用素材”包就能高枕无忧,结果三天后网站再次瘫痪,数据全丢。别慌,这不是你运气差,…

阅读更多 →
开源代码审查工具链从零搭建:Gitea、Gerrit与Reviewdog实战 2026/9/26 22:11:46

开源代码审查工具链从零搭建:Gitea、Gerrit与Reviewdog实战

代码审查这件事,很多团队不是不想做,是做着做着就变味了。有的团队把审查当形式,PR 挂着三天没人理,最后合并按钮是领导点的;有的团队干脆跳过审查,出了线上事故才想起来当初要是有人看一眼就好了。我自己在…

阅读更多 →
无编程开发APP费用全拆解:从搭建到上架要花多少钱 2026/9/26 22:11:26

无编程开发APP费用全拆解:从搭建到上架要花多少钱

1. 无编程开发APP到底是怎么回事先把概念说清楚。所谓“无编程开发APP”,指的是借助可视化搭建平台,通过拖拽组件、配置参数、拼接逻辑的方式,把一个能装到手机上运行的应用程序做出来。整个过程不需要你手写 Java、Kotlin、Swift 或者 Dart&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉