_____ ______________ __________ ___________________ ___
| / | | | | | |
| _/ __ _| __ | | ___ ___ |__| |
| | | | | | | | | | | |
| | /| |__| _ |__| |____| | | | | __ |
| | ___/ | | | | | | | | |
|___| |__________| _____________________| |___| |___| |___|
Impian penimbun data menjadi kenyataan: gabungkan halaman web apa pun ke dalam satu file HTML. Anda akhirnya dapat mengganti trilyunan tab yang terbuka dengan trilyunan file .html yang disimpan di suatu tempat di drive kecil Anda yang berharga.
Berbeda dengan “Simpan halaman sebagai” konvensional, monolith
tidak hanya menyimpan dokumen target, tetapi juga menyematkan aset CSS, gambar, dan JavaScript sekaligus , menghasilkan satu dokumen HTML5 yang menyenangkan untuk disimpan dan dibagikan.
Jika dibandingkan dengan menyimpan situs web dengan wget -mpk
, alat ini menyematkan semua aset sebagai URL data dan oleh karena itu memungkinkan browser merender halaman yang disimpan persis seperti di Internet, bahkan ketika tidak ada koneksi jaringan yang tersedia.
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
Ketergantungan: libssl
, cargo
cargo -v
Jika kargo belum terinstal, instal dan tambahkan ke $PATH
Anda yang sudah ada (parafrasekan instruksi instalasi resmi):
curl https://sh.rustup.rs -sSf | sh
. "$HOME/.cargo/env"
Lanjutkan dengan menginstal dari sumber:
git clone https://github.com/Y2Z/monolith.git
cd monolith
make install
Setiap rilis berisi biner bawaan untuk Windows, GNU/Linux, serta platform dengan arsitektur CPU non-standar.
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
: Kecualikan sumber audio-b
: Gunakan custom base URL
-B
: Melarang pengambilan aset dari domain tertentu-c
: Kecualikan CSS-C
: Membaca cookie dari file
-d
: Izinkan pengambilan aset hanya dari domain(s)
tertentu-e
: Abaikan kesalahan jaringan-E
: Simpan dokumen menggunakan custom encoding
-f
: Hilangkan frame-F
: Kecualikan font web-h
: Cetak informasi bantuan-i
: Hapus gambar-I
: Isolasikan dokumen tersebut-j
: Kecualikan JavaScript-k
: Menerima sertifikat X.509 (TLS) yang tidak valid-M
: Jangan menambahkan informasi stempel waktu dan URL-n
: Ekstrak konten elemen NOSCRIPT-o
: Tulis keluaran ke file
(gunakan “-” untuk STDOUT)-s
: Diam-t
: Menyesuaikan network request timeout
-u
: Menyediakan custom User-Agent
-v
: Kecualikan video Opsi -d
dan -B
memberikan kontrol atas domain mana yang dapat digunakan untuk mengambil aset, misalnya:
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 tidak menampilkan mesin JavaScript, oleh karena itu situs web yang mengambil dan menampilkan data setelah pemuatan awal mungkin memerlukan penggunaan alat tambahan.
Misalnya, Chromium (Chrome) dapat digunakan sebagai pra-pemroses untuk laman berikut:
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
Harap setel variabel lingkungan https_proxy
, http_proxy
, dan no_proxy
.
Silakan buka masalah jika ada yang salah, yang membantu menjadikan proyek ini lebih baik.
Sejauh memungkinkan berdasarkan hukum, penulis telah mendedikasikan semua hak cipta terkait dan hak terkait perangkat lunak ini ke domain publik di seluruh dunia. Perangkat lunak ini didistribusikan tanpa jaminan apa pun.