monolith
v2.8.3
_____ ______________ __________ ___________________ ___
| / | | | | | |
| _/ __ _| __ | | ___ ___ |__| |
| | | | | | | | | | | |
| | /| |__| _ |__| |____| | | | | __ |
| | ___/ | | | | | | | | |
|___| |__________| _____________________| |___| |___| |___|
数据囤积者的梦想成真:将任何网页捆绑到单个 HTML 文件中。您终于可以用存储在您珍贵的小驱动器上的大量 .html 文件来替换大量打开的选项卡。
与传统的“页面另存为”不同, monolith
不仅保存目标文档,还同时嵌入 CSS、图像和 JavaScript 资源,生成一个易于存储和共享的 HTML5 文档。
与使用wget -mpk
保存网站相比,该工具将所有资源嵌入为数据 URL,因此即使没有可用的网络连接,浏览器也可以按照 Internet 上的方式呈现保存的页面。
cargo install monolith
brew install monolith
choco install monolith
scoop install main/monolith
winget install --id=Y2Z.Monolith -e
sudo port install monolith
snap install monolith
guix install monolith
nix-env -iA nixpkgs.monolith
flox install monolith
pacman -S monolith
apk add monolith
xbps-install -S monolith
pkg install monolith
cd /usr/ports/www/monolith/
make install clean
cd /usr/pkgsrc/www/monolith
make install clean
docker build -t y2z/monolith .
sudo install -b dist/run-in-container.sh /usr/local/bin/monolith
依赖项: libssl
、 cargo
cargo -v
如果 Cargo 尚未安装,请安装并将其添加到现有的$PATH
中(解释官方安装说明):
curl https://sh.rustup.rs -sSf | sh
. "$HOME/.cargo/env"
继续从源安装:
git clone https://github.com/Y2Z/monolith.git
cd monolith
make install
每个版本都包含适用于 Windows、GNU/Linux 以及非标准 CPU 架构平台的预构建二进制文件。
monolith https://lyrics.github.io/db/P/Portishead/Dummy/Roads/ -o portishead-roads-lyrics.html
cat some-site-page.html | monolith -aIiFfcMv -b https://some.site/ - > some-site-page-with-assets.html
-a
:排除音频源-b
:使用custom base URL
-B
:禁止从指定域检索资产-c
: 排除 CSS-C
:从file
中读取cookie-d
:允许仅从指定domain(s)
检索资产-e
: 忽略网络错误-E
:使用custom encoding
保存文档-f
:省略帧-F
:排除网络字体-h
:打印帮助信息-i
:删除图像-I
: 隔离文档-j
:排除 JavaScript-k
:接受无效的 X.509 (TLS) 证书-M
:不添加时间戳和URL信息-n
:提取 NOSCRIPT 元素的内容-o
:将输出写入file
(使用“-”表示 STDOUT)-s
:安静-t
:调整network request timeout
-u
:提供custom User-Agent
-v
:排除视频选项-d
和-B
提供对可用于从中检索资产的域的控制,例如:
monolith -I -d example.com -d www.example.com https://example.com -o example-only.html
monolith -I -B -d .googleusercontent.com -d googleanalytics.com -d .google.com https://example.com -o example-no-ads.html
Monolith 不具备 JavaScript 引擎,因此在初始加载后检索和显示数据的网站可能需要使用其他工具。
例如,Chromium (Chrome) 可用作此类页面的预处理器:
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
环境变量。
如果有问题,请提出问题,这有助于使该项目变得更好。
在法律允许的范围内,作者已将该软件的所有版权相关权利和邻接权奉献给全球公共领域。该软件的分发没有任何保证。