巨石:CLI 工具,用于将完整的网页保存为单个 HTML 文件
巨石是一款CLI工具,可以将完整的网页保存为单个HTML文件,支持嵌入CSS、图片和JavaScript等资源,方便离线浏览。

介绍
你有没有想过,有一天可以把你浏览器里那一堆堆的网页标签,统统变成一个个独立的HTML文件,轻松存储在你的硬盘里?没错,这就是“巨石”这款工具的魅力所在。它不仅仅是“保存网页”的升级版,而是能把网页的所有资源——CSS、图片、JavaScript——全都打包到一个HTML文件里,完美还原网页的原貌,即使离线也能流畅浏览。
安装方法
说到安装,“巨石”支持多种平台,基本上你能想到的主流系统它都能搞定。比如:
- Cargo(跨平台):
cargo install monolith - Homebrew(macOS 和 GNU/Linux):
brew install monolith - Chocolatey(Windows):
choco install monolith - Scoop(Windows):
scoop install main/monolith - Winget(Windows):
winget install --id=Y2Z.Monolith -e - MacPorts(macOS):
sudo port install monolith - Snapcraft(GNU/Linux):
snap install monolith - Guix(GNU/Linux):
guix install monolith - NixPkgs:
nix-env -iA nixpkgs.monolith - Flox:
flox install monolith - Pacman(Arch Linux):
pacman -S monolith - aports(Alpine Linux):
apk add monolith - XBPS Package Manager(Void Linux):
xbps-install -S monolith - FreeBSD packages(FreeBSD):
pkg install monolith - FreeBSD ports(FreeBSD):
cd /usr/ports/www/monolith/ && make install clean - pkgsrc(NetBSD, OpenBSD, Haiku等):
cd /usr/pkgsrc/www/monolith && make install clean
如果你是容器爱好者,还可以用Docker来搞定:docker build -t y2z/monolith . 然后 sudo install -b dist/run-in-container.sh /usr/local/bin/monolith。
使用方法
使用“巨石”也很简单,命令行输入就能搞定一切。比如,你想保存一个歌词页面,只需:
bash
monolith https://lyrics.github.io/db/P/Portishead/Dummy/Roads/ -o portishead-roads-lyrics.html
如果你有一个本地的HTML文件,也可以通过管道操作来处理:
bash
cat some-site-page.html | monolith -aIiFfcMv -b https://some.site/ - > some-site-page-with-assets.html
常用选项
-a:排除音频资源-b:使用自定义的基础URL-c:排除CSS-i:移除图片-j:排除JavaScript-o:指定输出文件
当然了,还有更多选项可以根据你的需求进行调整。
动态内容与代理
需要注意的是,“巨石”不带JavaScript引擎,所以对于那些加载后才显示内容的网站,可能需要用到其他工具,比如用Chromium来预处理:
bash
chromium --headless --window-size=1920,1080 --run-all-compositor-stages-before-draw --virtual-time-budget=9000 --incognito --dump-dom https://github.com | monolith - -I -b https://github.com -o github.html
如果你在使用代理,只需设置环境变量https_proxy、http_proxy和no_proxy即可。
在我看来,“巨石”真的是个神器,特别是对于那些喜欢收集网页资料的朋友来说,简直是梦寐以求的工具。无论是为了离线阅读,还是为了避免网页消失带来的404烦恼,“巨石”都能轻松搞定。