ArchiveBox
ArchiveBox — открытый (MIT) инструмент для ведения собственного веб-архива. Он принимает ссылки по одной, списками, из закладок, истории браузера и RSS-лент и сохраняет каждую страницу сразу несколькими способами: wget-копия с WARC, SingleFile, PDF, скриншот, DOM, текст, медиа через yt-dlp и т. д.
Когда использовать
✅ Подходит, если нужно:
- поднять персональный веб-архив из закладок браузера, экспортов сервисов закладок, RSS-лент и простого списка URL;
- иметь веб-интерфейс для просмотра и полнотекстового поиска по архиву;
- сохранять страницу несколькими способами одновременно, чтобы хотя бы один сработал;
- постепенно накапливать архив, добавляя новые ссылки по расписанию.
❌ Не лучший выбор, если:
- нужен глубокий обход целого сайта — ArchiveBox рассчитан на отдельные страницы и небольшую глубину (
--depthдо 4); для сайтов целиком лучше Browsertrix Crawler, wget или Heritrix; - нужен единый WARC/WACZ на всю коллекцию — ArchiveBox пишет WARC отдельно для каждого снимка (см. ниже);
- задача корпоративного масштаба с командной работой — посмотрите на сервис Browsertrix.
Описание
ArchiveBox (ранее Bookmark Archiver) хранит архив в обычной папке: индекс — база SQLite index.sqlite3, а для каждого снимка (Snapshot) создаётся каталог с файлами в стандартных форматах (HTML, PNG, PDF, JSON, TXT, WARC, MP4).
Особенности
- Множество источников: URL, списки в TXT/CSV/JSON/HTML/Markdown, закладки в формате Netscape, RSS, расширение для браузера, мобильные и настольные приложения.
- Множество методов захвата (плагины): wget (с WARC), Chrome (DOM, PDF, скриншот, MHTML), SingleFile, Readability/Mercury (текст статьи), yt-dlp, gallery-dl, git и др.
- Аддитивность: новые ссылки добавляются к существующему архиву.
- Веб-интерфейс, CLI, REST API.
По умолчанию ArchiveBox отправляет каждую добавленную ссылку в Wayback Machine (ARCHIVEDOTORG_ENABLED=True). Если вы архивируете закрытые или чувствительные материалы, отключите это: archivebox config --set ARCHIVEDOTORG_ENABLED=False.
Установка
Через Docker Compose (рекомендуется)
mkdir -p ~/archivebox/data && cd ~/archivebox
curl -fsSL 'https://docker-compose.archivebox.io' > docker-compose.yml
docker compose pull
docker compose up -d --wait
docker compose exec archivebox archivebox add 'https://example.com'
Веб-интерфейс откроется на порту 5797; при первом входе в /admin/ создаётся учётная запись администратора.
Через docker run
mkdir -p ~/archivebox/data && cd ~/archivebox/data
docker run -d --name archivebox -v $PWD:/data -p 5797:5797 archivebox/archivebox:dev
docker exec archivebox archivebox add 'https://example.com'
Локальная установка
Нужен Python 3.13. Пакет ставится через pip или uv:
pip install archivebox
mkdir -p ~/archivebox/data && cd ~/archivebox/data
archivebox init # создать коллекцию в пустой папке
archivebox install # установить зависимости (Chrome, SingleFile, yt-dlp и др.)
archivebox add 'https://example.com'
Команды сверены с README и
archivebox --helpверсии 0.9.73 (октябрь 2026).
Использование
Все команды выполняются из папки коллекции.
Добавление URL
archivebox add 'https://example.com'
# со страницами, на которые ссылается указанная (на 1 переход)
archivebox add --depth=1 'https://example.com'
Добавление из файла или потока
ArchiveBox извлекает ссылки из любого текста, переданного на вход:
archivebox add < urls.txt
echo 'https://example.com' | archivebox add
Добавление из RSS
Пример из README:
archivebox add --depth=1 --plugins=parse_rss_urls "file://$HOME/Downloads/some_feed.xml"
Для регулярного импорта ленты используйте встроенный планировщик:
archivebox schedule --add --every=daily --depth=1 'https://example.com/feed.xml'
Закладки и экспорты сервисов
Закладки, экспортированные из браузера в формате Netscape HTML, и экспорты сервисов (Pinboard, Instapaper, Shaarli, Wallabag и др.) добавляются так же:
archivebox add < bookmarks.html
Сервис Pocket закрыт в 2025 году, но ранее сделанные экспорты можно импортировать тем же способом.
Веб-интерфейс
archivebox server 0.0.0.0:5797
Откройте http://localhost:5797/.
Методы архивации и настройка
Каждый метод — это плагин, который включается и выключается параметром *_ENABLED. Основные:
| Параметр | Что сохраняет |
|---|---|
WGET_ENABLED, WGET_WARC_ENABLED | wget-копия страницы и WARC (wget/warc/….warc.gz в папке снимка) |
SINGLEFILE_ENABLED | страница в одном HTML-файле |
PDF_ENABLED | PDF через Chrome |
SCREENSHOT_ENABLED | скриншот |
DOM_ENABLED | HTML после выполнения JavaScript |
READABILITY_ENABLED, MERCURY_ENABLED | текст статьи |
YTDLP_ENABLED | видео и аудио |
ARCHIVEDOTORG_ENABLED | отправка URL в Wayback Machine |
Конфигурация хранится в файле ArchiveBox.conf в папке коллекции (формат INI) или задаётся переменными окружения. Изменять её удобно командой archivebox config:
archivebox config # показать всю конфигурацию
archivebox config --get WGET_WARC_ENABLED
archivebox config --set PDF_ENABLED=False
archivebox config --set YTDLP_ENABLED=False
Веб-интерфейс
Веб-интерфейс ArchiveBox позволяет:
- просматривать все снимки и результаты каждого метода;
- искать по архиву, в том числе по полному тексту сохранённых страниц;
- фильтровать по дате, домену, тегам;
- добавлять ссылки и управлять архивом.
Полнотекстовый поиск работает через один из бэкендов — ripgrep, Sonic или SQLite FTS5 (параметр SEARCH_BACKEND_ENGINE); настройка описана в вики.
Сравнение
| Инструмент | Источники | Методы | Веб-интерфейс | Рекомендация |
|---|---|---|---|---|
| ArchiveBox | Множественные | Множественные | Да | Для личных архивов |
| Browsertrix Crawler | URL | Браузер (WARC/WACZ) | В сервисе Browsertrix | Для сайтов целиком и организаций |
| Wget | URL | Один (с WARC) | Нет | Для простых случаев |
Когда использовать ArchiveBox
- Личные архивы из закладок и RSS.
- Нужен веб-интерфейс для просмотра и поиска.
- Важно сохранить страницу несколькими способами.
- Аддитивное накопление архива.
Когда использовать другие инструменты
- Архивация сайтов целиком (Browsertrix Crawler, wget, Heritrix).
- Нужен один WARC/WACZ на всю коллекцию для передачи в другой архив.
- Простые разовые задачи (wget).
Best practices
Регулярное обновление
Вместо cron можно использовать archivebox schedule (см. выше) — расписание выполняется тем же процессом, что и archivebox server. Если нужен cron:
0 2 * * * cd /path/to/archivebox/data && archivebox add < new_urls.txt
Резервное копирование
tar -czf archivebox-backup.tar.gz -C ~/archivebox data/
Удаление записей
# удалить снимки, добавленные до указанного момента (Unix-время)
archivebox remove --before=1704067200 --yes
# удалить снимки по домену
archivebox remove --filter-type=domain example.com --yes
Ограничения
- WARC пишется для каждого снимка отдельно (через wget), а не одним файлом на коллекцию. Для единого WARC/WACZ используйте Browsertrix Crawler или wget с
--warc-file. - Может работать медленно на больших объёмах (тысячи URL за один запуск).
- Требует много места на диске — каждая страница хранится в нескольких форматах; по README — от ~1 до ~50 ГБ на 1000 снимков, в основном в зависимости от сохранения видео.
- Не рассчитан на глубокий обход сайтов и на распределённую работу.