- Membundel halaman web menjadi satu file HTML
- Berbeda dari fitur "simpan halaman" biasa,
monolith menyimpan bukan hanya dokumen target tetapi juga aset CSS, gambar, dan JavaScript sekaligus
- Dengan menyematkan semua aset sebagai data URL, halaman dapat dirender sama seperti di internet bahkan saat tidak ada koneksi jaringan
- Ditulis dengan Rust dan dapat diinstal di Mac/Windows/Linux: cargo/brew/choco/snap/apk..
Cara penggunaan
Opsi
-a: kecualikan sumber audio
-b: gunakan base URL kustom
-B: larang pencarian aset dari domain tertentu
-c: kecualikan CSS
-C: baca cookie dari file
-d: hanya izinkan pencarian aset dari domain(s) yang ditentukan
-e: abaikan error jaringan
-E: simpan dokumen dengan encoding kustom
-f: lewati frame
-F: kecualikan web font
-h: tampilkan informasi bantuan
-i: hapus gambar
-I: isolasi dokumen
-j: kecualikan JavaScript
-k: terima sertifikat X.509 (TLS) yang tidak valid
-M: jangan tambahkan timestamp dan informasi URL
-n: ekstrak isi elemen NOSCRIPT
-o: tulis output ke file (gunakan “-” untuk STDOUT)
-s: mode senyap
-t: sesuaikan network request timeout
-u: berikan User-Agent kustom
-v: kecualikan video
Whitelist dan blacklist domain
- Dengan opsi
-d dan -B, Anda dapat mengontrol domain tempat aset boleh diambil.
Konten dinamis
- Monolith tidak memiliki mesin JavaScript, sehingga situs web yang mengambil dan menampilkan data setelah pemuatan awal mungkin memerlukan alat tambahan.
- Misalnya, Chromium (Chrome) dapat digunakan sebagai praprosesor untuk halaman semacam ini.
Pengaturan proxy
- Variabel lingkungan
https_proxy, http_proxy, dan no_proxy harus diatur.
Lisensi
- Creative Commons Zero v1.0 Universal
- Dalam batas hukum yang dimungkinkan, penulis mendedikasikan semua hak cipta dan hak terkait atas perangkat lunak ini ke domain publik di seluruh dunia
Opini GN⁺
monolith adalah alat yang efektif untuk mempertahankan halaman web agar tetap sama seperti aslinya bahkan saat offline, sehingga dapat berguna bagi peneliti maupun pengembang.
- Alat ini bisa sangat menarik bagi mereka yang tertarik pada pengarsipan web atau pelestarian konten, karena memungkinkan peninjauan halaman web di lingkungan tanpa koneksi internet.
- Dari sudut pandang kritis, ada keterbatasan karena tidak dapat menangani konten yang dimuat secara dinamis, yang dapat merepotkan pengguna karena harus memakai alat tambahan.
- Proyek lain dengan fungsi serupa antara lain HTTrack dan Wget, yang juga dapat digunakan untuk menyimpan situs web secara offline.
- Sebelum menggunakan
monolith, penting untuk memeriksa hak cipta dan izin penggunaan dari halaman web yang ingin disimpan, serta memastikan tujuan penggunaan konten yang disimpan tidak menimbulkan masalah hukum.
3 komentar
Menyebalkan kalau tersimpan sebagai file bundle, jadi kalau bisa disimpan sebagai 1 file sih terima kasih banget haha. Sepertinya bakal berguna saat mengarsipkan situs statis lalu mengunggahnya ke web server ^^
Saya mencoba mengarsipkan Bicycle - semua hal tentang prinsip sepeda bergerak.
Sebelumnya ada ekstensi browser serupa yang saya gunakan, yaitu SingleFile - alat untuk menyimpan halaman web menjadi satu file HTML.
Kedua alat tersebut sama-sama tidak dapat menjalankan WebGL dengan normal.
Monolith bahkan sama sekali tidak mengunduh modelnya, dan
SingleFile mengunduh model lalu merender hingga gambar pertama, tetapi perilaku interaktifnya tidak berfungsi.
Ukuran masing-masing hasil output adalah 2MB dan 9MB. Saat melakukan hard refresh di developer tools, file yang terunduh berukuran 3MB.
Komentar Hacker News
Mempelajari dari README cara mendapatkan file HTML halaman web setelah JavaScript dijalankan menggunakan Google Chrome di macOS. Rincian lebih lanjut dirangkum dalam TIL, dan alat buatannya sendiri, shot-scraper yang menggunakan Playwright Chromium, juga menyediakan fungsi serupa.
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --headless --incognito --dump-dom https://github.com > /tmp/github.htmlLebih suka sebisa mungkin mendistribusikan halaman dalam bentuk file tunggal. Alasannya adalah prinsip bahwa semuanya harus bisa dilihat melalui source view. Halaman seperti ini bersifat mandiri, dan bisa digunakan secara offline atau diunggah ulang. Ia membuat sistem build sederhana untuk menulis game dengan TypeScript dan membangunnya menjadi satu file HTML. Jika browser nantinya mendukung sintaks TypeScript, compiler atau tahap build tidak akan lagi diperlukan.
Bagaimana perbandingannya dengan SingleFile?
Sering menggunakan layanan untuk menyimpan halaman web agar dibaca nanti, tetapi saat benar-benar ingin membacanya, sering kali halamannya sudah tidak ada lagi. Sedang mempertimbangkan bahwa beralih ke versi arsip offline mungkin menjadi pilihan yang lebih baik.
Pertanyaan tentang cara memulihkan seluruh situs web dari Wayback Machine. Database situs web kesayangan sudah terhapus, tetapi seluruh isinya ada di Internet Archive. Sepertinya akan perlu scraping manual dan perbaikan URL CSS menggunakan Python, dan sebagainya.
Beberapa tahun lalu pernah menulis sesuatu yang mirip, dan terutama menggunakannya saat menghasilkan HTML dari program Go. Menggunakan tautan ke stylesheet eksternal dan JavaScript, lalu memprosesnya menjadi satu file HTML.
Ada pendapat bahwa akan bagus jika ada dukungan untuk mengikuti tautan hingga kedalaman tertentu. Disebutkan fungsi yang mirip dengan Httrack.
Alat ini menarik, tetapi ada pendapat bahwa ini hanyalah solusi sementara untuk mengatasi masalah dalam cara browser menangani halaman web. Mereka berargumen bahwa alih-alih browser menyimpan halaman sebagai file "blah.html" dan folder "blah_files", keduanya seharusnya digabungkan ke dalam satu folder agar mudah dipindahkan dan disalin.
Penjelasan tentang cara menggunakan wget untuk mengunduh halaman web beserta semua asetnya, serta menyediakan tautan dokumentasi.
Menyediakan tautan terkait ke "Show HN: CLI tool for saving web pages as a single file" yang diposting di Hacker News pada Agustus 2019.