Image
разбор

Как скачать интернет: инструкция по выживанию в автономном Рунете

Источник: Meduza

Мы говорим как есть не только про политику. Скачайте приложение.

Осенью 2019 года в силу должен вступить закон об автономном Рунете. Если он будет воплощен в жизнь, власти при желании смогут найти угрозу российскому сегменту интернета и (под предлогом защиты) полностью изолировать его от глобального. Россияне могут остаться без доступа к находящимся за рубежом сервисам и сайтам — никакие VPN уже не помогут. Но до тех пор можно успеть сохранить наиболее важные для вас веб-страницы и сайты — просто скачать про запас. Вот как это сделать.

Скачивайте отдельные страницы вручную

Проект Internet Archive (archive.org) разработал специальный формат WARC для архивирования веб-страниц и веб-сайтов. Он сейчас принят в качестве международного стандарта ISO 28500. Такие архивы представляют собой файлы с расширением .warc или .warc.gz, где в исходном или сжатом виде хранятся как сами данные (html-код, картинки, аудио, видео и так далее), так и метаданные (ссылки, даты архивирования, контрольные суммы и прочие). Каждый архив может хранить от одной веб-страницы до множества целых веб-сайтов. Соответственно, он может занимать и пару десятков килобайт, и сотни терабайт.

К сожалению, ни один современный браузер не умеет сохранять страницы в виде warc-архивов. Но в 2016 году появился сайт Webrecorder, который предоставляет, наверное, самый простой способ создания warc-архивов для обычного пользователя:

  1. Вводите в специальное поле ссылку, которую вы хотите сохранить.
  2. Нажимаете кнопку и ждете, пока страница целиком загрузится.
  3. Если на странице есть встроенные аудио- или видеоролики, запускаете их.

Повторите эту процедуру для других ссылок, которые вы собираетесь скачать. Затем перейдите в менеджер сохраненных страниц (коллекций) и через выпадающее меню загрузите эту коллекцию. В итоге вы получите warc-файл со всеми страницами, которые открывали на сайте Webrecorder.

Тут был медиа-файл! Чтобы посмотреть его, идите по этой ссылке.

Либо сразу целые сайты

Существуют программы, которые умеют сохранять в виде warc-архивов целые сайты. Они работают как поисковые роботы: открывают главную страницу, ищут на ней ссылки и последовательно переходят по ним. Некоторые из таких программ (wget) хорошо работают только со старыми сайтами со статичными html-страницами, другие (wpull, grab-site, brozzler) способны обрабатывать динамичные страницы и скачивать встроенные медиафайлы.

Вот минимальный набор опций, с помощью которых можно попытаться скачать сайт с помощью команды wget:

wget --mirror --warc-file=FILENAME http://www.example.com

FILENAME нужно заменить на любое название файла — к нему при скачивании автоматически добавится расширение .warc.gz. Вместо http://www.example.com подставьте адрес сайта, который вы собираетесь сохранить.

Если вам не нужны голые html-страницы, скачайте сайт с изображениями, стилями и прочими дополнительными ресурсами. Для этого добавьте опцию --page-requisites:

wget --mirror --warc-file=FILENAME --page-requisites http://www.example.com

Можно проигнорировать запрет разработчиков на индексацию определенных разделов сайта. Для этого нужно использовать опцию --execute robots=off:

wget --mirror --warc-file=FILENAME --page-requisites --execute robots=off http://www.example.com

Подробную инструкцию по другим полезным опциям wget, которые можно использовать при архивировании сайтов, читайте здесь.

Сохраняйте сайты автоматически, пока ходите по ним

Для этого вам надо сначала установить специальный прокси-сервер warcprox. А затем поменять настройки браузера или операционной системы, чтобы пропустить через него весь трафик своего браузера. Прокси будет отлавливать веб-страницы и сохранять их в warc-файл на вашем компьютере. Теоретически это очень удобно — у вас остается копия всех страниц, которые вы посетили. Можно не бояться, что некоторые из них могут внезапно исчезнуть (или будут заблокированы). Но на практике постоянно использовать этот прокси может быть неудобно и даже небезопасно.

Этот прокси умеет сохранять обычный и зашифрованный веб-трафик. Во втором случае, когда ему приходится иметь дело с протоколом HTTPS, он подменяет сертификаты сайта. Фактически прокси организует атаку «человек посередине» (man-in-the-middle), потому что иначе ему не справиться с шифрованием. Из-за этого современные браузеры будут предупреждать вас о небезопасном соединении. Вы сможете игнорировать такие предупреждения. Но некоторые сайты, например meduza.io, для защиты от mitm-атак используют механизм HSTS (HTTP Strict Transport Security). В таких случаях проигнорировать предупреждение браузера и загрузить страницу без специальных ухищрений не получится. В случае необходимости можно установить браузер, который не поддерживает HSTS (например, старые версии Chrome или Firefox).

Осторожно! С warcprox вы не можете контролировать безопасность соединений с сайтами, использующими протокол HTTPS.

Создавайте архив из списка сайтов, которые вы посетили ранее

Для этого существует, например, программа ArchiveBox, которую нужно запускать через командную строку. Откройте журнал посещений или менеджер закладок в вашем браузере и через экспорт сохраните ссылки в виде html-страницы. Откройте терминал, запустите программу и «скормите» ей этот html-файл:

./archive bookmarks.html

ArchiveBox умеет сохранять ссылки не только в виде warc-архивов, но в других форматах: html-страницах, pdf-файлах и png-скриншотах.

Чтобы посмотреть сохраненное, установите плеер

Например, программу Webrecorder Player. С ее помощью можно открыть warc-файл, найти внутри нужную страницу (по ссылке или дате) и посмотреть ее.

Тут был медиа-файл, который доступен в полной версии материала. Посмотреть ее можно по этой ссылке.

А если интернет не отключат? Что мне делать с этими архивами?

Вы можете поделиться ими со всем миром. Будет особенно здорово, если вам удалось сохранить сайт, который уже успел бесследно исчезнуть. Передайте ваш архив волонтерам из проекта Archive Team:

  1. Зарегистрируйтесь на сайте archive.org и загрузите туда свой warc-архив (вручную или через специальное API).
  2. Пометьте архив ключевым словом archiveteam.
  3. Сообщите о нем участникам проекта по электронной почте или через IRC-чат.

Через некоторое время сохраненный вами сайт может оказаться в Wayback Machine — знаменитом архиве Всемирной паутины.

Денис Дмитриев

  • (1) WARC

    Этот акроним расшифровывается буквально как «веб-архив» — Web ARChive.

  • (2) Как установить warcprox

    Нужно открыть терминал. Проверить, установлен ли в операционной системе язык программирования Python (нужна версия не меньше 3.4). И с помощью специальной системы управления пакетами в Python установить прокси сервер: pip install warcprox.

  • (3) Как установить ArchiveBox

    Пользователям macOS и Linux достаточно скачать программу, открыть терминал и запустить автоматическую установку зависимостей (либо поставить их вручную). Пользователям Windows придется сперва установить специальный слой совместимости с Linux-программами — Windows Subsystem for Linux.