I2P -- Анонимная сеть созданная в 2003 году немецкими разработчиками. В отличии от TORа не
заспамлена сайтами с дп. Встречается более адекватная публика, но это, похоже, временно.
Создавалась, в отличие от TOR, с целью полной анонимности ресурсов, и им это удалось.
Весь трафик идет шифрованными туннелями через таких же участников сети.
Сеть не имеет серверов имен (DNS), вся информация о сайтах (в форматах b32 и b64)
хранится в адресных книгах (.i2pd/addressbook/addresses.csv), обновляемых по типу torrent сети.

Purple i2pd -- подходящее средство для создания виртуальных частных сетей (предприятия/организации)
с небольшой нагрузкой поверх общей сети Интернет, написанное на c++. Не требует для своей работы создания
направленных туннелей между "офисами". Понятно, что внутреннюю безопасность приложений это не отменяет.

Домашняя страничка проекта https://github.com/PurpleI2P/i2pd, там же есть разделы wiki и issues, где можно почерпнуть
дополнительную информацию по параметрам и настройкам.

Имеются версии как под Linux/FreeBSD/MacOS, так и под Windows с версией 7 и выше.

Общая идеология работы: программа запускается и, как прокси, слушает локальные порты, указанные
в ее настройках. По-умолчанию http-прокси слушает на 127.0.0.1:4446.
Со стороны браузера, например, ставится плагин FoxyProxy_Standard, у которого создается
новая строка (Прокси->Добавить), в котором указывается шаблон с маской ^https?://.*\.i2p

Первый запуск и настройка

При первом запуске программа сама создает необходимые ей для работы файлы и директории.
$ ls -1 .i2pd/
 ./addressbook/
 ./netDb/
 ./peerProfiles/
i2p.conf  - файл конфигурации
i2pd.log  - лог файл
router.info - бинарный файл
router.keys - бинарный файл
subscriptions.txt - список опорных хостов
Параметры и настройки можно посмотреть в документации, и указать необходимое в файле конфигурации:
$ cat .i2pd/i2p.conf
#
daemon = 1
#
# В I2P есть понятие floodfill-ов, это такие узлы которые обладают достаточно полной информацией 
# о сети, и, кроме того, берут на себя обязательства сообщать всю новую информацию другим 
# floodfill-ам. Фактические это некие "справочники" сети, сообщающие любому желающему как 
# обратиться к тому или иному узлу. Обычные маршутизаторы занимаются только построением 
# тоннелей и пересылкой через них данных.
#
# floodfill=1
log = 1
loglevel = error
#
v6 = 0
unreachable = 1
bandwidth = L
#
При такой конфигурации программа запускается без ключей, уходит в бэкграунд и пишет сообщения в лог.
Запущенный демон i2pd занимает при своей работе одно процессорное ядро, и, при разрешении транзитных туннелей, потребляет сетевой трафик.

В домашней директории i2pd есть два конфигурационных файла. Если они еще не были созданы, надо создать их вручную.
  • subscriptions.txt -- файл подписок. В нем содержатся адреса, по которым i2pd будет синхронизировать (сверху вниз?) имеющийся у вас список сайтов с общесетевым. Содержимое файла:
    inr.i2p/export/alive-hosts.txt
    stats.i2p/cgi-bin/newhosts.txt
    i2p-projekt.i2p/hosts.txt
    i2host.i2p/cgi-bin/i2hostetag
    no.i2p/export/alive-hosts.txt
    rus.i2p/hosts.txt
    
  • tunnels.cfg -- файл тоннелей. I2PD представляет из себя виртуальный роутер, буквально, коробку, к которой можно подключиться через множество портов. Так мы можем настраивать наши программы и сервисы на компьютере на работу с программами и сервисами сети. Описание каждого тоннеля делается по одному и тому же шаблону:
    [IRC] -- это наше название, мы сами решаем, что тут будет написано.
    type= [client|server] -- этим мы сообщаем, будем ли мы подключаться к сервису внутри 
    сети или наоборот, сами являемся сервисом.
    port=666 -- имя порта, который будет "слушать" i2pd. Обратите внимание, что порты назначаются 
    вами же как и название, и могут быть какими-нибудь другими, вы можете попробовать их изменить.
    destination=irc.echelon.i2p -- имя сервиса, с которым мы собираемся взаимодействовать.
    keys=irc.dat -- имя файла с ключами, которые важны нам для доверительной работы с избранным 
    сервисом. Иногда вы можете использовать один и тот же файл ключей, к примеру, для работы с 
    почтовым сервисом postman.i2p.
    

  • Более подробное описание протоколов i2p и настроек по-русски:
    https://habrahabr.ru/post/205320/
    https://habrahabr.ru/post/275643/
    https://habrahabr.ru/post/275647/