Локальный клон Instapaper и Pocket с ArchiveBox
Важное: хранение стороннего контента может представлять риск для безопасности и приватности. Перед публикацией в интернете фильтруйте и проверяйте содержимое архива.

Что такое ArchiveBox
ArchiveBox — это набор утилит на Python 3, создающий статический и локально просматриваемый клон ссылок, который сохраняет страницу в нескольких форматах: исходный HTML, скриншот, PDF и WARC (Web ARChive). ArchiveBox ориентирован на долговременное хранение: копии остаются у вас, даже если исходный ресурс исчезнет.
Ключевая идея: вместо прослойки сервиса (Instapaper, Pocket) вы сами контролируете индекс, хранилище и публикацию архива.
Короткое определение терминов:
- WARC — контейнерный формат для хранения записей HTTP, полезен для миграций и исследований.
- Скриншот — визуальная копия страницы для быстрой проверки внешнего вида.
Верхние преимущества и ограничения
Преимущества
- Архивирует каждую ссылку в нескольких форматах (HTML, скриншот, PDF, WARC). Это даёт несколько копий для восстановления.
- Старательно пытается сохранить оригинальную страницу с помощью нескольких инструментов захвата.
- Может автоматически извлекать контент и сохранять всё в одну папку — удобно для бэкапов.
- Управляется через простую командную строку; легко интегрируется с планировщиками задач.
Ограничения
- ArchiveBox скачивает все активы страницы и может быстро занять много дискового пространства и CPU при массовой архивации.
- Требует нескольких внешних зависимостей (wget, headless Chrome/Chromium, youtube‑dl и др.), их настройка может потребовать времени и отладки.
- Полная поддержка Windows ограничена: рекомендуется использовать WSL или Docker, некоторые функции могут работать нестабильно.
Кому подходит ArchiveBox
- Тем, кто хочет владеть собственными архивами и избежать облачных провайдеров.
- Исследователям и журналистам, которым важно сохранять полные копии страниц.
- Администраторам, желающим организовать внутренний архив ссылок.
Не подходит, если вы хотите минимальное место на диске или удобный мобильный клиент для чтения без настроек сервера.
Поддерживаемые операционные системы
ArchiveBox официально поддерживает:
- macOS: начиная с 10.12 Sierra при использовании Homebrew.
- Linux: Debian/Ubuntu (APT) и многие дистрибутивы при адаптации пакетов.
- BSD: FreeBSD/OpenBSD/NetBSD (pkg).
На Windows рекомендуется запускать через Windows Subsystem for Linux (WSL) или Docker.
Зависимости и минимальные требования
ArchiveBox — это гибкая система, которая опирается на ряд инструментов. Ниже — перечень основного набора и короткие пояснения:
- Python 3 (версия 3.5+). Не используйте системный Python 2.x.
- wget (рекомендуется версия с поддержкой HTTPS и расширений).
- Chromium или Google Chrome (headless режим для рендеринга страниц и создания PDF/скриншотов).
- youtube‑dl (опционально) для загрузки аудио/видео; учтите серьёзный рост занимаемого места, если включать.
Совет: при сомнениях установите зависимости через пакетный менеджер вашей ОС (Homebrew, APT, pkg).
Подходы к установке
Есть два основных метода установки: автоматический (скрипт‑установщик) и ручной. Автоматическая установка быстрее, но при ошибках сложнее дебажить. Ручная установка даёт контроль и понимание каждой части стека.
В этом руководстве мы показываем ручную установку на примере macOS 10.14.6 с Homebrew.
Установка зависимостей через Homebrew (macOS)
Откройте Terminal и выполните:
brew install python3 git wget curl youtube-dl
brew install --cask chromiumПримечание: если у вас уже установлен Google Chrome, установку Chromium можно пропустить.
Проверка версий установленных зависимостей
Проверьте версии, чтобы убедиться в совместимости:
python3 --version
wget --version
chromium --version
youtube-dl --versionЭкспорт закладок и подготовка списка ссылок
Большинство сервисов «read‑later» и браузеров могут экспортировать список закладок в HTML. Вы можете использовать:
- HTML‑экспорт Instapaper/Pocket/браузеров
- plain‑text файл со списком URL (по одному на строку)
Чем меньше файл для одной партии, тем выше вероятность успешной архивации без таймаутов.
Установка ArchiveBox из репозитория
Клонируем репозиторий и переходим в папку проекта:
git clone https://github.com/pirate/ArchiveBox
cd ArchiveBox/После клонирования в домашней директории появится папка ArchiveBox с основными файлами и конфигурацией.
Добавление ссылок в архив
Одна ссылка
Чтобы архивировать одну ссылку из командной строки:
echo 'https://example.com' | ./archiveНесколько ссылок из текстового файла
Если у вас десятки/сотни ссылок, положите их в текстовый файл (по одной на строку) и запустите:
./archive /Users/ваш_пользователь/Downloads/links.txtПодождите время, необходимое для скачивания. После завершения откройте output/index.html в браузере.
Импорт экспортированного HTML из Instapaper или Pocket
Экспортируйте HTML из сервиса и запустите:
./archive ~/Downloads/instapaper-export.htmlЕсли у вас тысячи ссылок, разбейте их на несколько файлов, чтобы снизить нагрузку и количество ошибок.
Нажатие на фавикон в колонке Files откроет страницу деталей с отдельными форматами архива и ссылкой на загрузку в archive.org (если включено).
Структура выходных данных
После архивации в папке output вы найдёте:
- index.html — основной индекс со списком ссылок и метаданными;
- отдельные каталоги для каждой ссылки с HTML, PDF, скриншотом, WARC;
- sqlite‑базу или JSON‑индекс метаданных (в зависимости от версии).
Эта структура позволяет легко публиковать архив как статический сайт.
Конфигурация ArchiveBox
Основной конфиг — шаблон в каталоге проекта. Не редактируйте шаблон напрямую: создайте пользовательский конфигурационный файл.
cp ~/ArchiveBox/etc/ArchiveBox.conf.default ~/.ArchiveBox.confЧтобы увидеть скрытые файлы в Finder: нажмите Cmd + Shift + .
Важные параметры с объяснениями
- ONLY_NEW — True: сохранять только новые ссылки (полезно для регулярной работы).
- TIMEOUT — таймаут HTTP-захвата (например, 60 или 120), увеличивайте при частых таймаутах.
- URL_BLACKLIST — regex для исключения доменов/паттернов.
- FETCH_MEDIA — True: скачивать медиа через youtube‑dl (требует пространства).
- WGET_USER_AGENT — изменить user agent, если серверы блокируют по умолчанию.
Совет: сначала тестируйте на небольшом наборе ссылок и минимальных опциях, затем включайте FETCH_MEDIA и другие ресурсоёмкие параметры.
Пример конфигурации и шаблон команд
Ниже — минимальный набор для cron‑задачи, записанный в crontab (пример):
# Каждые 6 часов запускаем архивацию новых ссылок в каталоге ~/ArchiveBox
0 */6 * * * cd /Users/ваш_путь/ArchiveBox && /usr/local/bin/python3 /Users/ваш_путь/ArchiveBox/archiveall.shЕсли вы используете systemd на Linux, создайте unit для периодического запуска или timer.
Планирование и автоматизация
Варианты автоматизации:
- cron / systemd timer для периодического запуска архивации из папки с экспортом закладок;
- webhook или скрипт, который добавляет новые ссылки в очередь по мере появления;
- интеграция с IFTTT/Zapier через промежуточные скрипты (экспорт в текстовый файл → ./archive).
Публикация архива
Папка output — это статический сайт. Варианты хостинга:
- GitHub Pages — просто залейте output в gh‑pages ветку;
- Amazon S3 / CloudFront — подойдёт для приватного или публичного хранилища;
- Netlify/Vercel — для быстрой публикации со статикой;
- Свой VPS / домашний сервер — скопируйте output в /var/www/html и настройте Nginx как статический сайт.
Важно: не выполняйте CGI/PHP в каталоге архива — храните только статические файлы. При публикации соблюдайте осторожность: сохраняемые CSS/JS могут содержать вредоносные конструкции, поэтому при необходимости применяйте фильтрацию или ограничьте доступ паролем.
Альтернативы и когда ArchiveBox не лучший выбор
- Если вы хотите просто отложить текст для чтения и экономить место, лучше выбрать Instapaper/Pocket или read‑later с синхронизацией.
- Если нужна быстрая миграция тысяч ссылок без ресурсов для хранения, используйте сервисы‑архиваторы (Wayback Machine) или платные SaaS‑решения.
- Для зеркалирования целого сайта подойдёт wget –mirror или HTTrack, если нужен полный офлайн‑сайт без индексации ссылок.
Руководство по устранению проблем (три распространённых сценария)
Ошибки при запуске зависимостей:
- Проверьте, что python3 доступен в PATH и не конфликтует с системным Python.
- Убедитесь, что Chromium/Chrome установлен и доступен как chromium или google‑chrome.
Таймауты при захвате страниц:
- Увеличьте TIMEOUT в конфиге.
- Разбейте большой список URL на части и запускайте параллельно в очередях.
Нехватка места на диске:
- Отключите FETCH_MEDIA или сохраняйте только HTML + скриншот.
- Перенесите output в отдельный диск/RAID или используйте облачное хранилище для длинносрочного хранения.
Практические рекомендации по экономии места
- Отключите скачивание медиа (FETCH_MEDIA = False) по умолчанию.
- Оставляйте только WARC и/или HTML+скриншот, если PDF занимает много места.
- Настройте ротацию старых архивов и экспорт только новых ссылок (ONLY_NEW = True).
Безопасность, приватность и соответствие требованиям (GDPR)
- Если вы публикуете архив в публичный доступ, убедитесь, что в нём нет чувствительных персональных данных. При необходимости добавьте robots.txt или базовую аутентификацию.
- Хранение материалов третьих сторон может нести риски XSS/инъекций через вредоносные скрипты, особенно при открытии HTML в браузере. Для публичных архивов рассмотрите вариант очистки JS/CSS перед публикацией.
- Для соответствия требованиям GDPR: храните только те данные, на которые у вас есть правовая основа; организуйте процедуру удаления материалов по требованию.
Роль‑ориентированные чек‑листы
Для пользователей:
- Экспортировать закладки в HTML или текст.
- Проверить свободу дискового пространства.
- Запустить тест на 10 ссылках и проверить output/index.html.
Для администраторов:
- Установить зависимости и настроить права доступа к каталогу output.
- Настроить резервное копирование output (rsync/obj storage).
- Настроить планировщик задач (cron/systemd).
Для разработчиков/интеграторов:
- Автоматизировать импорт новых ссылок из API источника.
- Интегрировать обработку ошибок и логирование.
- Настроить мониторинг места на диске и CPU.
SOP — пошаговый сценарий для регулярной архивации
- Экспортировать новые ссылки из источника (Instapaper/Pocket/браузер).
- Сохранить экспорт в ~/ArchiveBox/imports/.
- Выполнить ./archive ~/ArchiveBox/imports/new‑batch.html.
- Проверить output/index.html в браузере.
- Сделать копию output в облако или на резервный сервер.
- При публикации — проверить robots.txt и права доступа.
Критерии приёмки
- Для каждой импортированной ссылки генерируются минимум два формата (HTML + скриншот) и индексируется в output/index.html.
- Нет критических ошибок в логах на момент завершения процесса.
- Доступ к output на локальном сервере возможен для целевой группы пользователей.
Ментальные модели и эвристики при принятии решений
- Если важна визуальная целостность страницы — включайте скриншоты и PDF.
- Если важна репликация HTTP‑ответа для исследований — сохраняйте WARC.
- Если важен объём хранения — отключайте медиа и PDF.
Примеры команд и полезные сниппеты
Добавление одной ссылки:
echo 'https://example.com' | ./archiveАрхивация файла со ссылками:
./archive /Users/ваш_путь/Downloads/links.txtПример crontab строки для регулярного запуска (каждые 6 часов):
0 */6 * * * cd /Users/ваш_путь/ArchiveBox && /usr/local/bin/python3 ./archive_all.pyКогда ArchiveBox не сработает и альтернативы
- Если сайт активно блокирует ботов и рендеринг в headless‑браузере невозможен — потребуется вручную сохранять контент или использовать прокси/анти‑бот решения.
- Для легковесного «прочитать позже» лучше использовать мобильные приложения read‑later.
- Для массовых копий целых сайтов эффективнее HTTrack или wget –mirror.
Решение: стоит ли вам использовать ArchiveBox
Mermaid диаграмма принятия решения:
flowchart TD
A[Нужно локальное хранение ссылок?] -->|Да| B{Важно хранить медиа?}
A -->|Нет| Z[Используйте read‑later сервис]
B -->|Да| C[ArchiveBox с FETCH_MEDIA]
B -->|Нет| D[ArchiveBox без FETCH_MEDIA]
C --> E[Оцените диск и CPU]
D --> E
E --> F[Автоматизируйте через cron/systemd]Миграция и совместимость
- При переезде версии проекта всегда сохраняйте копию конфигов и output.
- Конвертируйте существующие экспорты в простой текстовый список URL для массового импорта.
Краткий чек‑лист для публикации архива
- Убедиться, что output содержит index.html и перечисленные файлы.
- Проверить robots.txt, чтобы не индексировать приватные архвы.
- Ограничить доступ к архиву, если он содержит чувствительные данные.
- Настроить резервное копирование и мониторинг.
Заключение
ArchiveBox — мощный инструмент для тех, кто хочет владеть запасной копией веб‑содержимого. Он не идеален: требует внешних зависимостей и дискового пространства, но даёт контроль и гибкость, недоступные облачным read‑later сервисам. Начните с небольшой коллекции ссылок, определите желаемые форматы сохранения, настройте конфиг и только затем масштабируйте процесс.
Ключевые форматы для хранения: HTML, скриншот, PDF, WARC. Контролируйте параметры TIMEOUT, FETCH_MEDIA и ONLY_NEW, чтобы найти баланс между полнотой архива и расходом ресурсов.
Короткий глоссарий
- WARC — формат для сохранения HTTP‑запросов/ответов.
- FETCH_MEDIA — опция для скачивания аудио/видео (через youtube‑dl).
- ONLY_NEW — режим для добавления только новых ссылок.
Социальный предварительный просмотр (рекомендации)
OG Title: Локальный клон Instapaper и Pocket с ArchiveBox OG Description: Контролируйте свои закладки: как установить ArchiveBox, настроить автоматическую архивацию и безопасно публиковать статический архив.
Похожие материалы
Как заблокировать Internet Explorer в Windows 10
Черный экран смерти Windows 10 — как исправить
Диагностика Samsung: секретное меню и как им пользоваться
Оптимизация Wi‑Fi на Mac — диагностика и улучшение
Как решать проблемы Zoom — руководство