explaingit

y2z/monolith

15,080Rust

TLDR

Monolith is a command line tool, written in Rust, that saves a complete web page into a single HTML file.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

In plain English

Monolith is a command line tool, written in Rust, that saves a complete web page into a single HTML file. When you use a browser's normal Save Page As feature you usually end up with one HTML file plus a folder full of images, stylesheets, and scripts. Monolith instead bundles all of those assets directly inside the HTML, encoded as data URLs, so the result is one self-contained file you can store, move, or share. The README pitches it as a hoarder's tool: a way to replace a pile of open browser tabs with a pile of saved .html files on your own drive. Compared with using wget to mirror a site, monolith produces a file that a browser can open and render exactly as the page looked online, even when you are offline. Installation is covered for a long list of platforms. You can install it with Cargo from crates.io, with Homebrew on macOS and Linux, with Chocolatey, Scoop, or Winget on Windows, with MacPorts, Snap, Guix, Nix, Flox, Pacman, apk, xbps, FreeBSD ports, pkgsrc, a Docker container, or by building from source. Pre-built binaries are also published with each release. Usage is a single command: pass it a URL and it writes an HTML file. You can pipe an HTML document into it instead, and use a flag to set the base URL. The flags let you strip out audio, video, images, CSS, JavaScript, web fonts, or frames, limit which domains assets may come from, block specific domains, ignore network errors, set a custom user agent, read cookies from a file, change the timeout, and choose MHTML output instead of HTML. There is also a flag to isolate the saved document so it cannot make further network requests. Monolith has no built-in JavaScript engine, so pages that load content after the first request may not save correctly on their own. The README shows how to pair it with headless Chromium, which renders the page first and then pipes the resulting DOM into monolith. Basic HTTP authentication is supported by putting the credentials in the URL, and standard proxy environment variables are respected. The project also runs as a hosted Actor on Apify if you do not want to install anything locally.

Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.