_____ ______________ __________ ___________________ ___
| / | | | | | |
| _/ __ _| __ | | ___ ___ |__| |
| | | | | | | | | | | |
| | /| |__| _ |__| |____| | | | | __ |
| | ___/ | | | | | | | | |
|___| |__________| _____________________| |___| |___| |___|
Der Traum eines jeden Datensammlers wird wahr: Bündeln Sie jede Webseite in einer einzigen HTML-Datei. Endlich können Sie die Unmengen geöffneter Tabs durch Unmengen von .html-Dateien ersetzen, die irgendwo auf Ihrem kostbaren kleinen Laufwerk gespeichert sind.
Im Gegensatz zum herkömmlichen „Seite speichern unter“ speichert monolith
nicht nur das Zieldokument, sondern bettet auch CSS-, Bild- und JavaScript-Assets auf einmal ein und erstellt so ein einziges HTML5-Dokument, das sich gerne speichern und teilen lässt.
Im Vergleich zum Speichern von Websites mit wget -mpk
bettet dieses Tool alle Assets als Daten-URLs ein und ermöglicht Browsern daher, die gespeicherte Seite genau so darzustellen, wie sie im Internet war, auch wenn keine Netzwerkverbindung verfügbar ist.
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
Abhängigkeiten: libssl
, cargo
cargo -v
Wenn Cargo noch nicht installiert ist, installieren Sie es und fügen Sie es Ihrem vorhandenen $PATH
hinzu (umfassend die offiziellen Installationsanweisungen):
curl https://sh.rustup.rs -sSf | sh
. "$HOME/.cargo/env"
Fahren Sie mit der Installation von der Quelle fort:
git clone https://github.com/Y2Z/monolith.git
cd monolith
make install
Jede Version enthält vorgefertigte Binärdateien für Windows, GNU/Linux sowie Plattformen mit nicht standardmäßiger CPU-Architektur.
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
: Audioquellen ausschließen-b
: custom base URL
verwenden-B
: Das Abrufen von Assets von bestimmten Domänen verbieten.-c
: CSS ausschließen-C
: Cookies aus file
lesen-d
: Erlaubt das Abrufen von Assets nur von bestimmten domain(s)
-e
: Netzwerkfehler ignorieren-E
: Dokument mit custom encoding
speichern-f
: Frames weglassen-F
: Web-Schriftarten ausschließen-h
: Hilfeinformationen drucken-i
: Bilder entfernen-I
: Dokument isolieren-j
: JavaScript ausschließen-k
: Ungültige X.509-Zertifikate (TLS) akzeptieren-M
: Fügen Sie keine Zeitstempel- und URL-Informationen hinzu-n
: Inhalte von NOSCRIPT-Elementen extrahieren-o
: Ausgabe in file
schreiben (verwenden Sie „-“ für STDOUT)-s
: Sei ruhig-t
: Passen Sie network request timeout
an-u
: custom User-Agent
bereitstellen-v
: Videos ausschließen Die Optionen -d
und -B
ermöglichen die Kontrolle darüber, welche Domänen zum Abrufen von Assets verwendet werden können, z. 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 verfügt nicht über eine JavaScript-Engine. Daher müssen für Websites, die Daten nach dem ersten Laden abrufen und anzeigen, möglicherweise zusätzliche Tools verwendet werden.
Beispielsweise kann Chromium (Chrome) als Vorprozessor für solche Seiten verwendet werden:
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
Bitte legen Sie die Umgebungsvariablen https_proxy
, http_proxy
und no_proxy
fest.
Bitte öffnen Sie ein Problem, wenn etwas nicht stimmt, das trägt zur Verbesserung dieses Projekts bei.
Soweit gesetzlich möglich, haben die Autoren alle urheberrechtlichen und verwandten Rechte an dieser Software weltweit öffentlich zugänglich gemacht. Diese Software wird ohne jegliche Gewährleistung vertrieben.