Разместите свой собственный интернет-архив с помощью ArchiveBox
Архивируйте веб-сайты с помощью ArchiveBox в Linux
В этом руководстве объясняется, что такое ArchiveBox и как установить ArchiveBox в Linux и, наконец, как разместить собственный личный интернет-архив с помощью ArchiveBox.
Отказ от ответственности: Вся информация, представленная здесь, предназначена исключительно для образовательных целей. Ни автор, ни команда OSTechNix не несут ответственности за любой ущерб, нанесенный целевым сайтам, например, за злоупотребление пропускной способностью или загрузку защищенного авторским правом и незаконного контента.
Введение
Wayback Machine Интернет-архива (IAWM) — крупнейший и старейший общедоступный веб-архив.
На момент написания этой статьи Internet Archive Wayback Machine (archive.org) захватил более 778 миллиардов веб-страниц и сохранил примерно петабайты данных.
Большинство пользователей приходят на Archive.org, потому что не находят запрошенные страницы в сети. Около 65 % запрошенных заархивированных страниц больше не существуют в сети. Благодаря Archive.org мы по-прежнему можем получать доступ к старым и несуществующим веб-сайтам и просматривать их.
Хотя archive.org вполне способен сохранить множество веб-ресурсов, некоторые из них вы, возможно, захотите разместить на своем сервере. Здесь на помощь приходит ArchiveBox.
Что такое ArchiveBox?
ArchiveBox — это бесплатное и мощное решение для архивирования в Интернете с открытым исходным кодом, позволяющее собирать, сохранять ваши любимые веб-сайты и просматривать или читать их в автономном режиме.
Вы можете передать ему один URL-адрес или запланировать импорт из закладок вашего браузера, истории браузера, обычного текста, HTML, уценки, таких каналов, как RSS, служб закладок, таких как Pocket/Pinboard, и многого другого!
ArchiveBox сохраняет снимки заданных URL-адресов в нескольких выходных форматах, таких как HTML, JSON, PDF, скриншоты PNG, WARC и других!
По умолчанию ArchiveBox сохраняет все захваченные страницы на archive.org для обеспечения избыточности, однако вы можете отключить его, если вам нужен режим локального кэширования.
ArchiveBox доступен в виде инструмента командной строки, веб-приложения и настольного приложения. Он кроссплатформенный и поддерживает GNU/Linux, macOS и Windows. ArchiveBox написан на Python, а исходный код доступен на GitHub.
Установите ArchiveBox в Linux
ArchiveBox можно установить несколькими способами. Мы можем установить ArchiveBox с помощью Docker, Docker-compose и сценария автоматической установки.
Прежде всего убедитесь, что вы установили Docker и Docker-compose, как показано в любой из следующих ссылок.
- Установить Docker Engine и Docker Compose в AlmaLinux, CentOS, Rocky Linux
- Как установить Docker Engine и Docker Compose в Ubuntu 22.04 LTS
- Настройка Docker и Docker Compose с помощью DockSTARTer
Установите ArchiveBox с помощью Docker-compose.
Официально рекомендуемый способ установки ArchiveBox — использовать Docker-compose.
После установки Docker-compose создайте каталог для ArchiveBox и загрузите в него файл docker-compose.yml
:
mkdir ~/archivebox && cd ~/archivebox
curl -O 'https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/docker-compose.yml'
Запустите первоначальную настройку и создайте пользователя-администратора, выполнив следующую команду:
docker-compose run archivebox init --setup
Наконец, запустите сервер ArchiveBox с помощью команды:
docker-compose up
Теперь вы можете войти в панель администратора веб-интерфейса ArchiveBox по URL-адресу http://127.0.0.1:8000.
Вход в веб-интерфейс совершенно необязателен. Вы также можете сделать все из командной строки.
Установите ArchiveBox с помощью Docker
После установки Docker создайте каталог для ArchiveBox и загрузите в него файл docker-compose.yml
:
mkdir ~/archivebox && cd ~/archivebox
docker run -v $PWD:/data -it archivebox/archivebox init --setup
Запустите первоначальную настройку и создайте пользователя-администратора, выполнив следующую команду:
docker-compose run archivebox init --setup
Наконец, запустите экземпляр ArchiveBox Docker с помощью команды:
docker run -v $PWD:/data -p 8000:8000 archivebox/archivebox
Теперь вы можете войти в панель администратора веб-интерфейса ArchiveBox по URL-адресу http://127.0.0.1:8000.
Вход в веб-интерфейс совершенно необязателен. Вы также можете сделать все из командной строки.
Установите ArchiveBox с помощью сценария автоматической установки.
Сначала установите Docker. Это необязательно, но рекомендуется.
Запустите сценарий автоматической настройки с помощью команды:
curl -sSL 'https://get.archivebox.io' | sh
Это автоматически добавит репозиторий ArchiveBox и установит ArchiveBox со всеми необходимыми зависимостями.
ArchiveBox будет установлен в каталог с именем «archivebox» в вашем текущем рабочем каталоге.
Перейдите в каталог archivebox и инициализируйте его с помощью команд:
cd ~/archivebox
archivebox init --setup
Вам будет предложено создать нового пользователя-администратора для веб-интерфейса.
[...]
[+] Creating new admin user for the Web UI...
Username (leave blank to use 'ostechnix'):
Email address:
Password:
Password (again):
This password is too short. It must contain at least 8 characters.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
[...]
Инициализировать ArchiveBox
Наконец, запустите сервер ArchiveBox с помощью команды:
archivebox server 0.0.0.0:8000
Установите ArchiveBox с помощью PiP
Установите Python версии 3.7 или новейшую и Node версии 14 или новее, как показано по ссылкам ниже.
- Как управлять пакетами Python с помощью PIP
- Как установить NodeJS в Linux
Установите ArchiveBox с помощью pip3:
pip3 install archivebox
Создайте каталог для ArchiveBox и инициализируйте его с помощью команд:
mkdir ~/archivebox && cd ~/archivebox
archivebox init --setup
Наконец, запустите сервер ArchiveBox с помощью команды:
archivebox server 0.0.0.0:8000
Теперь вы можете получить доступ к веб-интерфейсу ArchiveBox по URL-адресу http://127.0.0.1:8000.
Установите ArchiveBox из репозитория Apt.
Docker и Docker-compose не требуются, если вы решили установить ArchiveBox из репозитория.
Сначала добавьте репозиторий ArchiveBox.
В Убунту 20.04:
sudo apt install software-properties-common
sudo add-apt-repository -u ppa:archivebox/archivebox
В Ubuntu 22/10 и последних версиях, Ubuntu 19.10 и более ранних версиях и других системах на базе Debian:
echo "deb http://ppa.launchpad.net/archivebox/archivebox/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/archivebox.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C258F79DCC02E369
sudo apt update
После добавления соответствующего репозитория установите ArchiveBox в системах на базе Ubuntu и Debian, используя команду:
sudo apt install archivebox
Apt предоставляет только сломанную старую версию Django, поэтому нам также необходимо установить ArchiveBox с помощью менеджера пакетов PiP.
sudo python3 -m pip install --upgrade --ignore-installed archivebox
Создайте каталог для ArchiveBox и инициализируйте его:
mkdir ~/archivebox && cd ~/archivebox
archivebox init --setup
Наконец, запустите сервер ArchiveBox с помощью команды:
archivebox server 0.0.0.0:8000
Теперь вы можете получить доступ к веб-интерфейсу ArchiveBox по URL-адресу http://127.0.0.1:8000.
Чтобы просмотреть версию ArchiveBox, запустите:
archivebox --version
Чтобы просмотреть раздел справки ArchiveBox, запустите:
archivebox help
Как архивировать веб-сайты с помощью ArchiveBox?
ArchiveBox можно использовать для архивирования URL-адресов либо из командной строки, либо через веб-интерфейс.
Чтобы заархивировать один URL-адрес из командной строки, просто передайте его в качестве аргумента, как показано ниже:
archivebox add https://example.com/some/page
Или,
echo https://example.com/some/page | archivebox add
Пример:
archivebox add https://github.com/ArchiveBox/ArchiveBox
Архивируйте сайты с помощью ArchiveBox
Чтобы заархивировать список URL-адресов из текстового файла, запустите:
archivebox add < archive_urls.txt
Или,
cat archive_urls.txt.txt | archivebox add
Или,
archivebox add ~/Downloads/browser_bookmarks.html
Или,
archivebox add ~/Downloads/pinboard_bookmarks.json
Или,
curl https://getpocket.com/users/USERNAME/feed/all | archivebox add
Вы также можете добавить --length=1
к любой из приведенных выше команд, чтобы рекурсивно загружать URL-адреса и все URL-адреса на расстоянии одного шага.
archivebox add --depth=1 < ~/Downloads/bookmarks_export.html
Распечатать статистику сбора архива
После архивирования URL-адресов вы можете просмотреть информацию и статистику о коллекции архива с помощью команды:
archivebox status
Эта команда просканирует каталоги архивных данных и отобразит индексированные ссылки, индексированные ссылки, которые заархивированы или разархивированы, а также каталоги, существующие в папке архива.
Распечатать статистику сбора архива
Вы также можете перечислить каталоги данных ссылок по статусу (например, проиндексированы, повреждены, заархивированы и т. д.), используя эту команду:
archivebox list --status= <status>
Например, чтобы просмотреть все каталоги архивных данных, выполните:
archivebox list --status=archived
Пример вывода:
[i] [2023-01-05 12:11:06] ArchiveBox v0.6.2: archivebox list --status=archived
> /home/ostechnix/archivebox
/home/ostechnix/archivebox/archive/1672909053.266666 https://github.com/ArchiveBox/ArchiveBox "GitHub - ArchiveBox/ArchiveBox: ? Open source self-hosted web archiving. Takes URLs/browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more..."
Как вы видите в приведенном выше выводе, я заархивировал сам репозиторий ArchiveBox GitHub.
Вы можете дополнительно просмотреть загруженное содержимое этой папки архива с помощью команды ls
:
ls /home/ostechnix/archivebox/archive/1672909053.266666/
avatars.githubusercontent.com git headers.json media readability
camo.githubusercontent.com github.com index.html mercury user-images.githubusercontent.com
favicon.ico github.githubassets.com index.json raw.githubusercontent.com warc
Сохранить архивы в новом каталоге
Как упоминалось выше в шагах установки, мы храним архивы в каталоге ~/archivebox
. Вы также можете создать новый каталог в другом месте и инициализировать его для хранения архивных коллекций.
mkdir my_new_archive; cd my_new_archive/
archivebox init
Теперь начните архивировать URL-адреса, как описано в предыдущем разделе.
Таким образом, вы можете создавать разные коллекции архивов и хранить их в разных каталогах.
Доступ к веб-интерфейсу ArchiveBox
Чтобы получить доступ к веб-интерфейсу администратора ArchiveBox, сначала запустите сервер ArchiveBox, используя следующую команду:
archivebox server 0.0.0.0:8000
Теперь вы можете получить доступ к веб-интерфейсу ArchiveBox по URL-адресу http://127.0.0.1:8000 или http://IP-адрес:8000.
Доступ к веб-интерфейсу ArchiveBox
Как видите, я заархивировал сам официальный репозиторий ArchiveBox на GitHub. Просто нажмите на архив, чтобы открыть его.
Вы увидите, что архив сохраняется в разных выходных форматах. Просто нажмите на любой выходной формат, чтобы открыть соответствующий файл. Я щелкнул ссылку Wget > HTML, и ArchiveBox отобразил заархивированное содержимое в том же окне. Вы также можете открыть его в новой вкладке или окне браузера.
Открыть архив
Теперь вы можете прочитать URL-адрес в автономном режиме. Этот архив останется сохраненным в вашей локальной системе, пока вы его не удалите.
Чтобы остановить сервер ArchiveBox, вернитесь в окно терминала, в котором вы его запустили, и нажмите CTRL+C.
Добавить новый архив
Нажмите кнопку ВОЙТИ в веб-интерфейсе. Войдите в систему, используя имя пользователя и пароль, которые вы создали при инициализации ArchiveBox на предыдущих шагах. Обратитесь к разделу установки, чтобы узнать, как инициализировать ArchiveBox.
Войдите в веб-интерфейс ArchiveBox
Внимание! Обратите внимание, что пользователь-администратор создается при инициализации ArchiveBox. Если по какой-либо причине он не создан, перейдите в папку архива, а затем запустите эту команду, чтобы создать пользователя-администратора и установить для него пароль.
archivebox manage createsuperuser
Нажмите кнопку ДОБАВИТЬ и введите URL-адреса, которые нужно заархивировать, один за другим. Выберите формат URL-адресов, глубину архива (например, 0 или 1) и нажмите кнопку Добавить URL-адреса и архив.
Теперь начнется процесс архивирования.
Архивирование веб-сайтов через ArchiveBox WebUI
Вы можете безопасно покинуть или закрыть эту страницу, поскольку процесс архивирования будет продолжаться в фоновом режиме.
После того как URL-адрес заархивирован, перейдите к СНИМКАМ, чтобы просмотреть список заархивированных страниц.
Просмотр снимков архива в ArchiveBox WebUI
Заключение
ArchiveBox — это идеальное и многообещающее решение для самостоятельного размещения вашего личного Интернет-архива для сохранения веб-страниц до того, как они будут отредактированы или полностью удалены.
Я прошу пользователей использовать эту услугу честно и законно. Пожалуйста, не используйте это для злоупотребления пропускной способностью, очистки сайтов конкурентов или загрузки защищенного авторским правом и незаконного контента.
Ресурсы:
- Веб-сайт ArchiveBox
- Репозиторий ArchiveBox GtiHub