add monolith
This commit is contained in:
parent
73875d236f
commit
9094e2efe7
1 changed files with 52 additions and 0 deletions
52
technology/applications/cli/network/monolith.md
Normal file
52
technology/applications/cli/network/monolith.md
Normal file
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
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 <http://localhost/>` | Set custom base URL |
|
||||
| `-B, --blacklist-domains` | Treat list of specified domains as blacklist |
|
||||
| `-c, --no-css` | Remove [CSS](../../../internet/CSS.md) |
|
||||
| `-C, --cookies <cookies.txt>` | Specify [cookie](../../../internet/Cookie.md) file |
|
||||
| `-d, --domain <example.com>` | Specify domains to use for white/black-listing |
|
||||
| `-e, --ignore-errors` | Ignore network errors |
|
||||
| `-E, --encoding <UTF-8>` | 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 <document.html>` | Write output to <file>, use `-` for STDOUT |
|
||||
| `-s, --silent` | Suppress verbosity |
|
||||
| `-t, --timeout <60>` | Adjust network request timeout |
|
||||
| `-u, --user-agent <Firefox>` | 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).
|
Loading…
Reference in a new issue