В связи с тем, что администрация одного известного ресурса, имя которого на Фантлабе обычно не упоминают всуе, решила, видимо, подготовить юзеров к грядущему усилению цензуры в этих ваших российских интернетах, даже такой ленивый человек, как я, решил освоить сеть I2P, чтобы получить доступ к недоступному через обычный интернет контенту. Данная статья рассматривает довольно специфический случай и навряд ли кому пригодится в практическом смысле на Фантлабе, но во всём Интернете может найтись три с половиной заинтересованных анонимуса. Те же, кого просто заинтересует сабж, думаю, легко найдут в Интернете руководства для своей операционной системы.
Disclaimer: автор нижеследующей информации не призывает никого применять её для нарушения законодательства того или иного государства, не пропагандирует таким образом незаконный обмен защищённых авторским правом произведений или материалов, хранение и распространение которых подпадает под уголовный кодекс вашей страны.
Введение
Немного теории. I2P — это такая сеть-надстройка над обычным интернетом, которая позволяет обходить интернет-цензуру и сохранять приватность пользователя. Достигается это благодаря децентрализации сети I2P и повсеместном шифровании данных в ней. Обычно вместе с этой технологией вспоминают Tor — ещё одна довольно известная технология анонимизации и обхода блокировок в Сети, однако сегодня речь пойдёт не о ней. Данная сеть существует как бы параллельно к интернету и доступные в ней сайты имеют адреса, заканчивающиеся псевдо-доменом .i2p, например, echelon.i2p, такой адрес не будет доступен через обычный интернет. Однако, установив специальное ПО, любой пользователь интернета может получить доступ к сети I2P.
Итак, исходные данные: широкополосный прямой доступ в интернет, Xubuntu 12.04 LTS 64bit и Google Chrome 27. Сложнее всего тут будет разобраться с последним, т.к. из-за странной политики разработчиков хромобраузера он не имеет штатного средства настройки прокси-серверов, опираясь обычно на общесистемный инструмент, а среда Xfce в Xubuntu таким инструментом не обладает.
Установка, настройка и первый тест I2P
Открываем любимый терминал и устанавливаем пакет i2p:
цитата
sudo apt-add-repository ppa:i2p-maintainers/i2p
sudo apt-get update
sudo apt-get install i2p
После успешной установки запускаем программный I2P-роутер:
цитата
i2prouter start
Должно автоматически появиться окно консоли управления I2P в браузере:
Отсюда можно будет перейти к настройкам сервиса, например, настроить скорость соединения:
Настроек там достаточно, но для начала можно ничего здесь не трогать. Единственное, что не помешало бы сразу добавить в настройки, так это дополнительные подписки, чтобы система знала побольше i2p-адресов. Нужно перейти по адресу localhost:7657/susidns/subscriptions и добавить в текстовое поле такие строки:
Соединение с I2P может реально настраиваться несколько минут, так что следует подождать, и чтобы не терять времени зря, создадим пока файл конфигурации прокси-сервера, чтобы браузер знал, что адрес вида *.i2p нужно обрабатывать через локальный прокси сервиса I2P. Создадим новый файл proxy.pac, например, в своей домашней директории, и вставим туда следующее содержимое:
цитата
function FindProxyForURL(url, host) {
if (dnsDomainIs(host, ".i2p")) {
return "PROXY 127.0.0.1:4444";
} else {
return "DIRECT";
}
}
Далее запускаем Firefox, идём в Настройки -> Дополнительные -> Сеть -> Параметры соединения и указываем там путь к своему файлу proxy.pac:
Сохраняем, перезапускаем фуррифокс и пробуем ввести какой-либо I2P-адрес, например, русскоязычную I2P-wiki:
Если же сразу не получилось и вместо заветной страницы появилось предупреждение о невозможности перейти по адресу, не отчаивайтесь: возможно ваш компьютер ещё не успел интегрироваться в сеть после запуска роутера, или почитайте внимательно, что написано в сообщении об ошибке, система I2P вполне может помочь вам встать на путь истинный к нужной странице.
Приручение I2P в Google Chrome
С фуррифоксом разобрались, к I2P подключены, но ведь по условию задачи нам нужно использовать именно Google Chrome. Как же настроить там прокси для нашей тайной сети? А здесь снова пригодится наш proxy.pac. Оказывается, гуглохрому можно указать путь к нему через параметр запуска --proxy-pac-url. Этот параметр можно приписать, например, в файле /usr/share/applications/google-chrome.desktop (или в параметре кнопки запуска, или в команде, повешенной на комбинацию клавиш — кому как нужно запускать гуглохром). В данном файле найти строку:
где вместо home/gbv/proxy.pac указываете свой путь к файлу. После запускаем гуглохром через меню приложений и вводим нужный I2P-адрес:
Теперь и здесь всё работает. В принципе, для обеспечения анонимности нужно было бы завести отдельный браузер на отдельной виртуальной машине на отдельном зашифрованном разделе и оттуда использовать только I2P, но в нашем случае нужно было лишь получить доступ к I2P-филиалу одного сайта, поэтому излишне заморачиваться здесь не нужно было.