Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

i2pd 3.0: Первый мажорный релиз за 11 лет

Дата публикации: 23-10-2026 17:01:20

Прошлый мажорный релиз i2pd с номером 2.1 состоялся в далёком 2015 году. Развитие i2pd дошло до релиза 2.61. Спустя почти 11 лет вдруг вышла 3.0. Развитие i2pd активно продолжалось всё это время, но чем примечателен последний релиз?Заходите и узнатете про фиксы критических уязвимостей, новый клиент под Android и что-то новое про торренты в I2P. Давайте разбираться

Основное содержимое страницы с новостью.

Уровень сложностиПростой

Время на прочтение6 мин

Охват и читатели5.3K

Обзор

I2P — одна из самых популярных скрытых сетей. В отличие от TOR, разработка I2P децентрализована — две разные группы людей создают протокол и его реализацию на разных языках (Java и C++). Сообщество I2P не имеет юридического лица и строгой иерархии, в нём нет постоянного источника финансирования, а вот продукт и десятки тысяч активных узлов — есть. Настоящий онлайн‑андеграунд.

http://i2pgeo.i2p/downloads/i2pmap-global-EU-dark.pdf

http://i2pgeo.i2p/downloads/i2pmap‑global‑EU‑dark.pdf

Прошлый мажорный релиз i2pd с номером 2.1 состоялся в 2015 году. Недавно развитие i2pd дошло до релиза 2.61. Почему 11 лет спустя в октябре 2026 вышел не очередной 2.62, а новый мажорный 3.0? Может быть, потому что 11 в двоичной системе — это 3? Давайте разбираться.

http://major.i2p/ilita/dev/2026/10/02#msg60

http://major.i2p/ilita/dev/2026/10/02#msg60

Торренты

Обмен файлами — одна из основных потребностей человека в сети. Вне коммерческого поля жил и живёт обмен файлами через BitTorrent, главная проблема которого в утечке IP‑адреса. I2P как peer‑to‑peer сеть отлично подходит для торрентов, а как инструмент анонимности закрывает их единственную архитектурную проблему.

Теперь в i2pd есть встроенный клиент BitTorrent! Начиная с i2pd 3.0.0 вы можете скачивать и раздавать торренты в I2P без дополнительного ПО и на высокой скорости. Если тема анонимного файлообмена интересна, рекомендую после этой статьи заглянуть в BitTorrent over I2P.

Торрент‑клиент в i2pd — не отдельное окно веб‑интерфейса, а новый тип туннеля. Его конфигурация описана в документации. Вся логика работы с торрентами реализована на уровне ядра приложения без дополнительных прослоек API между туннелем и стримами с датаграммами, что радикальным образом сказалось на производительности. Помимо общей конфигурации туннеля (длина и прочее), в торрент‑туннеле настраивается Transmission‑подобный JSON RPC для управления. Минимальный конфиг всего 4 строки, прочие значения по умолчанию можно не трогать.

Минимальный конфиг

Минимальный конфиг

На скриншоте порт RPC указан 7071. Подойдёт любой свободный порт. После создания в веб‑интерфейсе i2pd появится новый туннель с ссылкой на веб‑интерфейс торрент‑клиента.

597b2abc6940f1119b119ff2721fb7b6.png

Клик открывает интерфейс на порту RPC, в моем случае это 7071.

Интерфейс торрент-клиента i2pd по умолчанию

Интерфейс торрент‑клиента i2pd по умолчанию

Дизайн встроенного интерфейса очень аскетичен. Но веб‑файлы не вшиты в бинарник, а лежат отдельно по пути <data-dir>/torrents/web/, поэтому сделать красоту на свой вкус не составит труда. Интерфейс позволяет добавить торрент файлом, либо по magnet‑ссылке.

В документации i2pd есть ссылка на TrguiNG, который позволяет подключиться к торрент‑клиенту i2pd. Он выглядит симпатичнее (но на мой взгляд смысла в нем нет).

TrguiNG

TrguiNG

При подключении внешних приложений к JSON RPC, нужно указывать тот же адрес, что видите в браузере, но окончание /web менять на /rpc.

efbdff2a06f910ae1dbdca400df42420.png

Пиковая наблюдаемая скорость случайной раздачи достигала 6 МБ/сек. При этом потребление ресурсов (особенно ОЗУ!) при тесте удивляет — на бытовом ПК практически не ощутимо.

Нагрузка на ОС при активном скачивании двух раздач

Нагрузка на ОС при активном скачивании двух раздач

Кажется, пора снова задуматься про домашний медиацентр и сидбокс на базе Raspberry Pi и внешнего диска.

В I2P работает немало публичных торрент‑трекеров, но особое место среди них занимает Postman's Tracker (http://tracker2.postman.i2p), который работает в формате форума и хранит онлайн с 2008 года.

c5fc7f8e4da2e3e15b7d835b0d8834a5.pngДыры

Современный пользователь уже наслышан про огромное количество найденных уязвимостей в каждом утюге, холодильнике и операционной системе. За месяц благодаря ИИ находят и исправляют дыр больше, чем раньше находили за 10 лет. Этот качественный скачок коснулся и i2pd.

Категория уязвимости

Количество найденных проблем (примерно)

Атака на роутер. Способ вывести из строя рандомный узел или шатнуть всю сеть.

Гарантированное падение, достижимое снаружи отправкой нескольких пакетов

4 (9 исправляющих коммитов)

Обход проверки, нарушение логики

4 (4 исправляющих коммита)

Расход памяти и процессора

2 (5 исправляющих коммитов)

Атака на конечный адрес. Возможность атаковать роутер, который обслуживает конкретный внутрисетевой адрес *.b32.i2p.

Гарантированное падение, достижимое снаружи отправкой нескольких пакетов

2 (3 исправляющих коммита)

Обход проверки, нарушение логики

5 (8 исправляющих коммитов)

Приятно, что в этом марафоне критичных и не очень дыр нет ничего, что деанонимизировало бы участника сети. Однако если у вас где‑то крутится i2pd, обновление на 3.0.0 — это не вопрос про фичи, а мажорная необходимость для стабильности роутера.

Любопытный факт: I2P регулярно сталкивался с атаками на сеть, которые заметно снижали её стабильность, а иногда прямо приводили к проблемам в работе ПО. Это было и 2 года назад, и 5. То есть до того, как мир публично познакомился с балалайками на GPU, которые находят проблемы там, где у человека физически не получается, потому что вытекают глаза и плавится мозг. Раньше справлялись по факту: в сети появилась аномалия, изучили, пофиксили. Теперь поиск проблем во многом становится превентивным.

Абсолютно новый Android‑клиент

Если вы пробовали пользоваться i2pd на Android до версии 3.0.0, вы помните эту боль: всё через конфигурационные файлы на диске. При этом из коробки на Android нет текстового редактора, через который можно было бы изменять конфиги. В общем, чтобы пользоваться i2pd на смартфоне, надо было по‑настоящему это хотеть.

Теперь у i2pd понятный интерфейс, встроенный конструктор туннелей и редактор конфигов.

i2pd 3.0.0. Android

i2pd 3.0.0. Android

i2pd на Android это то же ядро на C++ с обвязкой на Java, а не самостоятельное приложение. Что из этого следует? Тут тоже появились торренты.

i2pd 3.0.0. Android (torrents)

i2pd 3.0.0. Android (torrents)

Открываете меню «Туннели», жмёте «Добавить туннель» и выбираете тип «Torrents». Из обязательного только указать название туннеля, но также рекомендую выбрать директорию для загрузок. По умолчанию будет использовано приватное хранилище приложения, что не совсем удобно. Например, можно выбрать общие Загрузки или вовсе внешний диск.

Туннелей типа Torrents может быть несколько, для каждого задаются свои настройки (директория сохранения и прочее). Все торрент‑туннели отображаются на главной странице приложения (на скриншоте выше это раздел Services), откуда можно попасть во встроенный торрент‑клиент.

a439dbf0b1bffbcf876993d5e243f3d4.png

Если приложение плохо работает в фоне, убедитесь, что в настройках Android (Настройки — Приложения — i2pd — Батарея) выдано разрешение на неограниченную работу.

SAM 3.3

Simple Anonymous Messaging — это стандарт взаимодействия с I2P для сторонних приложений. Подробнее о механике можно узнать в статье либо погрузиться в чтиво документации. i2pd поддерживал SAM 3.3 не полностью, что теперь исправлено.

Суть нововведений в поддержке разных стилей подсессий в рамках одной сессии. Это позволяет поднять один внутрисетевой адрес и получать на него как стримы, так и датаграммы разных типов (DATAGRAM, включая их типы 1–3, и RAW). Через конфиг туннелей это было достижимо и раньше, теперь работает через SAM.

C++20 и boost

Произошёл отказ от C++17. Благодаря этому из кода уходят устаревшие подходы C++ в пользу более новых идиом языка, главная цель которых в безопасной работе с памятью и выразительности.

Добавлены новые зависимости boost::beast, boost::json и boost::url. Для полноценной сборки требуется boost 1.81, что делает невозможным нативную сборку в окружении Debian 12 и Ubuntu 22.04. На beast переписана адресная книга, необходимая для работы с короткими доменами в зоне .i2p. Библиотеки json и url не требуются, если собрать i2pd с флагом TORRENTS=no, то есть без поддержки торрентов, и сборка начинает проходить на устаревающих ОС, где уже есть C++20, но нет boost 1.81.


Идея переписать I2P‑роутер на Rust, Go или даже JavaScript существует десятилетие и давно стала нишевым мемом. Вполне вероятно, в эпоху ИИ мы увидим рабочие роутеры на чём‑то ещё, кроме C++ и Java. Но давайте помнить, что два существующих I2P‑роутера являются одним из ярчайших примеров встречи инженерной мысли с сетью, криптографией и откровенной шизой. Теперь напишите реализацию I2P хоть на Python — это будет тотальная ИИ‑генерация. Если нейрослопить, почему бы вместо создания однодневных пет‑проектов не уделить время уже существующим продуктам?

Сам ты легаси © C++

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Второй альфа-выпуск мессенджера Pidgin 30501-07-2026
2Multidirectory 3.1.0e: новые возможности для парольных политик, LDAP и администрирования0521-07-2026
3librats: Выпуск версии 2.0.x (библиотека для распределённых P2P-приложений). Так же релиз rats-search 2.1.7 и rasync012.0203-08-2026
4На портале 1С:ИТС опубликованы новые версии:3.0.206.2 "Садовод"3.0.206.2 "Садовод (базовая версия)"01018-09-2026
5Пользователям доступна новая версия СУБД Arenadata DB010.4104-08-2026
6SimpleOne выпустила версию ITSM 2.0.0 с ИИ-помощником на сервисном портале021.1927-07-2026
7SimpleOne выпустила версию ITSM 2.0.0 с ИИ-помощником на сервисном портале021.1927-07-2026
8Еще несколько «ласковых слов» о новом редакторе Habr ¯\_(ツ)_/¯07.2327-06-2026
9Про конструкторы сайтов с ИИ – что реально уже работает, а что только для пиара07.9405-06-2026

Классификация: Пресс-релизы. Схожих патентов: 0. Схожих новостей: 9. Тональность: 0. Информативность: 16.54. Источник: habr.com.