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

Локальный клон Instapaper и Pocket с ArchiveBox

9 min read Инструменты Обновлено 30 Dec 2025
Локальный клон Instapaper с ArchiveBox
Локальный клон Instapaper с ArchiveBox

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

create-readlater-apps

Что такое 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

Зависимости и минимальные требования

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

check the version of all dependencies

Экспорт закладок и подготовка списка ссылок

Большинство сервисов «read‑later» и браузеров могут экспортировать список закладок в HTML. Вы можете использовать:

  • HTML‑экспорт Instapaper/Pocket/браузеров
  • plain‑text файл со списком URL (по одному на строку)

Чем меньше файл для одной партии, тем выше вероятность успешной архивации без таймаутов.

Установка ArchiveBox из репозитория

Клонируем репозиторий и переходим в папку проекта:

git clone https://github.com/pirate/ArchiveBox
cd ArchiveBox/

После клонирования в домашней директории появится папка ArchiveBox с основными файлами и конфигурацией.

install archivebox

Добавление ссылок в архив

Одна ссылка

Чтобы архивировать одну ссылку из командной строки:

echo 'https://example.com' | ./archive

archiving a single link

Несколько ссылок из текстового файла

Если у вас десятки/сотни ссылок, положите их в текстовый файл (по одной на строку) и запустите:

./archive /Users/ваш_пользователь/Downloads/links.txt

Подождите время, необходимое для скачивания. После завершения откройте output/index.html в браузере.

archivebox output folder

Импорт экспортированного HTML из Instapaper или Pocket

Экспортируйте HTML из сервиса и запустите:

./archive ~/Downloads/instapaper-export.html

Если у вас тысячи ссылок, разбейте их на несколько файлов, чтобы снизить нагрузку и количество ошибок.

archived links through ArchiveBox

Нажатие на фавикон в колонке Files откроет страницу деталей с отдельными форматами архива и ссылкой на загрузку в archive.org (если включено).

detail page of each archived link

Структура выходных данных

После архивации в папке output вы найдёте:

  • index.html — основной индекс со списком ссылок и метаданными;
  • отдельные каталоги для каждой ссылки с HTML, PDF, скриншотом, WARC;
  • sqlite‑базу или JSON‑индекс метаданных (в зависимости от версии).

Эта структура позволяет легко публиковать архив как статический сайт.

Конфигурация ArchiveBox

Основной конфиг — шаблон в каталоге проекта. Не редактируйте шаблон напрямую: создайте пользовательский конфигурационный файл.

cp ~/ArchiveBox/etc/ArchiveBox.conf.default ~/.ArchiveBox.conf

Чтобы увидеть скрытые файлы в Finder: нажмите Cmd + Shift + .

copy of the ArchiveBox config file

Важные параметры с объяснениями

  • 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, если нужен полный офлайн‑сайт без индексации ссылок.

Руководство по устранению проблем (три распространённых сценария)

  1. Ошибки при запуске зависимостей:

    • Проверьте, что python3 доступен в PATH и не конфликтует с системным Python.
    • Убедитесь, что Chromium/Chrome установлен и доступен как chromium или google‑chrome.
  2. Таймауты при захвате страниц:

    • Увеличьте TIMEOUT в конфиге.
    • Разбейте большой список URL на части и запускайте параллельно в очередях.
  3. Нехватка места на диске:

    • Отключите 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 — пошаговый сценарий для регулярной архивации

  1. Экспортировать новые ссылки из источника (Instapaper/Pocket/браузер).
  2. Сохранить экспорт в ~/ArchiveBox/imports/.
  3. Выполнить ./archive ~/ArchiveBox/imports/new‑batch.html.
  4. Проверить output/index.html в браузере.
  5. Сделать копию output в облако или на резервный сервер.
  6. При публикации — проверить 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, настроить автоматическую архивацию и безопасно публиковать статический архив.

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

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

Как заблокировать Internet Explorer в Windows 10
Windows

Как заблокировать Internet Explorer в Windows 10

Черный экран смерти Windows 10 — как исправить
Windows

Черный экран смерти Windows 10 — как исправить

Диагностика Samsung: секретное меню и как им пользоваться
Мобильные устройства

Диагностика Samsung: секретное меню и как им пользоваться

Оптимизация Wi‑Fi на Mac — диагностика и улучшение
Сети

Оптимизация Wi‑Fi на Mac — диагностика и улучшение

Как решать проблемы Zoom — руководство
Технологии

Как решать проблемы Zoom — руководство

Диагностика Chromebook: батарея, CPU, RAM
Руководство

Диагностика Chromebook: батарея, CPU, RAM