Гид по технологиям

Как сохранить сайт офлайн с помощью OpenZIM и Kiwix

7 min read Архивирование Обновлено 04 Apr 2026
Сохранение сайтов офлайн с OpenZIM и Kiwix
Сохранение сайтов офлайн с OpenZIM и Kiwix

Краткое содержание

  • OpenZIM и Kiwix позволяют хранить целые сайты в одном сжатом файле .zim и просматривать их офлайн через Kiwix.
  • Zimit — инструмент «печати» сайтов в ZIM: доступен как веб‑сервис (удобно) и как Docker‑образ (быстрее, локально, параллельно).
  • Веб‑версия может быть медленной и ограничивать одно задание; Docker‑вариант даёт больше контроля, гибкости и скорости.

Окно браузера с нажатием кнопки скачивания, иконками загрузок и логотипами птицы Kiwix.

Что такое OpenZIM и Kiwix

OpenZIM — открытый проект и экосистема для создания архивов сайтов в формате .zim. ZIM — это компактный, индексируемый контейнер с контентом сайта, оптимизированный для офлайн‑чтения. Kiwix — десктоп/мобильный ридер, который открывает .zim и предоставляет интерфейс, похожий на браузер, но без доступа в интернет.

Факты и ориентиры:

  • Полная англоязычная Википедия в ZIM — порядка 100 ГБ; «mini»‑вариант около 11 ГБ. Эти ZIM доступны в библиотеке OpenZIM.
  • Кiwix и OpenZIM позволяют хранить и читать большие коллекции, например Project Gutenberg.

Просмотр Doom Wiki офлайн в ридере Kiwix.

Важно: ZIM — это снимок сайта на момент создания архива. Динамический контент (live API, авторизация, потоковое видео) может работать не полностью.

Быстрый способ: печать сайта через веб‑интерфейс Zimit

Zimit — это веб‑портал от сообщества Kiwix/OpenZIM, куда вы вставляете URL сайта и адресу электронной почты. Сервис «печатает» сайт в .zim и отправляет вам ссылку на скачивание по почте.

Плюсы веб‑версии:

  • Очень просто: вставили URL и почту — процесс запущен.
  • Подходит для единичных, небольших задач.

Ограничения и ожидания:

  • Обычно доступно только одно задание на пользователя одновременно.
  • Сборка может занимать продолжительное время: у сервиса указано, что выполнение может занимать до 24 часов; типичный пример: ZIM ~2 ГБ может быть собран примерно за 2 часа (в зависимости от нагрузки и размера сайта).
  • Вы скачиваете итоговый .zim из интернета — нужен быстрый канал для больших архивов.

Интерфейс сайта Zimit для создания ZIM архивов из URL.

Когда использовать веб‑версию:

  • Нужно один раз получить офлайн‑копию небольшого сайта.
  • Нет желания запускать Docker/локальные инструменты.

Когда лучше не использовать:

  • Если нужно массово печатать сайты.
  • Если сайт большой и вы хотите избежать длительных загрузок через сеть.

Быстрее и гибче: запуск Zimit локально через Docker

Запуск Zimit в контейнере Docker даёт вам локальный контролируемый процесс создания ZIM: быстрее, можно запускать несколько задач параллельно, не нужно качать ZIM через интернет — он записывается прямо в вашу файловую систему.

Требования:

  • Docker установлен (Windows/macOS: Docker Desktop; Linux: Docker Engine).
  • Достаточно места на диске для итогового .zim и временных данных.

Простой тест, чтобы убедиться, что Docker работает:

docker run hello-world

Пример команды для «печати» сайта (из оригинала статьи):

docker run -v $PWD:/output ghcr.io/openzim/zimit zimit --seeds https://legiblenews.com --name tinynews

Пояснения:

  • -v $PWD:/output — монтирует текущую папку (где вы запускаете команду) в контейнер, туда будет записан .zim.
  • –seeds — список стартовых URL (через пробелы можно добавить несколько).
  • –name — человекочитаемое имя архива.

Ограничение глубины и числа страниц:

docker run -v $PWD:/output ghcr.io/openzim/zimit zimit --seeds https://legiblenews.com --name tinynews --pageLimit 20 --depth 1
  • –pageLimit 20 — максимум страниц для скачивания.
  • –depth 1 — насколько глубоко по ссылкам переходить от корневого URL (уровней после первого ‘/‘).

Замечания для Windows PowerShell: замените $PWD на ${PWD} или используйте полный путь C:\path\to\folder, а в параметре -v указывайте его в формате /c/path/to/folder при использовании Docker Desktop.

Команда Docker для создания ZIM архива из примерного URL.

Где искать результат:

pwd

Команда покажет папку, в которой вы запускали Docker; там окажется итоговый *.zim файл.

Docker сохранил файл ZIM в папке вывода.

Как открыть .zim в Kiwix

  1. Скачайте Kiwix Desktop с официального сайта и распакуйте/установите.
  2. Запустите kiwix‑desktop (или соответствующий ярлык).
  3. Нажмите значок папки и выберите .zim — сайт загрузится мгновенно.

Kiwix индексирует и предоставляет навигацию по статьям, внутренним ссылкам и поиску — как в обычном браузере, но без сети.

Когда метод не сработает (контрпримеры)

  • Сайты, требующие авторизации и сессий: большинство «печатей» не пройдёт через авторизацию без специальных настроек.
  • Динамические одностраничные приложения (SPA), которые полностью зависят от JS‑API и серверных реализаций — части контента могут отсутствовать.
  • Интерактивные сервисы (чат, потоковое видео, live‑трансляции) — не пригодны для полноценной офлайн‑работы.

Важно: если сайт использует строгие правила robots.txt или другие ограничения, сбор может быть неполным в соответствии с этими правилами.

Альтернативные подходы

  • wget (режим зеркалирования): универсально, но собранные файлы — не единый индексируемый архив, придётся вручную настраивать.
  • HTTrack: графический инструмент для скачивания сайтов, полезен для локальных зеркал, но без удобного офлайн‑ридера.
  • Webrecorder/ReplayWeb.page: полезно для интерактивной записи сессий и сложного JS‑контента.
  • MHTML/Save Page WE: сохраняет отдельные страницы, подходит для единичных URL.

Каждый метод имеет свои плюсы: ZIM + Kiwix — лучше для поиска и организации больших библиотек; wget/HTTrack — гибче для зеркалирования файловой структуры сайта.

Мини‑методология: шаг за шагом

  1. Оцените сайт: объём, тип контента, необходимость авторизации.
  2. Выберите путь: Zimit (веб) для простых задач; Docker Zimit для локальной сборки; альтернативы при специальных требованиях.
  3. Настройте лимиты страниц и глубину, чтобы не перегружать диск и не архивировать лишнее.
  4. Запустите сбор; контролируйте логи и итоговый размер .zim.
  5. Откройте в Kiwix, проверьте навигацию, поисковые результаты и важные страницы.
  6. Документируйте метаданные (дата сборки, seed URL, флаги сборки) для репликации.

Playbook / SOP: что делать перед, во время и после

  • Перед:

    • Проверьте доступность сайта и согласие на архивирование (если применимо).
    • Убедитесь, что у вас достаточно места на диске (с запасом).
    • Подготовьте каталог вывода и права на запись.
  • Во время:

    • Запустите процесс, сохраняйте логи.
    • Для больших сайтов используйте ограничение –pageLimit и –depth для первых прогонов.
    • При ошибках проверьте вывод контейнера и сетевые ограничения.
  • После:

    • Откройте .zim в Kiwix и пройдитесь по ключевым страницам.
    • Сохраните метаданные: команда, дата, размер .zim, seeds.
    • При необходимости перезапустите с другими параметрами.

Критерии приёмки

  • .zim открывается в Kiwix без ошибок.
  • Ключевой контент (главная, несколько внутренних страниц, поиск) доступен.
  • Размер .zim разумен относительно ожидаемого объёма.
  • Метаданные сборки сохранены для повторяемости.

Безопасность, приватность и правовые заметки

Important: архивирование сайтов может захватывать личные данные и контент, защищённый авторским правом. Перед массовыми сборами проверьте юридические ограничения, правила сервиса и политику приватности. В некоторых юрисдикциях автоматический сбор персональных данных подпадает под законы о защите данных (например, GDPR). Это не юридическая консультация — при сомнениях проконсультируйтесь с юристом.

Технические рекомендации по безопасности:

  • Запускайте контейнер под учётной записью с ограниченными правами.
  • Не публикуйте .zim с чувствительной информацией.
  • Ограничивайте доступ к локальным каталогам, куда пишется .zim.

Роль‑ориентированные контрольные списки

  • Для разработчика/администратора:

    • Настроить Docker и предоставить доступ к папке вывода.
    • Мониторить потребление ресурсов и логи контейнера.
  • Для исследователя/журналиста:

    • Определить список seed URL и приоритетные страницы.
    • Проверить полноту критичных материалов после импорта в Kiwix.
  • Для архивиста/библиотекаря:

    • Составить список метаданных и политики хранения.
    • Интегрировать .zim в локальную библиотеку и расписание обновлений.

Факт‑бокс: ключевые числа

  • Полная англ. Википедия в ZIM ≈ 100 ГБ.
  • Mini‑Wikipedias ≈ 11 ГБ.
  • Примерный срок сборки через веб‑сервис: до 24 часов; типичный пример — 2 ГБ ZIM ≈ 2 часа (зависит от нагрузки сервера и структуры сайта).

Примеры команд (cheat sheet)

Запустить тест Docker:

docker run hello-world

Создать ZIM (простой пример):

docker run -v $PWD:/output ghcr.io/openzim/zimit zimit --seeds https://example.com --name myarchive

Ограничить до 50 страниц и глубины 2:

docker run -v $PWD:/output ghcr.io/openzim/zimit zimit --seeds https://example.com --name myarchive --pageLimit 50 --depth 2

Windows PowerShell (пример монтирования):

docker run -v ${PWD}:/output ghcr.io/openzim/zimit zimit --seeds https://example.com --name myarchive

Глоссарий — 1 строка каждый

  • ZIM: сжатый индексируемый контейнер со снимком сайта для офлайн‑чтения.
  • Kiwix: приложение‑ридер для открытия .zim и навигации по ним.
  • Zimit: инструмент «печати» сайтов в .zim (веб и Docker версии).
  • Docker: платформа для запуска приложений в изолированных контейнерах.
  • depth: глубина обхода ссылок от корневого URL.
  • pageLimit: лимит страниц, которые сохранит краулер.

Короткое резюме

OpenZIM + Kiwix — надёжный способ собрать офлайн‑библиотеку сайтов в удобном формате .zim. Для единичных задач подойдёт веб‑версии Zimit; при регулярных или массовых сборах лучше запускать Zimit локально через Docker и управлять параметрами сборки.


Подписка: Хотите больше практических советов по офлайн‑архивированию, Docker‑командам и рабочим процессам? Подпишитесь на рассылку, чтобы получать примеры и короткие гайды.

Получая рассылку, вы соглашаетесь на получение новостных и маркетинговых писем и принимаете наши Условия использования и Политику конфиденциальности. Отписаться можно в любой момент.

HTG Wrapped: наши любимые технологии 2025 — календарь и карточки продуктов.

Команда Docker с дополнительными флагами — пример использования pageLimit и depth.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Azure Data Studio на Linux — руководство по установке
Databases

Azure Data Studio на Linux — руководство по установке

Обновить Secure Boot сертификаты до UEFI CA 2023
Безопасность

Обновить Secure Boot сертификаты до UEFI CA 2023

Как уменьшить меню «Пуск» в Windows — быстрый гайд
Windows

Как уменьшить меню «Пуск» в Windows — быстрый гайд

Azure CLI на Ubuntu: установка и руководство
Cloud

Azure CLI на Ubuntu: установка и руководство

Победить синдром самозванца — практическое руководство
Личное развитие

Победить синдром самозванца — практическое руководство

Ошибка #SPILL! в Excel: 5 быстрых исправлений
Excel

Ошибка #SPILL! в Excel: 5 быстрых исправлений