--- obj: application repo: https://github.com/y2z/monolith rev: 2024-04-17 --- # monolith A data hoarder’s dream come true: bundle any web page into a single [HTML](../../../internet/HTML.md) file. You can finally replace that gazillion of open tabs with a gazillion of .html files stored somewhere on your precious little drive. Unlike the conventional “Save page as”, monolith not only saves the target document, it embeds [CSS](../../../internet/CSS.md), image, and JavaScript assets all at once, producing a single HTML5 document that is a joy to store and share. If compared to saving websites with wget -mpk, this tool embeds all assets as [data URLs](../../../internet/Data%20URLs.md) and therefore lets browsers render the saved page exactly the way it was on the Internet, even when no network connection is available. ## Usage Usage: `monolith url -o out.html` ### Options | Option | Description | | ------------------------------------ | -------------------------------------------------- | | `-a, --no-audio` | Remove audio sources | | `-b, --base-url ` | Set custom base URL | | `-B, --blacklist-domains` | Treat list of specified domains as blacklist | | `-c, --no-css` | Remove [CSS](../../../internet/CSS.md) | | `-C, --cookies ` | Specify [cookie](../../../internet/Cookie.md) file | | `-d, --domain ` | Specify domains to use for white/black-listing | | `-e, --ignore-errors` | Ignore network errors | | `-E, --encoding ` | Enforce custom charset | | `-f, --no-frames` | Remove frames and iframes | | `-F, --no-fonts` | Remove fonts | | `-i, --no-images` | Remove images | | `-I, --isolate` | Cut off document from the Internet | | `-j, --no-js` | Remove JavaScript | | `-k, --insecure` | Allow invalid X.509 (TLS) certificates | | `-M, --no-metadata` | Exclude timestamp and source information | | `-n, --unwrap-noscript` | Replace NOSCRIPT elements with their contents | | `-o, --output ` | Write output to , use `-` for STDOUT | | `-s, --silent` | Suppress verbosity | | `-t, --timeout <60>` | Adjust network request timeout | | `-u, --user-agent ` | Set custom User-Agent string | | `-v, --no-video` | Remove video sources | | `-V, --version` | Print version information | ### Dynamic content Monolith doesn't feature a JavaScript engine, hence websites that retrieve and display data after initial load may require usage of additional tools. For example, Chromium (Chrome) can be used to act as a pre-processor for such pages: ```shell chromium --headless --incognito --dump-dom https://github.com | monolith - -I -b https://github.com -o github.html ``` ### Proxies Please set `$https_proxy`, `$http_proxy`, and `$no_proxy` [environment variables](../../../linux/Environment%20Variables.md).