Настройка роутера для 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 ):
Если не используется java service wrapper (http://wrapper.tanukisoftware.com/) или не работает предыдущая команда, то запуск производится командой (не используйте sudo и не запускайте от root):
если же доступ к сети 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 не сразу начинает работать, нужно подождать, пока Ваш компьютер более-менее интегрируется в сеть (несколько минут или более).
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.
При запуске программы ничего не происходит, если запускать через терминал командой 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
Настраиваем отдельностоящий роутер i2p на базе Debian
I2P (айтупи, рус. «Проект Невидимый Интернет») — средство, позволяющее ежедневно водить копирастам, спецслужбам и прочим ***** *** по губам. Одно лишь упоминание этого чудо-средства заставляет их ***** кирпичами в количествах, достаточных для постройки новой дурки для РАО, RIAA & MPAA сотоварищи.
Представляет собой анонимную, самоорганизующуюся, распределённую и опенсорсную децентрализованную сеть. Конечно, за этими красивыми словами скрывается всего лишь связка туннелей, передающих данные через Интернет.
Давно присматривался к подобным системам. Вот решил попробовать и с этой целью настроил отдельностоящий роутер на базе Debian.
Почему отдельно стоящий? Причины две:
1. Постоянное присутствие роутера увеличивает доверие со стороны сети и соответственно дает больше скорости. Первоначальная загрузка роутера иногда занимает до 24 часов.
2. Помощь в развитии сети. Чем больше роутеров тем полнокровнее сеть.
$ apt-get update $ apt-get dist-upgrade
Ставим Java скачав необходимый пакет отсюда: https://jdk8.java.net/download.html
$ tar zxvf jdk-8-ea-bin-b111-linux-i586-10_oct_2013.tar.gz -C /usr/local/java $ export PATH=$PATH:/usr/local/java/bin
Для запуска при перезагрузке добавляем в /root/.bashrc:
PATH=$PATH:/usr/local/java/bin: export PATH JAVA_HOME=/usr/local/java export JAVA_HOME
$ cd ~ $ mkdir i2pbin $ cd i2pbin $ wget http://mirror.i2p2.de/i2pinstall_0.9.8.1.jar $ java i2pinstall_0.9.8.1.jar -console
Для включения роутинга в файле clients.config
clientApp.0.args=-s 7657 ::1,127.0.0.1 ./webapps/
clientApp.0.args=7657 0.0.0.0 ./webapps/
А за тем в файле i2ptunnel.config заменить в строках:
tunnel.0.interface=127.0.0.1\ tunnel.6.interface=127.0.0.1
Для автозапуска при рестарте сервера добавить в crontab:
#start /home/owlman/i2pbin 0 * * * * /home/owlman/i2pbin/runplain.sh @reboot /home/owlman/i2pbin/runplain.sh
Запустить роутер командой:
$ /home/owlman/i2pbin/runplain.sh
Cеть I2P не имеет привычных нам DNS-серверов. Но работать-то как-то надо!
Поэтому SusiDNS обращается к уже известным ресурсам для пополнения так называемой «Адресной книги».
Заходим в браузере на http://:7657/susidns/subscriptions и добавляем:
http://www.i2p2.i2p/hosts.txt http://i2host.i2p/cgi-bin/i2hostetag http://stats.i2p/cgi-bin/newhosts.txt http://tino.i2p/hosts.txt http://inr.i2p/export/alive-hosts.txt
P.S. Для выхода в защищенную сеть i2p также необходимо настроить браузер на клиентских машинах. Для этого в браузере надо настроить прокси сервер с адресом нашего роутера и портом 4444.
Пост на основе статьи из Хакер 10/2013 и ряда других источников в инете