# y2z/monolith

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/y2z-monolith).**

15,283 stars · 459 forks · Rust · CC0-1.0

## Links

- GitHub: https://github.com/Y2Z/monolith
- Homepage: https://crates.io/crates/monolith
- awesome-repositories: https://awesome-repositories.com/repository/y2z-monolith.md

## Topics

`come-and-take-it` `e-hoarding` `its-mine` `make-the-internet-great-again` `no-more-404` `procrastination` `save-the-internet` `tab-rehab`

## Description

Monolith is a single-file HTML web archiver and asset bundler. It functions as a command-line interface and programmatic library designed to save complete web pages and their associated assets into a single HTML file for offline viewing.

The tool crawls URLs to discover and fetch linked stylesheets, scripts, and images, which are then embedded into the document as data URLs. It includes capabilities for session injection via external cookie files and authentication handling to backup protected or member-only content.

The project covers broader functional areas including automated web scraping, asset filtering by domain or resource type, and network request customization. It also supports proxy routing through environment variables to manage network restrictions.

## Tags

### Content Management & Publishing

- [Single-File Web Archivers](https://awesome-repositories.com/f/content-management-publishing/single-file-web-archivers.md) — Provides the core capability of saving complete web pages and their assets into a single HTML file for offline viewing.
- [Web Page Archiving](https://awesome-repositories.com/f/content-management-publishing/web-page-archiving.md) — Saving complete websites as single HTML files to preserve content and styling for permanent offline access.
- [Web Content Extraction Utilities](https://awesome-repositories.com/f/content-management-publishing/web-content-extraction-utilities.md) — Implements a programmatic interface for collecting web content and media into single files for offline use.
- [Asset Type Filters](https://awesome-repositories.com/f/content-management-publishing/asset-type-filters.md) — Allows users to exclude specific resource types, such as video or scripts, from the final bundle. ([source](https://github.com/Y2Z/monolith))
- [Dynamic to Static Conversion](https://awesome-repositories.com/f/content-management-publishing/dynamic-to-static-conversion.md) — Transforms dynamic web pages into portable HTML files by embedding all assets as data URLs.

### Web Development

- [Offline Single-File Applications](https://awesome-repositories.com/f/web-development/single-page-applications/single-file-distributions/offline-single-file-applications.md) — Bundles complete web pages and assets into a single HTML or MHTML file for offline viewing. ([source](https://github.com/Y2Z/monolith))
- [HTML Asset Bundlers](https://awesome-repositories.com/f/web-development/html-asset-bundlers.md) — Embeds images, styles, and scripts into HTML files using data URLs to preserve page layout offline.
- [Offline Web Page Archivers](https://awesome-repositories.com/f/web-development/offline-web-applications/offline-web-page-archivers.md) — Saves complete web pages as local files by crawling URLs and combining all content into one document. ([source](https://github.com/Y2Z/monolith/blob/master/.actor/README.md))
- [Single-File Distributions](https://awesome-repositories.com/f/web-development/single-page-applications/single-file-distributions.md) — Bundles page source and assets into a single standalone HTML file for offline distribution.
- [Web Scraping and Automation](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation.md) — Programmatically captures full page snapshots and assets from multiple URLs at scale.

### Development Tools & Productivity

- [Base64 Asset Embedding](https://awesome-repositories.com/f/development-tools-productivity/asset-pipelines/base64-asset-embedding.md) — Converts external page assets into base64 encoded data URIs for embedding directly within the HTML file.
- [Page Bundling Automation](https://awesome-repositories.com/f/development-tools-productivity/page-bundling-automation.md) — Provides programmatic and command-line interfaces to automate the bundling of multiple URLs. ([source](https://github.com/Y2Z/monolith/blob/master/.actor/README.md))

### Software Engineering & Architecture

- [DOM Resource Crawlers](https://awesome-repositories.com/f/software-engineering-architecture/recursive-validation-engines/recursive-tree-traversers/dom-resource-crawlers.md) — Traverses the page DOM recursively to find and fetch all associated stylesheets, scripts, and images.

### Data & Databases

- [Resource Domain Filters](https://awesome-repositories.com/f/data-databases/asset-filtering/asset-discovery-filters/resource-domain-filters.md) — Allows restricting asset retrieval to specific domains to control which external resources are bundled.
- [Authenticated Content Backups](https://awesome-repositories.com/f/data-databases/data-backup-solutions/backup-content-listing/user-content-backups/authenticated-content-backups.md) — Preserves private or member-only web data by handling session cookies during the archiving process.
- [Domain-Restricted Crawling](https://awesome-repositories.com/f/data-databases/url-crawl-queues/url-extraction/domain-restricted-crawling.md) — Limits the crawling process to a specific root domain or block-list to control asset inclusion. ([source](https://github.com/Y2Z/monolith/blob/master/README.md))

### Security & Cryptography

- [Authentication Handling](https://awesome-repositories.com/f/security-cryptography/authentication-handling.md) — Includes mechanisms for managing user identity and session cookies to access protected or member-only web content. ([source](https://github.com/Y2Z/monolith/blob/master/README.md))
- [Cookie-Based Authentication Bridges](https://awesome-repositories.com/f/security-cryptography/session-cookie-handlers/cookie-based-authentication-bridges.md) — Enables the use of external cookie files to inject authenticated sessions for capturing protected content.
