Repolode
Y2Z

Y2Z/monolith

Инструмент для Rust с GUI и CLI, который сохраняет веб-страницу целиком — вместе с CSS, изображениями и JavaScript — в одном автономном HTML-файле.

Open source альтернатива:Pocket

Звёзды
15,523
Форки
480
Открытые issues
51
Последний коммит
6 дней назад

Что это?

Monolith сохраняет веб-страницу в виде одного HTML-файла. В отличие от встроенной в браузер функции «Сохранить страницу как», он встраивает таблицы стилей, изображения, скрипты и другие ресурсы непосредственно в документ в виде data URL. Благодаря этому сохранённая копия отображается так же, как в интернете, и работает без подключения к сети.

Monolith доступен как инструмент командной строки и GUI, а также в виде библиотеки Rust. Он умеет читать HTML из стандартного ввода, записывать результат в стандартный вывод и принимать пользовательские базовые URL и cookies. Можно исключить отдельные типы ресурсов, например изображения, видео, аудио, шрифты или JavaScript, ограничить загрузку ресурсов выбранными доменами, а также задать свой User-Agent или таймаут.

В Monolith нет движка JavaScript, поэтому для страниц, загружающих содержимое после первоначального рендеринга, сначала потребуется выгрузить DOM с помощью headless-браузера. Пакеты доступны для Windows, macOS, Linux и BSD, а также через Docker.

Ключевые возможности

  • 01Встраивает CSS, изображения и JavaScript в один файл HTML5.
  • 02Работает как инструмент командной строки, GUI и библиотека Rust.
  • 03Читает данные из stdin и записывает результат в stdout, что удобно для конвейеров.
  • 04Позволяет исключать аудио, видео, шрифты, изображения или скрипты.
  • 05Ограничивает или блокирует загрузку ресурсов по доменам.
  • 06Поддерживает cookies, базовую аутентификацию и пользовательские кодировки.

Сценарии использования

  • Сохранять статьи и страницы в архив, пока они не исчезли.
  • Делиться одним файлом, который отображает страницу без подключения к сети.
  • Вместо множества открытых вкладок собрать локальную библиотеку сохранённых страниц.
  • Автоматизировать сохранение страниц в shell-скриптах или конвейерах.

Быстрый старт

  1. 1

    Установка через Cargo (кроссплатформенно)

    cargo install monolith
  2. 2

    Сохранение веб-страницы в один HTML-файл

    monolith https://lyrics.github.io/db/P/Portishead/Dummy/Roads/ -o %title%.%timestamp%.html

Что важно знать

  • В README не упоминается движок JavaScript, поэтому для страниц с динамической загрузкой контента может потребоваться дополнительный инструмент, например headless Chromium.

В подборках

Темы

Частые вопросы

Что такое monolith?
Инструмент для Rust с GUI и CLI, который сохраняет веб-страницу целиком — вместе с CSS, изображениями и JavaScript — в одном автономном HTML-файле. Monolith сохраняет веб-страницу в виде одного HTML-файла. В отличие от встроенной в браузер функции «Сохранить страницу как», он встраивает таблицы стилей, изображения, скрипты и другие ресурсы непосредственно в документ в виде data URL. Благодаря этому сохранённая копия отображается так же, как в интернете, и работает без подключения к сети.
monolith можно использовать бесплатно? Какая у него лицензия?
monolith распространяется с открытым исходным кодом под лицензией CC0-1.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
monolith всё ещё поддерживается?
Активно поддерживается. Последний коммит в monolith — 16 окт. 2026 г..
Для чего можно использовать monolith?
Сохранять статьи и страницы в архив, пока они не исчезли. Делиться одним файлом, который отображает страницу без подключения к сети. Вместо множества открытых вкладок собрать локальную библиотеку сохранённых страниц. Автоматизировать сохранение страниц в shell-скриптах или конвейерах.
Как установить monolith?
Установка через Cargo (кроссплатформенно): cargo install monolith Сохранение веб-страницы в один HTML-файл: monolith https://lyrics.github.io/db/P/Portishead/Dummy/Roads/ -o %title%.%timestamp%.html
Где скачать monolith?
Исходный код и инструкции по установке — на GitHub: https://github.com/Y2Z/monolith

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты