Рассматривается принцип работы и строение сети I2P или Invisible internet project как он назывался ранее.
На чём работает?
Проект кроссплатформенный - требуется Жаба(Sun Java 1.5 or higher, or equivalent JRE. (Sun Java 1.6 recommended) ), есть exe-шники под Win и sh-скрипты под никсы.
Понравилась фраза на офсайте - "This will work on windows. linux, and mac (yes really). "
Как сделано?
Сеть построена на основе самоорганизующейся распределенной Network database
Причем сама Network database ничто иное как немного модифицированная DHT сеть которая нам знакома по битторренту
Только если в торренте DHT хранит хэши, названия торрентов (в uTorrent), и IP адреса пиров, то тут Network database хранит в себе хэшированные адреса узлов сети, зашифрованные AES IP адреса а так же RATIO клиента (соотношения отданного в сети скачанному), а так же публичные ключи шифрования, причем соединения по Network database тоже зашифровано.
Вы спросите зачем Network database если можно все хранить на 1 сервере и что бы клиенты скачивали все с него?
Все просто — если вдруг кто то захочет закрыть проект — надо будет убить 1 сервер, а тут что бы закрыть проект надо убить все узлы так как они по мере необходимости запрашивают информацию и обновляют между собой, строение Network database так же очень похоже на систему DNS, но там есть корневой сервер, тут — нет.
Как шифруется?
Поддерживается 4 вида шифрования :
Сквозное шифрование — Шифруется соединения между 2 пирами сети и между ними передается трафик, зачем оно нужно? ну например для P2P (Bittorrent) или при доступе к сайтам внутри сети .i2p (о них ниже)
Тоннельное шифрование — Шифрование аналогично 1 только трафик передается еще через 3 случайно выбранных узла причем пакеты делятся на 2 узла и склеиваются на 3, что делает сниферство пакетов между узлами 1 и 2 бесполезным.
Транспортное шифрование — Шифруется аналогично сети TOR, последний узел обеспечивает выход сети I2P в общий интернет
Выбирается случайных 5-3 узла и через них передается трафик в случайном порядке и последний узел обеспечивает доступ в общий интернет.
Также
"чесночное" шифрование, но уже вроде не поддерживается.
Где что взять?
Графическая инсталяха под Win - _http://mirror.i2p2.de/i2pinstall_0.7.4.exe
Тарболл без графического интерфейса (не для Win)

- _http://i2pheadless_0.7.4.tar.bz2/
Сорцы - _http://mirror.i2p2.de/i2psource_0.7.4.tar.bz2
Или гляньте все сами и выберите подходящее(тут же и инструкции по установке и использованию) - _http://www.i2p2.de/download.html
Установка
Для Win надо просто запусти установку и следовать инструкциям, в конце I2P сам запуститься
Для никсов надо запустить postinstall.sh и права, естественно, должны быть 777.
Так же если мы хотим что бы наш I2P запускался как сервис в Win идем в папку куда мы его установили и запускаем install_i2p_service_winnt.bat
Все установка закончена
Настройка
Для настройки перейдите по ссылке _http://127.0.0.1:7657/index.jsp и увидите это
Cлева есть кнопки выключения сервиса и перезапуск.
Так же тут _http://127.0.0.1:7657/config.jsp можно настроить лимит скорости который будет использовать I2P, но учтите, что чем большею скорость дадите вы, тем большую дадут вам, так как у каждого узла есть метка скорости которая передается внутри сети по Network Database.
Настройки для браузера
В браузере надо поставить прокси на HTTP и HTTPS:
IP: 127.0.0.1
Port: 4444
Если всё правильно...
... то вы должны будете увидеть работающий сайт _http://www.i2p2.i2p
По скольку тут нет системы DNS, а есть репы с адресами, то
предустановленный репозиторий находиться тут:
_http://www.i2p2.i2p/hosts.txt ,
а посмотреть что у вас добавлено можно тут:
_http://127.0.0.1:7657/susidns/addressbook.jsp?book=router&filter=none&begin=0&en d=99
Картинка более наглядно показывающий принцип работы внутреннего «DNS»
Также можно глянуть активность(графики) вашего узла здесь:
_http://127.0.0.1:7657/graphs.jsp
Думаю Privoxy не помешает еще

_https://sourceforge.net/projects/ijbswa/files/
Фича:
можно запретить доступ определенной IP сети к вам на узел, либо можно вообще выключить выход от вас в интернет тогда вы будите всегда как промежуточный узел, блокировать адреса нужно в файле blocklist.txt в папке с програмой.
Хотя если в файл вписать 0.0.0.0-255.255.255.255 то вас автоматически помечает как Transport
Убунт овцам подарок:
_https://help.ubuntu.com/community/I2P
Запрос на официальное создание раздела РУ.коммунити в контексте проекта:
_http://forum.i2p2.de/viewtopic.php?t=3642
И напоследок:
Надо думать, владельцы больших ботнетов смогут либо снифить весь трафик, обеспечивая много подставных узлов, либо останавливать работу сети полностью, либо подделывать пакеты.
Разница между I2P и обычным интернетом — маршрутизаторы интернета взламываются на порядки реже чем пользовательские машины, так что цепочку отправитель-получатель можно с хорошей вероятностью считать надёжной. При использовании же I2P в эту цепочку сравнительно легко вставить необходимое число посредников.
Например, можно блокировать передачу контента по ключевым словам. К примеру, хочется закрыть информацию по Цхинвали — весь трафик, содержащий слова «Цхинвали, Осетия» блокируется при передаче.
Вывод — эта сеть скорее для слежения за нежелательными элементами, а не для создания им условий для безопасного общения.
Ссылкосвалка по теме:
_http://habrahabr.ru/blogs/infosecurity/62306/ - оформил как тут и немного от себя.
_http://www.i2p2.de/ - сайт проекта
_http://en.wikipedia.org/wiki/I2p - ничего интересного, кроме настроек в торрентах
_http://www.i2p2.de/how_threatmodel - what do we mean by "anonymous"