How to Wiki Database (change log)
http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
13 KiB
92 lines
13 KiB
======I2P====== |
|
I2P (Invisible Internet Project или Invisible Internet Protocol) -- оверлейная децентрализованная одноранговая сеть. Оверлейная - работает поверх других сетей, например, обычного интернета; децентрализованная - распределенная, не имеющая единой точки отказа: упадет один узел, полсети, или во всей сети останется 3 пользователя -- I2P всё равно будет функционировать. I2P является одноранговой сетью, потому что все участники имеют равные права и возможности: каждый пользователь скрытой сети строит свои туннели через других участников и сам является потенциальным звеном в цепочке другого пользователя. При этом естественная сетевая активность никак не компрометирует абонента перед домашним провайдером или участниками скрытой сети. |
|
|
|
{{ i2p:i2p-over-ygg.jpg?440}} I2P многократно превосходит [[https://torproject.org|Tor]] по параметрам анонимности, но не имеет по умолчанию выходных прокси в обычный интернет. Сеть I2P полностью децентрализована и открыта. Существует два клиента сети: на языке Java (первый релиз которого состоялся в 2003 году) и i2pd на C++ (первый релиз в 2014). I2P-роутер на C++ превосходит по скорости и стабильности своего предшественника и настоятельно рекомендуется к использованию. Основное обсуждение разработки i2pd ведется на канале #dev в сети [[social_media:ilita_network|ILITA]]. При работе через Yggdrasil, сеть I2P не образует отдельный сегмент, а остается единой: пользователи из обычного интернета также доступны. Схематично взаимодействие Yggdrasil-only роутеров с остальными участниками сети отображено на иллюстрации. |
|
|
|
Подробно о механизме работы сети I2P и истории появления альтерантивного клиента i2pd сказано в видео: [[https://youtu.be/h9HWGsSGQc8|YouTube.com]]. |
|
|
|
======Установка====== |
|
Самый простой и верный вариант -- скачать пакет для своей операционной системы на официальной [[https://github.com/PurpleI2P/i2pd/releases|странице]] релизов. Также i2pd существует в стандартных репозиториях некоторых unix-like операционных систем вроде Debian или Ubuntu, и доступен для установки через короткую строку ''sudo apt-get install i2pd'', но такой способ установки не рекомендуется, т.к. в дефолтных репозиториях всегда находятся весьма устаревшие версии.\\ |
|
Однако есть актуальный репозиторий сообщества, добавив который в свою систему можно забыть про протухшие пакеты и обновляться в привычном и удобном виде. Исчерпывающая информация по установке есть в [[https://i2pd.readthedocs.io/en/latest/user-guide/install/|документации]] i2pd.\\ |
|
Инструкции для Debian и Ubuntu с использованием репозитория пользователя ''R4SAS'' через обычный интернет: |
|
<code> |
|
# Ubuntu |
|
sudo add-apt-repository ppa:purplei2p/i2pd |
|
sudo apt-get update |
|
sudo apt-get install i2pd |
|
|
|
# Debian |
|
sudo apt-get install apt-transport-https |
|
wget -q -O - https://repo.i2pd.xyz/.help/add_repo | sudo bash -s - |
|
sudo apt-get update |
|
sudo apt-get install i2pd |
|
</code> |
|
|
|
То же самое, но с доступом через Yggdrasil, т.е. внутрисетевой репозиторий: |
|
<code> |
|
# Debian |
|
wget -q -O - http://[321:c99a:91a1:cd2c::4]/.help-ygg/add_repo | sudo bash -s - |
|
sudo apt-get update |
|
sudo apt-get install i2pd |
|
</code> |
|
|
|
Сообществом поддерживается I2P-браузер на базе Firefox, по концепции схожий с Tor-браузером. Скачать браузер можно на [[https://github.com/PurpleI2P/i2pdbrowser/releases|странице]] релизов соответствующего гит-репозитория команды PurpleI2P (распространяется только для Windows, для Linux и MacOS систем сборка производится с помощью запуска build.sh из соответствующего архива в релизе). В комплекте портабельного браузера может находиться не последняя версия i2pd, поэтому заменить исполняемый файл ''i2pd.exe'' для использования актуальной версии наверняка нужно будет вручную. |
|
|
|
======I2P внутри Yggdrasil====== |
|
Начиная с версии 2.36.0 i2pd имеет режим работы, исключающей соединения через обычный интернет. Ниже приведен пример конфигурации роутера, сообщающегося со скрытой сетью I2P исключительно через другие Yggdrasil-роутеры. По умолчанию конфигурационный файл находится в ''/etc/i2pd/i2pd.conf'', либо ''~/.i2pd/i2pd.conf'', а в случае Windows OS: ''%AppData%\i2pd\i2pd.conf''. Для работы I2P-роутера в режиме "Portable", когда все данные хранятся в директории с исполняемым файлом, необходимо создать файл ''i2pd.conf'' в той же папке, где находится бинарный файл программы (в народе: exe-шник). |
|
<code>daemon = true |
|
ipv4 = false |
|
ipv6 = false |
|
ssu = false |
|
ntcp2.enabled = false |
|
yggdrasil = true |
|
</code> |
|
Если вы хотите, чтобы I2P-роутер публиковал адрес из [[yggdrasil:subnet_setting|вашей подсети]] Yggdrasil, которая используется на устройстве, добавьте строку: |
|
<code>meshnets.yggaddress=your_local_yggdrasil_address</code> |
|
При первом запуске i2pd обратится к стартовому серверу внутри сети Yggdrasil, который отдаст несколько роутеров, достаточных для начала работы. Затем, база сети роутера начнет автоматически пополняться. Таким образом использование I2P обойдется без единого обращения в клирнет. |
|
|
|
=====Автозапуск===== |
|
I2P-роутер (i2pd) при запуске операционной системы (на примере Debian) может стартовать раньше, чем служба Yggdrasil. Это приводит к вынужденному ручному перезапуску i2pd, т.к. yggdrasil-интерфейс не обнаруживается I2P-роутером до старта службы Yggdrasil. Есть два основных способа решить эту проблему (используйте любой на свое усмотрение): |
|
|
|
**1)** После запуска Yggdrasil задать задержку перед стартом зависящих служб: |
|
- Добавить зависимость в запуск службы i2pd:\\ Создать директорию ''/etc/systemd/system/i2pd.service.d'': <code>mkdir /etc/systemd/system/i2pd.service.d</code> |
|
- Дополнить запуск службы i2pd: <code>nano /etc/systemd/system/i2pd.service.d/override.conf</code> Вставить следующее содержимое: <code>[Unit] |
|
After=network.target yggdrasil.service</code> //Ctrl+O -- сохранить изменения в файле, Ctrl+X -- выйти из редактора nano// |
|
- Создать директорию ''/etc/systemd/system/yggdrasil.service.d'': <code>mkdir /etc/systemd/system/yggdrasil.service.d</code> |
|
- Дополнить запуск службы Yggdrasil: <code>nano /etc/systemd/system/yggdrasil.service.d/override.conf</code> Вставить следующее содержимое: <code>[Service] |
|
# adding post-up delay to bring up yggdrasil tunnel interface before starting other services which depends on ygg |
|
ExecStartPost=/bin/sleep 5</code> //Ctrl+O -- сохранить изменения в файле, Ctrl+X -- выйти из редактора nano// |
|
|
|
**2)** Задать таймер запуска i2pd: |
|
- Создать файл ''i2pd.timer'': <code>sudo nano /etc/systemd/system/i2pd.timer</code> |
|
- Заполнить файл таймера следующим образом: <code>[Unit] |
|
Description=i2pd service timer |
|
After=yggdrasil.service |
|
|
|
[Timer] |
|
OnActiveSec=10 |
|
|
|
[Install] |
|
WantedBy=multi-user.target</code> //Ctrl+O -- сохранить изменения в файле, Ctrl+X -- выйти из редактора nano// |
|
- Отключить дефолтный автозапуск i2pd: <code>sudo systemctl disable i2pd.service</code> |
|
- Включить наш таймер: <code>sudo systemctl enable i2pd.timer</code> |
|
|
|
======Развитие сети====== |
|
Какой вклад в развитие сети I2P может сделать средний пользователь? Этим вопросом задаются многие энтузиасты. И вот ответ: |
|
- Включить все существующие сетевые интерфейсы для большей связности сети: <code>ipv4 = true |
|
ipv6 = true |
|
yggdrasil = true</code> |
|
- При технической возможности можно включить режим флудфила - своеобразного диспетчера I2P (может периодически возрастать нагрузка на процессор и сетевой канал): <code> floodfill = true </code> |
|
|
|
Обратите внимание! К флудфилу предъявляются специальные требования, перечисленные ниже. Если правила не соблюдаются, ваш роутер наверняка будет забанен другими участниками сети (в лучшем случае им просто не будут пользоваться): |
|
* Доступность узла через IPv4 (то есть выделенный IPv4 адрес с открытым портом i2pd); |
|
* Максимально возможный транзит (не ниже флага "O" в конфиге); |
|
* IP адрес, с которого i2pd инициирует соединения, должен совпадать с опубликованным в лизсете (воздержитесь от сложных конфигураций с прокси и прочим в этом духе). |
|
|
|
Следует обратить внимание, что указанные настройки в первую очередь актуальны для администраторов серверов или домашних пользователей, имеющих выделенный IP-адрес. Однако в любом случае держать I2P-роутер включенным максимально возможное время -- хороший вклад в общую мощность сети. Клиент сети, запущенный даже на смартфоне (!) может принимать "исследовательские" туннели, создаваемые другими участниками для исследования сети и имеющие крайне малый трафик. |
|
======Ссылки====== |
|
[[http://[324:71e:281a:9ed3::ace]/ygg-i2p/|Количество]] Yggdrasil-роутеров в одном из ресидов - стартовом бутстрап-пакете\\ |
|
[[https://github.com/PurpleI2P/|Git-репозиторий]] i2pd\\ |
|
[[https://github.com/PurpleI2P/i2pd/releases|Страница]] релизов i2pd для загрузки\\ |
|
[[https://i2pd.readthedocs.io/ru/latest/|Документация]] i2pd на русском языке\\ |
|
[[https://geti2p.net/ru/|Сайт]] java-роутера (не поддерживает Yggdrasil) |