metayu
GitHub 热点2026-06-20·阅读 3 分钟

tamnd/kage:剥离JS的离线网页快照利器

用 Go 语言打造的极简网页离线工具,专治各种花里胡哨的 JS 渲染。

⭐ 2,165 stars!tamnd/kage 用 Go 实现网页离线查看,核心亮点是剥离 JS。本文深度解析其技术选型、适用场景及快速上手指南。

⭐ 2,165 stars。这是 tamnd/kage 目前在 GitHub 上的成绩。老实说,刚看到这个数据时我有点意外,毕竟网页离线保存这种“上古需求”,现在还有人在做,而且还能拿到两千多星。

我试了一下这个项目。它的定位很明确:给网页做个“影子”用来离线看,而且直接把 JS 给阉割了。对,你没看错,它不是去努力执行 JS 渲染页面,而是反其道而行之,把 JS 剥离掉,只保留纯粹的 HTML 和 CSS 结构。

平时我们想离线存个网页,要么用浏览器自带的“另存为”,要么搞些浏览器扩展。但痛点在哪?现在的网页太重了。你存下来的往往是一堆乱七八糟的脚本、追踪器和动态加载的冗余代码。用传统的 headless 爬虫方案去抓取吧,又得配无头浏览器,资源消耗大得离谱,有时候还会被反爬机制卡住。

kage 聪明就聪明在它用 Go 语言写,而且做了“减法”。Go 的并发和轻量特性让它跑起来飞快,单二进制文件扔到哪都能用,没有乱七八糟的依赖。剥离 JS 这个设计,我觉得是神来之笔。很多时候我们离线存网页,只是为了看文章、查文档,根本不需要那些花里胡哨的交互和弹窗。去掉 JS 后,生成的离线文件体积小、打开快,还不用担心恶意脚本在本地执行。

如果你和我一样,喜欢把技术文档、长篇博客或者新闻存到本地做知识库,这个真的香。但如果你是想离线保存一个复杂的 Web App,或者需要保留页面的动态交互效果,那我建议你直接放弃。它不适合做完整的站点镜像克隆,它就是个纯粹的“阅读级”快照工具。

快速上手极其简单。因为是 Go 写的,如果你本地有环境,直接 go install 就行。或者去 Release 页面下个编译好的二进制。跑起来基本就是一行命令的事,指定 URL,它就能给你吐出一个干净的 HTML 文件。我平时会把它集成到我的自动化阅读流里,配合定时任务抓取几个常看的独立博客,体验非常顺滑。

在这个什么都想做大做全的时代,kage 这种克制的小工具反而很讨喜。它没想解决所有问题,就把“离线纯净阅读”这一件事做到了极致。值得放进你的工具箱里,关键时刻能派上大用场。

分发工具

相关文章

tamnd/kage:剥离JS的离线网页快照利器 · metayu insight