_____ ______________ __________ ___________________ ___
| / | | | | | |
| _/ __ _| __ | | ___ ___ |__| |
| | | | | | | | | | | |
| | /| |__| _ |__| |____| | | | | __ |
| | ___/ | | | | | | | | |
|___| |__________| _____________________| |___| |___| |___|
データ蓄積者の夢が実現します。あらゆる Web ページを 1 つの HTML ファイルにバンドルします。ついに、開いている膨大なタブを、貴重な小さなドライブのどこかに保存されている膨大な数の .html ファイルに置き換えることができます。
従来の「名前を付けてページを保存」とは異なり、 monolith
対象のドキュメントを保存するだけでなく、CSS、画像、JavaScript アセットを一度に埋め込み、保存したり共有したりできる単一の HTML5 ドキュメントを生成します。
wget -mpk
を使用して Web サイトを保存する場合と比較すると、このツールはすべてのアセットをデータ URL として埋め込むため、ネットワーク接続が利用できない場合でも、ブラウザーは保存されたページをインターネット上にあったときとまったく同じようにレンダリングできます。
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
カーゴがまだインストールされていない場合は、カーゴをインストールして既存の$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
: Web フォントを除外します-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 エンジンが搭載されていないため、初期ロード後にデータを取得して表示する Web サイトでは追加のツールの使用が必要になる場合があります。
たとえば、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
環境変数を設定してください。
何か問題がある場合は問題を開いてください。それはこのプロジェクトをより良いものにするのに役立ちます。
法律で可能な範囲で、作者はこのソフトウェアのすべての著作権関連および隣接権を世界中のパブリック ドメインに譲渡しています。このソフトウェアは無保証で配布されます。