I2P

I2P (Invisible Internet Project) — децентрализованная анонимная сеть. Как TOR, только лучше, т. к. не позволет деанонизировать пользователя даже в том случае, если часть промежуточных нод будет скомпрометирована. Децентрализованность обозначает, что работа I2P не зависит от каких-либо центральных узлов или «супернод» (например, отсутвуют DNS-серверы или их аналоги).

Как пользоваться

Прежде всего, следует выполнить установку пакета i2p

sudo apt-add-repository ppa:i2p-maintainers/i2p
sudo apt-get update
sudo apt-get install i2p

Затем необходимо произвести запуск программного роутера для подключения к сети I2P. Если планируется редкое использование данной сети, то запуск можно произвести командой в консоли (от имени Вашего пользователя, без sudo):

i2prouter start

Если не используется java service wrapper (http://wrapper.tanukisoftware.com/) или не работает предыдущая команда, то запуск производится командой (не используйте sudo и не запускайте от root):

i2prouter-nowrapper

если же доступ к сети I2P требуется постоянно, то, возможно, следует запускать I2P-роутер как демон. Для этого необходимо выполнить в консоли команду перенастройки пакета i2p:

sudo dpkg-reconfigure -plow i2p

которая отобразит текстовый интерфейс в консоли с возможностью выбора параметров, таких как разрешение запуска I2P-роутера как демона при старте системы, предел занимаемой памяти для I2P-роутера и др. По завершении перенастройки I2P-роутер будет запущен как системный демон.

Если I2P-роутер был запущен от имени пользователя, то через некоторое время в браузере по умолчанию откроется локальный адрес http://127.0.0.1:7657/home — «Консоль маршрутизатора I2P».

Теперь объясним системе (и браузеру в том числе), что на адреса вида example.i2p нужно ходить через прокси localhost:4444. Создаём новый proxy.pac текстовым редактором, вставляем туда:

function FindProxyForURL(url, host) {
    if (dnsDomainIs(host, ".i2p")) {
        return "PROXY 127.0.0.1:4444";
    } else {
        return "DIRECT";
    }
}

Сохраняем. Открываем «Параметры системы» → «Сеть» → «Прокси-сервер», в «URL автоматической настройки» указываем только что созданный файл. Всё.

Внимание! Описанный выше метод является не безопасным с точки зрения анонимности. Лучше выделить отдельный браузер, и в настройках прокси прописать только i2p. А также отключить доступ к обычным веб ресурсам - очистить поле «Список outproxy(x)» на странице http://localhost:7657/i2ptunnel/edit.jsp?tunnel=0

Стоит помнить, что из-за особенностей архитектуры сети I2P не сразу начинает работать, нужно подождать, пока Ваш компьютер более-менее интегрируется в сеть (несколько минут или более).

i2prouter управляется через web-интерфейс.
http://localhost:7657/config – настройки
http://localhost:7657/tunnels – туннели

I2P на выделенном сервере

Данная инструкция актуальна для домашнего сервера, находящегося в одной локальной сети с локальным компьютером. Для VPS/VDS требуется внести коррективы в данный мануал

Установка производится также, как и на локальный компьютер. После установки надо сделать туннель с порта 7657 на порт 7657 сервера.

ssh user@server -L7657:127.0.0.1:7657

Если в консоли появится приглашение шелла сервера, то Web-интерфейс I2P станет доступен по адресу localhost:7657

Далее разрешаем доступ к Web-интерфейсу с локального компьютера. Для этого заходим по адресу в консоли надо отредактировать конфиг командой

sudo nano /var/lib/i2p/i2p-config/clients.config

Там найти подобную строку

clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/

и привести её к такому виду

clientApp.0.args=7657 192.168.1.2 ./webapps/

Где 192.168.1.2 - IP вашего сервера. После требуется перезапустить I2P, подождать пока он запустится. Если все настройки выполнены корректно, web-интерфейс I2P на сервере станет доступен по адресу http://server-ip:7657/.

Proxy с любого IP

Заходим по адресу http://server-ip:7657/i2ptunnelmgr. Заходим в настройки I2P HTTP Proxy и в разделе «Точка доступа» параметр «Кому будет доступно» меняем на IP своего сервера. Тоже самое проделываем с I2P HTTPS Proxy. Внизу страницы нажимаем кнопку «Сохранить» и перезагружаем I2P.

Пока роутер загружается, можно настроить браузер. В целях безопасности лучше использовать отдельный браузер для доступа в сеть I2P. Например Abrowser/Icecat. В настройках выставляем прокси для HTTP - IP-сервера:4444, для HTTPS - IP-сервера:4445

Сайты

Сайты в I2P имеют псевдо-TLD «i2p», например, http://echelon.i2p. Сайтов пока немного, сеть используется в основном для файлообмена.

Если ваш браузер довольно часто не находит сайты, то необходимо увеличить список подписок. Для этого нужно зайти на главную страницу вашего роутера(консоль), затем в «Сервисы I2P» → «Адресная книга». Потом перейдите в раздел «Подписки» и добавляем туда все известные подписки:

  http://www.i2p2.i2p/hosts.txt
  http://inr.i2p/export/alive-hosts.txt
  http://dream.i2p/hosts.txt
  http://bl.i2p/hosts2.txt
  http://www.i2p2.i2p/hosts.txt
  http://trevorreznik.i2p/hosts.txt
  http://cipherspace.i2p/addressbook.txt
  http://stats.i2p/cgi-bin/newhosts.txt
  http://rus.i2p/hosts.txt
  http://tino.i2p/hosts.txt
  http://i2host.i2p/cgi-bin/i2hostetag

Информация о подписках взята с http://serverzona.ru/index.php/menu-i2p.html там же есть список полезных сайтов

На форуме есть топик со списком полезных сайтов.

Файлообмен

На сегодняшний день, обмен контентом разной степени легальности — основное применение I2P. Существует ряд специализированных программ для этого, например, Robert и iMule (версия aMule для I2P).

Установка iMule

Ставим зависимости (у меня потребовалась одна):

sudo apt-get install libcrypto++9

Скачиваем свежую версию iMule и устанавливаем её примерно так:

dpkg -i imule_2.3.2.0-precise-amd64.deb

Запускаем, на вкладке KAD в «Инициализация» - «From URL» указываем, например, http://echelon.i2p/imule/nodes.dat, жмём Enter. Ждём, когда скачается файл. После этого не забываем ещё подождать, и можно пользоваться.

Почему-то у меня программа не каждый раз подключается к KAD, помогает закрыть её и запустить снова.

Устранение неполадок

В этом разделе будут описаны возможные проблемы с запуском и работой iMule.

  1. При запуске программы ничего не происходит, если запускать через терминал командой imule, отображается следующая ошибка:
imule: error while loading shared libraries: libbfd-2.22-system.so: cannot open shared object file: No such file or directory

Исправляется созданием символьной ссылки на существующую в системе библиотеку, но под другим именем:

sudo ln -s /usr/lib/libbfd-2.22.90-system.20120924.so /usr/lib/libbfd-2.22-system.so

Ссылки