- PVSM.RU - https://www.pvsm.ru -
Каждый веб-разработчик, да и многие пользователи рано или поздно сталкиваются с Internet Archive и необходимостью сохранить или восстановить вид важного им сайта в определённое время. С каждым годом всё очевиднее, что поговорка «интернет помнит всё» ошибочна — форумы закрываются, старые сайты тихо исчезают, информация пропадает без следа (вот [1] хорошая статья по теме). При этом пока не существует общепринятого способа на лету сохранять важный контент без лишних телодвижений (представьте, что будет с серверами archive.org [2], если, скажем, в следующем обновлении Chrome будет при загрузке страницы отправлять адрес на архивацию). Спасение утопающих — дело рук самих утопающих, поэтому в этой статье мы разберём инструмент, позволяющий не просто сохранять нужные сайты, но и встраивать этот процесс в повседневную работу.
Удивительно, что на Хабре ещё не было статей про ArchiveBox — продвинутый архиватор сайтов с огромным количеством поддерживаемых форматов и интерфейсов. Первая бета вышла в 2017 году, тогда это был проект по сохранению закладок Bookmark Archiver. Получив поддержку и перелопатив горы кода, Ник Свитинг [3] переделал инструмент под хранение вообще всего интересного пользователю контента, переименовал проект и собрал 8k звёзд и десятки контрибьюторов на гитхабе благодаря непрерывному улучшению кода и фич в течение нескольких лет. Вообще ArchiveBox — пример того самого хрестоматийного open-source проекта, от которого у авторов горят глаза и простаивают крутые офферы.
Впечатляет, да? Давайте попробуем ArchiveBox в деле.
Докер-установка подробно описана в вики [4], мы же рассмотрим классический вариант для линуксов (для голой системы, ведь вы можете накатить ArchiveBox на сервер чтобы не захламлять рабочую машину):
Вынесем работу с архивами под отдельного пользователя (ArchiveBox всё равно не запустится из-под рута, чтобы уберечь неопытного пользователя от фатальных ошибок)
adduser archive
usermod -aG sudo archive
su - archive
Установим pip и собственно ArchiveBox:
sudo apt-get update
sudo apt-get install python3-pip
pip3 install archivebox
Зависимости можно доустановить вручную, но для первого знакомства проще взять готовый скрипт, который накатит их все, а потом уже решить, какие из них необходимы:
curl https://raw.githubusercontent.com/pirate/ArchiveBox/master/bin/setup.sh | sh
Альтернатива:
sudo apt install -y git wget curl youtube-dl nodejs npm ripgrep chromium-browser
npm i -g npm
pip3 install --upgrade pip setuptools
npm install -g 'git+https://github.com/ArchiveBox/ArchiveBox.git'
Для инициализации нужна пустая директория в любом месте:
mkdir box && cd box
archivebox init
Готово. Теперь можно продолжить работу в терминале, но проще работать в веб-интерфейсе:
archivebox server --createsuperuser 0.0.0.0:8000
# адрес и порты, конечно, можно заменить на произвольные
Флаг --createsuperuser позволит создать админа до старта сервера. Логинимся в дашборд и добавляем первый сайт:
На скриншоте выбраны все возможные методы архивирования (синее выделение)
В это время в терминале:
По окончании процесса станет доступен снапшот, который можно посмотреть превьюхой для каждого из визуальных методов, открыть отдельно или изучить список скачанных файлов:
Разбираться во всех функциях и возможностях ArchiveBox придётся долго, но учитывая готовые и будущие интеграции с API, можно уже бежать его изучать, потому что применять его можно будет почти из любой инфраструктуры. Очень приятно, что проект активно развивается и уже в достаточной мере оброс сообществом, чтобы разработка и багфиксы не прекращались даже на неделю. Учитывая как далеко он ушел от своих конкурентов, при большей ориентированности на рядового пользователя ArchiveBox может стать очень успешным и полезным приложением.
Создание VDS [5] с нужными вам параметрами в течение минуты, в том числе для создания и хранения архивов большого объёма — до 4000 ГБ!
Автор: Mikhail
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/363102
Ссылки в тексте:
[1] вот: https://digiday.com/media/wtf-link-rot/
[2] с серверами archive.org: https://habr.com/ru/company/vdsina/blog/549520/
[3] Ник Свитинг: https://sweeting.me/
[4] в вики: https://github.com/ArchiveBox/ArchiveBox/wiki/Docker
[5] VDS: https://vdsina.ru/cloud-servers?partner=habr306
[6] Источник: https://habr.com/ru/post/550180/?utm_source=habrahabr&utm_medium=rss&utm_campaign=550180
Нажмите здесь для печати.