сеть I2P

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 16 июл 2023, 15:04

Когда-то, несколько лет тому, я уже смотрел на состояние дел с ещё одной мэш-сетью I2P...
Пришло время глянуть что там сейчас.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 16 июл 2023, 15:14

Olej писал(а):
16 июл 2023, 15:04
Пришло время глянуть что там сейчас.
Именно сейчас, по состоянию на середину 2023 г.

I2P
Эта страница в последний раз была отредактирована 9 июня 2023 в 17:50.
I2P (аббревиатура от англ. invisible internet project, IIP, I2P — проект «Невидимый интернет») — анонимная компьютерная сеть.
I2P — это анонимная самоорганизующаяся распределённая сеть, которая использует модифицированный DHT Kademlia, но отличается тем, что хранит в себе хешированные адреса узлов сети, зашифрованные AES IP-адреса, а также публичные ключи шифрования, причём соединения по network database тоже зашифрованы. Сеть предоставляет приложениям транспортный механизм для анонимной и защищённой пересылки сообщений друг другу.
Проект I2P был начат в 2003 году для поддержки тех, кто заинтересован в новом нецензурируемом, анонимном средстве общения и распространения информации. I2P — это попытка создать защищённую децентрализованную анонимную сеть с малым временем отклика и свойствами автономности, отказоустойчивости и масштабируемости. Конечной задачей является способность функционировать в жёстких условиях, даже под давлением организаций, обладающих значительными финансовыми или политическими ресурсами. Все аспекты сети доступны в виде исходного кода и бесплатны.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 16 июл 2023, 15:38

I2P. Что это такое и как им пользоваться
22 ноября 2012, 09:00 пп
... не очень :-(
Как работает I2P
I2P представляет собой защищенный протокол обмена данными, работающий поверх привычного протокола TCP/IP (на самом деле в первую очередь используется протокол UDP, а если его использовать не удается, то TCP). Первая его задача — сделать так, чтобы нельзя было бы вычислить IP-адрес сервера, на котором работает сайт. Вторая задача — избавиться от централизованного хранения доменных имен, в роли DNS-серверов выступают множество серверов. И третья задача — полностью шифровать пакеты данных при передаче их от пользователя к серверу и обратно, сделав бессмысленным перехват пакетов. Благодаря этому приложениям на стороне пользователя больше нет смысла заниматься шифрованием, оно уже реализовано протоколом I2P. По ходу дела решается еще одна задача — анонимизация. Используя I2P можно выходить в обычный интернет под чужими IP-адресами, таким образом обходя блокировки сайтов в отдельно взятой стране.
Принцип работы протокола I2P следующий. Пусть пользователю нужно обратиться к некоему серверу. Пока оставим в стороне вопрос о том, как пользователь нашел сервер, пока скажу только, что для идентификации не используются IP-адреса, вместо них используются сложные идентификаторы. Первое, что нужно сделать пользователю — это создать туннель от себя до сервера. Под туннелем понимается цепочка промежуточных серверов, через которые будут пересылаться пакеты от пользователя к конечному серверу. В качестве таких промежуточных серверов могут выступать (и, как правило, выступают) другие пользователи. Ничего не напоминает? Правильно, это похоже на работу Tor. Но в I2P есть кардинальное отличие.

Напомню, что Tor использует так называемый луковую маршрутизацию, когда каждое промежуточное звено снимает один слой шифрования, в результате последнее звено общается с конечным сервером открытым текстом, что является как потенциальной опасностью для пользователя, так и возможный источник проблем для конечного узла, если через него делают что-то противозаконное.

Протокол I2P работает по-другому, он использует чесночную маршрутизацию. В этом случае каждый пакет, который нужно передать (аналог — зубчик чеснока), шифруется, а затем упаковывается в большой пакет (чесночину), которая содержит еще несколько таких зубчиков-пакетов для передачи к разным узлам. Таким образом, когда пользователь получает чесночину, извлекает из нее зубчик-пакет, предназначенный для него самого, а остальные зубчики передает дальше. Так как все зубчики зашифрованы, то только тот, кому предназначен зубчик, знает, что с ним делать дальше. Промежуточные узлы не знают, что с тем или иным пакетом будет происходить дальше, на следующем узле, и является ли он конечным. Благодаря этому, используя только перехват и анализ пакетов очень трудно (хочется написать «невозможно», но будем осторожны) определить физическое расположение сервера, а сервер, в свою очередь, ничего не знает о пользователе, который к нему обращается.

Перехват осложняется еще и благодаря тому, что каждый пользователь меняет туннель (цепочка, по которой передаются данные) через определенный промежуток времени (по умолчанию 10 минут).
Теперь рассмотрим, как решается проблема с доменными именами. В I2P нет единых доменных регистраторов, каждый пользователь может самостоятельно зарегистрировать себе домен...
У каждого пользователя есть несколько файлов, в которых прописаны соответствия доменов адресам в сети I2P (не IP-адреса). Это так называемая адресная книга. Также у каждого пользователя есть список подписок — адреса серверов, с которых периодически происходит обновление адресов. Подписка — это просто текстовый файл, в котором перечислены адреса серверов, с которых загружаются ссылки на сервера по их именам. По умолчанию там содержится один сервер — http://www.i2p2.i2p/hosts.txt. С этих серверов адреса попадают в так называемую маршрутизаторную адресную книгу.
В завершение этого раздела надо сделать одно уточнение, чтобы вы не ждали от I2P слишком многого. Считается (справедливо), что это распределенная сеть. Однако, в первую очередь распределены адреса. Сайты все-равно работают на каком-то одном конкретном сервере (в отличие от распределенной сети BitTorrent, где распределено само содержимое файлов). Этот сервер можно закрыть, но его очень тяжело найти (узнать его IP). Также очень трудно идентифицировать пользователя, который работал в тот или иной момент с сервером. Еще раз повторю, что сервер тоже не знает, никаких IP-адресов пользователя, только его идентификатор в сети I2P, который периодически меняется. Но для надежности этот идентификатор пользователь не должен никому показывать (сам он его узнать может).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 16 июл 2023, 16:52

По поводу логики организации сети:
Общее введение в I2P
12 апр 2021 в 21:34
Общие принципы работы I2P

В сети I2P все пакеты зашифровываются на стороне отправителя и расшифровываются только на стороне получателя, при этом никто из промежуточных участников обмена не имеет возможности перехватить исходные данные. По этой причине нет необходимости беспокоиться о том, чтобы прикладные программы обеспечивали шифрование своего трафика. Например, сайту в I2P не нужно использовать TLS-шифрование, чтобы вводимые данные пользователя не были перехвачены, как это делается в обычном интернете, т.е. нет нужды использовать протокол HTTPS.

Также, никто из участников сети не знает, кто на самом деле отправитель и кто получатель, так как статус узла, от которого пришел пакет неизвестен, он может быть отправителем или промежуточным, а следующий, которому нужно этот пакет отправить, может являться получателем или таким же промежуточным узлом. Узнать конечные точки отправителя и получателя промежуточный узел никак не может, так же как не может узнать, что произошло с только что переданным следующему узлу пакетом: обработал ли тот его, или передал куда-то дальше.

В I2P используется концепция роутеров и конечных точек: Роутер — это обезличенный участник сети: ни клиент, ни сервер — просто ничем не отличающийся от других транзитный узел. Устанавливая прямое соединение между собой, роутеры видят реальные IP-адреса друг друга, но эта информация не говорит о чем-либо, кроме вероятного использования сети I2P абонентом на другом конце. Если злоумышленник решит выявить всех участников сети, он наткнется на различные погрешности вроде прокси-серверов, и в любом случае не будет иметь фактических данных о какой-либо внутрисетевой активности выявленных пользователей. Устанавливая клиент сети I2P на свое устройство, вы фактически устанавливаете I2P-роутер — обезличенное звено сети.
Конечная точка наоборот является осмысленной сущностью — либо сервером, либо клиентом, но ее реальное местоположение неизвестно. В качестве адресов конечных точек сети I2P используются идентификаторы, выведенные из открытого ключа подписи: хеш-сумма дает уникальную строку фиксированной длины, в конце которой для удобочитаемости подставляется псевдодоменная зона «.b32.i2p» — так получается привычный внутрисетевой адрес. Для использования человекочитаемых доменов в зоне «.i2p», например acetone.i2p, существуют бесплатные регистраторы, достаточно незамысловатые в использовании. Привязка домена происходит к полному адресу.
Изображение
Конечная точка создается администратором роутера, при этом роутер продолжает свою «серую» работу, никому не сообщая об адресах, размещающихся на нем. Роутер, получая информацию, которая предназначается для локального ресурса, не передает ее дальше, но никто из участников сети не может это узнать: роутер-получатель ведет себя также, как обычный транзитный узел.

Транзитные узлы являются частью цепочки серверов, образующих туннель. Туннель можно представить в виде трубы, проходящей через несколько комнат: вода поступает с одного конца и выходит с другого, при этом наблюдатели в промежуточных комнатах видят трубу, могут слышать шум потока внутри, но не знают, что именно по ней течет. В I2P все роутеры по умолчанию могут принимать участие в построении чужих туннелей, но никто не знает что, куда и кому по этим туннелям передается. Создавая точку назначения, пользователь сам определяет длину входящих и исходящих туннелей, а также их количество. Эта информация остается известной только для создателя туннеля: промежуточные звенья ничего не знают о других транзитных узлах и о их общем количестве.
По умолчанию длина туннелей составляет 3 узла, но в зависимости от потребностей пользователя может составлять 1 транзитный узел или целых 8, и даже 0, тогда будет происходить прямое подключение к туннелю второй стороны. Как видим, администратор конечного ресурса имеет входной туннель в 4 узла. Получив запрос, веб-ресурс отсылает ответ во входной туннель пользователя через свой выходной туннель, т.е. по абсолютно другому пути. Смотря на схему, можно представить насколько сложно пользователю определить реальное местоположение собеседника. Учитывая, что каждые 10 минут происходит смена существующего туннеля на новый с новыми цифровыми подписями и ключами шифрования, деанонимизация кого-либо вовсе кажется фантастикой.
Изображение
Важная сущность сети I2P — это флудфилы: специальные роутеры, собирающие информацию о сети и обменивающиеся ей друг с другом. Флудфилом может быть любой желающий, задав соответствующий параметр в конфигурационном файле роутера. Все серверные конечные точки сети (т.е. точки, к которым ожидается подключение) автоматически публикуют на флудфилах информацию о себе, которая в совокупности называется лизсетом.

Лизсет включат в себя полный адрес конечной точки, ключи шифрования и список входящих туннелей. Обращаясь к какому-либо адресу в I2P, вы автоматически запрашиваете у случайного флудфила лизсет этого адреса. Если флудфил не знает запрошенный адрес, он сообщает адреса других флудфилов и поиск продолжается. Флудфил является роутером (а не конечной точкой) и принимает подключения напрямую, т.е. не имеет своих входных туннелей. Однако конечные точки обращаются к нему исключительно через анонимные цепочки, тем самым скрывая местоположение публикуемых ресурсов и тех, кто хочет к ним обратиться.

Так как каждая конечная точка имеет в среднем по три входных туннеля, которые меняются каждые 10 минут, обращение к флуд­филам происходит лавинообразное, хоть и с небольшим потоком данных. Благодаря этому в сети всегда происходит хаотичное движение служебной информации, образующее «белый шум».

Помимо поиска лизсетов, белый шум генерируется зондированием сети: каждый роутер с небольшой периодичностью опрашивает случайный флудфил, получая от него в ответ три новых роутера (таким образом увеличивая собственный рисунок сети и находя новые флудфилы). Главным источником сетевого шума на роутере является транзитный трафик: он создает большую сетевую активность вне зависимости от конечных точек, расположенных на роутере. Также, будучи транзитным звеном, роутер подмешивает к трафику чужих туннелей полезную нагрузку — трафик своих скрытых сервисов. Чем больше транзитного трафика на роутере, тем абсолютнее секретность его конечных точек: какие-либо действия на скрытом ресурсе, даже DDoS-атаку, нельзя сопоставить с сетевой активностью конкретно взятого сервера. Активный узел сети имеет в своей базе в среднем 5000 активных роутеров и принимает сотни, а то и тысячи абсолютно случайных транзитных подключений. Как говорится: попробуй проанализируй.
Недавно мы упомянули DPI — исследование сетевых пакетов с целью выявления типа передаваемой информации. Упомянули не зря, потому что вы должны знать об этой технологии, а также о том, что весь трафик I2P устойчив перед анализом. Трафик сети зашифрован с самого низа, начиная с транспортных протоколов. В I2P используются: NTCP2, как крипто-аналог TCP, и SSU, как крипто-аналог UDP. I2P-роутер принимает сетевой трафик прикладных программ, обращающихся в скрытую сеть, и оборачивает привычные протоколы в их зашифрованные аналоги. После обработки в сетевых пакетах невозможно выявить что-либо вразумительное, потому что шифруется все, в том числе заголовки и размер. Размер пакетов скрывается паддингом, т.е. заполнением пакетов случайными данными до определенного размера. Информация о настоящем размере сетевого пакета передается в нем же в зашифрованном виде. При расшифровке на конечном устройстве примешанный «мусор» просто отбрасывается. Таким образом «белый шум» сети, т.е. практически бессмысленная для человека информация смешивается с пользовательской информацией и со стороны абсолютно от нее неотличима.
Практическое использование

Область применения I2P обширна и не ограничивается только веб-сайтами. Вы можете размещать в I2P любые веб-ресурсы: форумы, доски объявлений, гит-репозитории, блоги и персональные одностраничники. Вполне реально организовать даже сетевые пошаговые игры, не требующие низкой задержки при передаче пакетов, например, шахматы или карты. Также найти применение I2P можно в построении выходных туннелей из неопределенного места в глобальную сеть, для полноты картины размещая выходные прокси на анонимно оплаченных серверах. Организуя ssh-доступ к арендуемой машине через I2P, вам всего лишь единожды потребуется зайти на сервер посредством других сетей, чтобы установить i2pd и сконфигурировать туннель, который будет принимать подключения. Единственное ограничение фантазий — скорость передачи данных внутри сети. Надо заметить, что от года к году скорость становится все ближе к привычным показателям обычного интернета благодаря оптимизации программного кода и общему росту количества узлов.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 16 июл 2023, 17:28

Olej писал(а):
16 июл 2023, 16:52
Общее введение в I2P
И, пожалуй, самое конкретное для использования - именно в wiki сети Yggdrasil:
I2P (Invisible Internet Project или Invisible Internet Protocol) – оверлейная децентрализованная одноранговая сеть. Оверлейная - работает поверх других сетей, например, обычного интернета; децентрализованная - распределенная, не имеющая единой точки отказа: упадет один узел, полсети, или во всей сети останется 3 пользователя – I2P всё равно будет функционировать. I2P является одноранговой сетью, потому что все участники имеют равные права и возможности: каждый пользователь скрытой сети строит свои туннели через других участников и сам является потенциальным звеном в цепочке другого пользователя. При этом естественная сетевая активность никак не компрометирует абонента перед домашним провайдером или участниками скрытой сети.
Изображение
i2p-over-ygg.jpg I2P многократно превосходит Tor по параметрам анонимности, но не имеет по умолчанию выходных прокси в обычный интернет. Сеть I2P полностью децентрализована и открыта. Существует два клиента сети: на языке Java (первый релиз которого состоялся в 2003 году) и i2pd на C++ (первый релиз в 2014). I2P-роутер на C++ превосходит по скорости и стабильности своего предшественника и настоятельно рекомендуется к использованию. Основное обсуждение разработки i2pd ведется на канале #dev в сети ILITA. При работе через Yggdrasil, сеть I2P не образует отдельный сегмент, а остается единой: пользователи из обычного интернета также доступны. Схематично взаимодействие Yggdrasil-only роутеров с остальными участниками сети отображено на иллюстрации.
Также i2pd существует в стандартных репозиториях некоторых unix-like операционных систем вроде Debian или Ubuntu, и доступен для установки через короткую строку sudo apt-get install i2pd, но такой способ установки не рекомендуется, т.к. в дефолтных репозиториях всегда находятся весьма устаревшие версии.
Однако есть актуальный репозиторий сообщества, добавив который в свою систему можно забыть про протухшие пакеты и обновляться в привычном и удобном виде. Исчерпывающая информация по установке есть в документации i2pd.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 16 июл 2023, 17:40

Olej писал(а):
16 июл 2023, 17:28
Также i2pd существует в стандартных репозиториях некоторых unix-like операционных систем вроде Debian или Ubuntu, и доступен для установки через короткую строку sudo apt-get install i2pd, но такой способ установки не рекомендуется, т.к. в дефолтных репозиториях всегда находятся весьма устаревшие версии.
Однако есть актуальный репозиторий сообщества
Ресурсы:
- русскоязычная документация: https://i2pd.readthedocs.io/ru/latest/
- бинарные релизы для установки: https://github.com/PurpleI2P/i2pd/releases (но, к сожалению, Linux релизы там только .rpm)
... тогда соберём из исходников :lol: :
- исходники на GIT: https://github.com/PurpleI2P/i2pd
i2pd
Русская версия
i2pd (I2P Daemon) is a full-featured C++ implementation of I2P client.
- репозитории многих проектов относительно i2p - https://github.com/PurpleI2P/ ... в частности:
i2pd-qt Public
i2pd with Qt based GUI

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 17 июл 2023, 12:59

Olej писал(а):
16 июл 2023, 17:40
исходники на GIT

Код: Выделить всё

olej@R420:~/2023/I2P$ git clone https://github.com/PurpleI2P/i2pd.git
Клонирование в «i2pd»...
remote: Enumerating objects: 36411, done.
remote: Counting objects: 100% (5478/5478), done.
remote: Compressing objects: 100% (245/245), done.
remote: Total 36411 (delta 5290), reused 5324 (delta 5227), pack-reused 30933
Получение объектов: 100% (36411/36411), 14.56 МиБ | 3.26 МиБ/с, готово.
Определение изменений: 100% (25966/25966), готово.

Код: Выделить всё

olej@R420:~/2023/I2P$ cd i2pd/

olej@R420:~/2023/I2P/i2pd$ du -hs ./
20M     ./

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 17 июл 2023, 13:17

Olej писал(а):
16 июл 2023, 17:40
тогда соберём из исходников
Сборка на Unix системах
Debian/Ubuntu
Проверю зависимости, на всякий случай:

Код: Выделить всё

olej@R420:~/2023/I2P/i2pd$ aptitude search libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev libssl-dev | grep -v i386
i A libboost-chrono-dev - C++ representation of time duration, time point, and clocks (default version)
i A libboost-date-time-dev - set of date-time libraries based on generic programming concepts (default version)
i A libboost-filesystem-dev - filesystem operations (portable paths, iteration over directories, etc) in C++ (default version)
i A libboost-program-options-dev - program options library for C++ (default version)
i A libboost-system-dev - Operating system (e.g. diagnostics support) library (default version)
i A libboost-thread-dev - portable C++ multi-threading (default version)
i  libssl-dev - Secure Sockets Layer toolkit - development files

Код: Выделить всё

olej@R420:~/2023/I2P/i2pd$ cd build/

Код: Выделить всё

olej@R420:~/2023/I2P/i2pd/build$ cmake -DCMAKE_BUILD_TYPE=Release
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.


-- The CXX compiler identification is GNU 11.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The C compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Success
-- Performing Test LLVM_HAS_ATOMICS
-- Performing Test LLVM_HAS_ATOMICS - Success
-- Performing Test CXX17_SUPPORTED
-- Performing Test CXX17_SUPPORTED - Success
-- Performing Test CXX11_SUPPORTED
-- Performing Test CXX11_SUPPORTED - Success
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0") found components: system filesystem program_options date_time atomic 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.2")  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- ---------------------------------------
-- Build type         : Release
-- Compiler vendor    : GNU
-- Compiler version   : 11.3.0
-- Compiler path      : /usr/bin/c++
-- Architecture       : x86_64
-- Install prefix:    : /usr/local
-- Options:
--   AESNI            : ON
--   HARDENING        : OFF
--   LIBRARY          : ON
--   BINARY           : ON
--   STATIC BUILD     : OFF
--   UPnP             : OFF
--   GIT VERSION      : OFF
--   ADDRSANITIZER    : OFF
--   THREADSANITIZER  : OFF
-- ---------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/olej/2023/I2P/i2pd/build

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 17 июл 2023, 13:21

Код: Выделить всё

olej@R420:~/2023/I2P/i2pd/build$ time make -j
[  3%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Afrikaans.cpp.o
[  3%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/BOB.cpp.o
[  3%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/AddressBook.cpp.o
[  4%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/HTTPProxy.cpp.o
[  5%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Chinese.cpp.o
[  8%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Base.cpp.o
[  9%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/I2PTunnel.cpp.o
[ 11%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/I2PService.cpp.o
[ 11%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/I2CP.cpp.o
[ 12%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Blinding.cpp.o
[ 13%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Armenian.cpp.o
[ 15%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/SAM.cpp.o
[ 15%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/ClientContext.cpp.o
[ 17%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Czech.cpp.o
[ 18%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/ChaCha20.cpp.o
[ 18%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/MatchedDestination.cpp.o
[ 22%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/UDPTunnel.cpp.o
[ 22%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/CPU.cpp.o
[ 25%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Italian.cpp.o
[ 25%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/I18N.cpp.o
[ 26%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/CryptoKey.cpp.o
[ 31%] Building CXX object CMakeFiles/libi2pdclient.dir/home/olej/2023/I2P/i2pd/libi2pd_client/SOCKS.cpp.o
[ 31%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/German.cpp.o
[ 31%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Config.cpp.o
[ 23%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/French.cpp.o
[ 31%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Datagram.cpp.o
[ 32%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Polish.cpp.o
[ 32%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Crypto.cpp.o
[ 33%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Destination.cpp.o
[ 34%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Portuguese.cpp.o
[ 37%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/ECIESX25519AEADRatchetSession.cpp.o
[ 37%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/English.cpp.o
[ 38%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Russian.cpp.o
[ 39%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Swedish.cpp.o
[ 40%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Ed25519.cpp.o
[ 41%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Turkmen.cpp.o
[ 43%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Elligator.cpp.o
[ 44%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Spanish.cpp.o
[ 45%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Turkish.cpp.o
[ 46%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Ukrainian.cpp.o
[ 48%] Building CXX object CMakeFiles/libi2pdlang.dir/home/olej/2023/I2P/i2pd/i18n/Uzbek.cpp.o
[ 50%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/FS.cpp.o
[ 48%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Family.cpp.o
[ 51%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Garlic.cpp.o
[ 52%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Gost.cpp.o
[ 53%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Gzip.cpp.o
[ 54%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/HTTP.cpp.o
[ 55%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/I2NPProtocol.cpp.o
[ 56%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/I2PEndian.cpp.o
[ 58%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Identity.cpp.o
[ 59%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/KadDHT.cpp.o
[ 60%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/LeaseSet.cpp.o
[ 61%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Log.cpp.o
[ 62%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/NetDb.cpp.o
[ 63%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/NTCP2.cpp.o
[ 65%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/NetDbRequests.cpp.o
[ 66%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Poly1305.cpp.o
[ 67%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Reseed.cpp.o
[ 69%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Profiling.cpp.o
[ 69%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/RouterContext.cpp.o
[ 70%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/SSU2.cpp.o
[ 72%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/RouterInfo.cpp.o
[ 73%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/SSU2Session.cpp.o
[ 74%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Signature.cpp.o
[ 75%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Streaming.cpp.o
[ 76%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Timestamp.cpp.o
[ 77%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/TransitTunnel.cpp.o
[ 79%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Transports.cpp.o
[ 80%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/Tunnel.cpp.o
[ 81%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/TunnelConfig.cpp.o
[ 82%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/TunnelEndpoint.cpp.o
[ 83%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/TunnelGateway.cpp.o
[ 84%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/TunnelPool.cpp.o
[ 86%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/api.cpp.o
[ 87%] Building CXX object CMakeFiles/libi2pd.dir/home/olej/2023/I2P/i2pd/libi2pd/util.cpp.o
[ 88%] Linking CXX static library libi2pdlang.a
[ 88%] Built target libi2pdlang
[ 89%] Linking CXX static library libi2pdclient.a
[ 89%] Built target libi2pdclient
[ 90%] Linking CXX static library libi2pd.a
[ 90%] Built target libi2pd
[ 94%] Building CXX object CMakeFiles/i2pd.dir/home/olej/2023/I2P/i2pd/daemon/I2PControlHandlers.cpp.o
[ 94%] Building CXX object CMakeFiles/i2pd.dir/home/olej/2023/I2P/i2pd/daemon/i2pd.cpp.o
[ 95%] Building CXX object CMakeFiles/i2pd.dir/home/olej/2023/I2P/i2pd/daemon/UnixDaemon.cpp.o
[ 95%] Building CXX object CMakeFiles/i2pd.dir/home/olej/2023/I2P/i2pd/daemon/Daemon.cpp.o
[ 97%] Building CXX object CMakeFiles/i2pd.dir/home/olej/2023/I2P/i2pd/daemon/HTTPServer.cpp.o
[ 97%] Building CXX object CMakeFiles/i2pd.dir/home/olej/2023/I2P/i2pd/daemon/I2PControl.cpp.o
[ 98%] Building CXX object CMakeFiles/i2pd.dir/home/olej/2023/I2P/i2pd/daemon/UPnP.cpp.o
/home/olej/2023/I2P/i2pd/daemon/UnixDaemon.cpp: In member function ‘virtual bool i2p::util::DaemonLinux::start()’:
/home/olej/2023/I2P/i2pd/daemon/UnixDaemon.cpp:107:40: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  107 |                                 freopen("/dev/null", "r", stdin);
      |                                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/home/olej/2023/I2P/i2pd/daemon/UnixDaemon.cpp:108:40: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  108 |                                 freopen("/dev/null", "w", stdout);
      |                                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/olej/2023/I2P/i2pd/daemon/UnixDaemon.cpp:109:40: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  109 |                                 freopen("/dev/null", "w", stderr);
      |                                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/olej/2023/I2P/i2pd/daemon/UnixDaemon.cpp:173:42: warning: ignoring return value of ‘int ftruncate(int, __off_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  173 |                                 ftruncate(pidFH, 0);
      |                                 ~~~~~~~~~^~~~~~~~~~
[100%] Linking CXX executable i2pd
[100%] Built target i2pd

real	0m50,598s
user	14m34,121s
sys	0m59,870s
Сборка достаточно наряжённая - это сборка в 40 ядер:
Снимок экрана от 2023-07-17 13-19-32.png
Снимок экрана от 2023-07-17 13-19-32.png (217.46 КБ) 443 просмотра

Код: Выделить всё

olej@R420:~/2023/I2P/i2pd/build$ sudo make install
[sudo] пароль для olej:       
Consolidate compiler generated dependencies of target libi2pd
[ 54%] Built target libi2pd
Consolidate compiler generated dependencies of target libi2pdclient
[ 68%] Built target libi2pdclient
Consolidate compiler generated dependencies of target libi2pdlang
[ 90%] Built target libi2pdlang
Consolidate compiler generated dependencies of target i2pd
[100%] Built target i2pd
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/lib/libi2pd.a
-- Installing: /usr/local/lib/libi2pdclient.a
-- Installing: /usr/local/lib/libi2pdlang.a
-- Installing: /usr/local/bin/i2pd

Код: Выделить всё

olej@R420:~/2023/I2P/i2pd/build$ which i2pd
/usr/local/bin/i2pd

Код: Выделить всё

olej@R420:~/2023/I2P/i2pd/build$ i2pd --version
i2pd version 2.48.0 (0.9.59)
Boost version 1.74.0
OpenSSL 3.0.2 15 Mar 2022

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

сеть I2P

Непрочитанное сообщение Olej » 17 июл 2023, 13:32

Код: Выделить всё

olej@R420:~/2023/I2P/i2pd/build$ i2pd --help
i2pd version 2.48.0 (0.9.59)

General options:
  --help                                Show this message
  --version                             Show i2pd version
  --conf arg                            Path to main i2pd config file (default:
                                        try ~/.i2pd/i2pd.conf or 
                                        /var/lib/i2pd/i2pd.conf)
  --tunconf arg                         Path to config with tunnels list and 
                                        options (default: try 
                                        ~/.i2pd/tunnels.conf or 
                                        /var/lib/i2pd/tunnels.conf)
  --tunnelsdir arg                      Path to extra tunnels' configs folder 
                                        (default: ~/.i2pd/tunnels.d or 
                                        /var/lib/i2pd/tunnels.d
  --certsdir arg                        Path to certificates used for verifying
                                        .su3, families (default: 
                                        ~/.i2pd/certificates or 
                                        /var/lib/i2pd/certificates
  --pidfile arg                         Path to pidfile (default: 
                                        ~/i2pd/i2pd.pid or /var/lib/i2pd/i2pd.p
                                        id)
  --log arg                             Logs destination: stdout, file, syslog 
                                        (stdout if not set)
  --logfile arg                         Path to logfile (stdout if not set, 
                                        autodetect if daemon)
  --loglevel arg (=warn)                Set the minimal level of log messages 
                                        (debug, info, warn, error, none)
  --logclftime                          Write full CLF-formatted date and time 
                                        to log (default: disabled, write only 
                                        time)
  --family arg                          Specify a family, router belongs to
  --datadir arg                         Path to storage of i2pd data (RI, keys,
                                        peer profiles, ...)
  --host arg                            External IP
  --ifname arg                          Network interface to bind to
  --ifname4 arg                         Network interface to bind to for ipv4
  --ifname6 arg                         Network interface to bind to for ipv6
  --nat                                 Should we assume we are behind NAT? 
                                        (default: enabled)
  --port arg (=0)                       Port to listen for incoming connections
                                        (default: auto)
  --ipv4                                Enable communication through ipv4 
                                        (default: enabled)
  --address4 arg                        Local address to bind ipv4 transport 
                                        sockets to
  --ipv6                                Enable communication through ipv6 
                                        (default: disabled)
  --address6 arg                        Local address to bind ipv6 transport 
                                        sockets to
  --reservedrange                       Check remote RI for being in blacklist 
                                        of reserved IP ranges (default: 
                                        enabled)
  --netid arg (=2)                      Specify NetID. Main I2P is 2
  --daemon                              Router will go to background after 
                                        start (default: disabled)
  --service                             Router will use system folders like 
                                        '/var/lib/i2pd' (default: disabled)
  --notransit                           Router will not accept transit tunnels 
                                        at startup (default: disabled)
  --floodfill                           Router will be floodfill (default: 
                                        disabled)
  --bandwidth arg                       Transit traffic bandwidth limit: 
                                        integer in KBps or letters: L (32), O 
                                        (256), P (2048), X (>9000)
  --share arg (=100)                    Limit of transit traffic from max 
                                        bandwidth in percents. (default: 100)
  --ntcp                                Ignored. Always false
  --ssu                                 Ignored. Always false
  --ntcpproxy arg                       Ignored

Limits options:
  --limits.coresize arg (=0)            Maximum size of corefile in Kb (0 - use
                                        system limit)
  --limits.openfiles arg (=0)           Maximum number of open files (0 - use 
                                        system default)
  --limits.transittunnels arg (=5000)   Maximum active transit tunnels 
                                        (default:5000)
  --limits.zombies arg (=0)             Minimum percentage of successfully 
                                        created tunnels under which tunnel 
                                        cleanup is paused (default [%]: 0.00)
  --limits.ntcpsoft arg (=0)            Ignored
  --limits.ntcphard arg (=0)            Ignored
  --limits.ntcpthreads arg (=1)         Ignored

HTTP Server options:
  --http.enabled arg (=1)               Enable or disable webconsole
  --http.address arg (=127.0.0.1)       Webconsole listen address
  --http.port arg (=7070)               Webconsole listen port
  --http.auth arg (=0)                  Enable Basic HTTP auth for webconsole
  --http.user arg (=i2pd)               Username for basic auth
  --http.pass arg                       Password for basic auth (default: 
                                        random, see logs)
  --http.strictheaders arg (=1)         Enable strict host checking on WebUI
  --http.hostname arg (=localhost)      Expected hostname for WebUI
  --http.webroot arg (=/)               WebUI root path (default: / )
  --http.lang arg (=english)            WebUI language (default: english )
  --http.showTotalTCSR arg (=0)         Show additional value with total TCSR 
                                        since router's start (default: false)

HTTP Proxy options:
  --httpproxy.enabled arg (=1)          Enable or disable HTTP Proxy
  --httpproxy.address arg (=127.0.0.1)  HTTP Proxy listen address
  --httpproxy.port arg (=4444)          HTTP Proxy listen port
  --httpproxy.keys arg (=transient-proxy)
                                        File to persist HTTP Proxy keys. 
                                        Transient by default
  --httpproxy.signaturetype arg (=7)    Signature type for new keys. 7 (EdDSA) 
                                        by default
  --httpproxy.inbound.length arg (=3)   HTTP proxy inbound tunnel length
  --httpproxy.outbound.length arg (=3)  HTTP proxy outbound tunnel length
  --httpproxy.inbound.quantity arg (=5) HTTP proxy inbound tunnels quantity
  --httpproxy.outbound.quantity arg (=5)
                                        HTTP proxy outbound tunnels quantity
  --httpproxy.inbound.lengthVariance arg (=0)
                                        HTTP proxy inbound tunnels length 
                                        variance
  --httpproxy.outbound.lengthVariance arg (=0)
                                        HTTP proxy outbound tunnels length 
                                        variance
  --httpproxy.latency.min arg (=0)      HTTP proxy min latency for tunnels
  --httpproxy.latency.max arg (=0)      HTTP proxy max latency for tunnels
  --httpproxy.outproxy arg              HTTP proxy upstream out proxy url
  --httpproxy.addresshelper arg (=1)    Enable or disable addresshelper
  --httpproxy.i2cp.leaseSetType arg (=3)
                                        Local destination's LeaseSet type
  --httpproxy.i2cp.leaseSetEncType arg (=0,4)
                                        Local destination's LeaseSet encryption
                                        type
  --httpproxy.i2cp.leaseSetPrivKey arg  LeaseSet private key

SOCKS Proxy options:
  --socksproxy.enabled arg (=1)         Enable or disable SOCKS Proxy
  --socksproxy.address arg (=127.0.0.1) SOCKS Proxy listen address
  --socksproxy.port arg (=4447)         SOCKS Proxy listen port
  --socksproxy.keys arg (=transient-proxy)
                                        File to persist SOCKS Proxy keys. 
                                        Transient by default
  --socksproxy.signaturetype arg (=7)   Signature type for new keys. 7 (EdDSA) 
                                        by default
  --socksproxy.inbound.length arg (=3)  SOCKS proxy inbound tunnel length
  --socksproxy.outbound.length arg (=3) SOCKS proxy outbound tunnel length
  --socksproxy.inbound.quantity arg (=5)
                                        SOCKS proxy inbound tunnels quantity
  --socksproxy.outbound.quantity arg (=5)
                                        SOCKS proxy outbound tunnels quantity
  --socksproxy.inbound.lengthVariance arg (=0)
                                        SOCKS proxy inbound tunnels length 
                                        variance
  --socksproxy.outbound.lengthVariance arg (=0)
                                        SOCKS proxy outbound tunnels length 
                                        variance
  --socksproxy.latency.min arg (=0)     SOCKS proxy min latency for tunnels
  --socksproxy.latency.max arg (=0)     SOCKS proxy max latency for tunnels
  --socksproxy.outproxy.enabled arg (=0)
                                        Enable or disable SOCKS outproxy
  --socksproxy.outproxy arg (=127.0.0.1)
                                        Upstream outproxy address for SOCKS 
                                        Proxy
  --socksproxy.outproxyport arg (=9050) Upstream outproxy port for SOCKS Proxy
  --socksproxy.i2cp.leaseSetType arg (=3)
                                        Local destination's LeaseSet type
  --socksproxy.i2cp.leaseSetEncType arg (=0,4)
                                        Local destination's LeaseSet encryption
                                        type
  --socksproxy.i2cp.leaseSetPrivKey arg LeaseSet private key

SAM bridge options:
  --sam.enabled arg (=1)                Enable or disable SAM Application 
                                        bridge
  --sam.address arg (=127.0.0.1)        SAM listen address
  --sam.port arg (=7656)                SAM listen TCP port
  --sam.portudp arg (=0)                SAM listen UDP port
  --sam.singlethread arg (=1)           Sessions run in the SAM bridge's thread

BOB options:
  --bob.enabled arg (=0)                Enable or disable BOB command channel
  --bob.address arg (=127.0.0.1)        BOB listen address
  --bob.port arg (=2827)                BOB listen port

I2CP options:
  --i2cp.enabled arg (=0)               Enable or disable I2CP
  --i2cp.address arg (=127.0.0.1)       I2CP listen address
  --i2cp.port arg (=7654)               I2CP listen port
  --i2cp.singlethread arg (=1)          Destinations run in the I2CP server's 
                                        thread

I2PControl options:
  --i2pcontrol.enabled arg (=0)         Enable or disable I2P Control Protocol
  --i2pcontrol.address arg (=127.0.0.1) I2PCP listen address
  --i2pcontrol.port arg (=7650)         I2PCP listen port
  --i2pcontrol.password arg (=itoopie)  I2PCP access password
  --i2pcontrol.cert arg (=i2pcontrol.crt.pem)
                                        I2PCP connection certificate
  --i2pcontrol.key arg (=i2pcontrol.key.pem)
                                        I2PCP connection certificate key

UPnP options:
  --upnp.enabled arg (=0)               Enable or disable UPnP: automatic port 
                                        forwarding
  --upnp.name arg (=I2Pd)               Name i2pd appears in UPnP forwarding 
                                        list

Precomputation options:
  --precomputation.elgamal arg (=0)     Enable or disable elgamal 
                                        precomputation table

Reseed options:
  --reseed.verify arg (=0)              Verify .su3 signature
  --reseed.threshold arg (=25)          Minimum number of known routers before 
                                        requesting reseed
  --reseed.floodfill arg                Path to router info of floodfill to 
                                        reseed from
  --reseed.file arg                     Path to local .su3 file or HTTPS URL to
                                        reseed from
  --reseed.zipfile arg                  Path to local .zip file to reseed from
  --reseed.proxy arg                    url for reseed proxy, supports 
                                        http/socks
  --reseed.urls arg (=https://reseed2.i2p.net/,https://reseed.diva.exchange/,https://reseed-fr.i2pd.xyz/,https://reseed.memcpy.io/,https://reseed.onion.im/,https://i2pseed.creativecowpat.net:8443/,https://reseed.i2pgit.org/,https://banana.incognet.io/,https://reseed-pl.i2pd.xyz/,https://www2.mk16.de/,https://i2p.ghativega.in/,https://i2p.novg.net/)
                                        Reseed URLs, separated by comma
  --reseed.yggurls arg (=http://[324:71e:281a:9ed3::ace]:7070/,http://[301:65b9:c7cd:9a36::1]:18801/,http://[320:8936:ec1a:31f1::216]/,http://[306:3834:97b9:a00a::1]/,http://[316:f9e0:f22e:a74f::216]/)
                                        Reseed URLs through the Yggdrasil, 
                                        separated by comma

AddressBook options:
  --addressbook.enabled arg (=1)        Enable address book lookups and 
                                        subscritions (default: enabled)
  --addressbook.defaulturl arg (=http://shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa.b32.i2p/hosts.txt)
                                        AddressBook subscription URL for 
                                        initial setup
  --addressbook.subscriptions arg (=http://reg.i2p/hosts.txt)
                                        AddressBook subscriptions URLs, 
                                        separated by comma
  --addressbook.hostsfile arg           File to dump addresses in hosts.txt 
                                        format

Trust options:
  --trust.enabled arg (=0)              Enable explicit trust options
  --trust.family arg                    Router Family to trust for first hops
  --trust.routers arg                   Only Connect to these routers
  --trust.hidden arg (=0)               Should we hide our router from other 
                                        routers?

Websocket Options:
  --websockets.enabled arg (=0)         Deprecated option
  --websockets.address arg              Deprecated option
  --websockets.port arg (=0)            Deprecated option

Exploratory Options:
  --exploratory.inbound.length arg (=2) Exploratory inbound tunnel length
  --exploratory.outbound.length arg (=2)
                                        Exploratory outbound tunnel length
  --exploratory.inbound.quantity arg (=3)
                                        Exploratory inbound tunnels quantity
  --exploratory.outbound.quantity arg (=3)
                                        Exploratory outbound tunnels quantity

NTCP2 Options:
  --ntcp2.enabled arg (=1)              Enable NTCP2 (default: enabled)
  --ntcp2.published arg (=1)            Publish NTCP2 (default: enabled)
  --ntcp2.port arg (=0)                 Port to listen for incoming NTCP2 
                                        connections (default: auto)
  --ntcp2.addressv6 arg (=::)           Address to publish NTCP2 with
  --ntcp2.proxy arg                     Proxy URL for NTCP2 transport

SSU2 Options:
  --ssu2.enabled arg (=1)               Enable SSU2 (default: enabled)
  --ssu2.published arg (=1)             Publish SSU2 (default: enabled)
  --ssu2.port arg (=0)                  Port to listen for incoming SSU2 
                                        packets (default: auto)
  --ssu2.mtu4 arg (=0)                  MTU for ipv4 address (default: detect)
  --ssu2.mtu6 arg (=0)                  MTU for ipv6 address (default: detect)
  --ssu2.proxy arg                      Socks5 proxy URL for SSU2 transport

Time sync options:
  --nettime.enabled arg (=0)            Enable NTP time sync (default: 
                                        disabled)
  --nettime.ntpservers arg (=0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org)
                                        Comma separated list of NTP servers
  --nettime.ntpsyncinterval arg (=72)   NTP sync interval in hours (default: 
                                        72)
  --nettime.frompeers arg (=1)          Sync clock from transport peers 
                                        (default: enabled)

Network information persisting options:
  --persist.profiles arg (=1)           Persist peer profiles (default: true)
  --persist.addressbook arg (=1)        Persist full addresses (default: true)

CPU encryption extensions options:
  --cpuext.aesni                        Use auto detection for AESNI CPU 
                                        extensions. If false, AESNI will be not
                                        used
  --cpuext.avx                          Use auto detection for AVX CPU 
                                        extensions. If false, AVX will be not 
                                        used
  --cpuext.force                        Force usage of CPU extensions. Useful 
                                        when cpuinfo is not available on 
                                        virtual machines

Meshnet transports options:
  --meshnets.yggdrasil                  Support transports through the 
                                        Yggdrasil (default: false)
  --meshnets.yggaddress arg             Yggdrasil address to publish

UNIX-specific options:
  --unix.handle_sigtstp                 Handle SIGTSTP and SIGCONT signals 
                                        (default: disabled)

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей