I2P: установка и настройка на Arch Linux

Автор: | 19/11/2017
 

Кратко:

I2P — это масштабируемая, самоорганизующаяся, распределяющая пакеты между анонимными сетевыми уровнями сеть, в которой может работать любое количество приложений, при этом будет обеспечиваться высокий уровень безопасности и анонимности. Каждое из этих приложений само по себе, может быть анонимным, иметь свои возможности для управления сетью, не беспокоясь о надлежащем осуществлении контоля работы свободной, распределённой и асинхронной маршрутизации. I2P позволяет им смешивать (прятать — прим. пер.) свою работу среди большого количества уже существующих анонимных пользователей, работающих в сети.

Больше деталей – в ссылках в конце поста.

Кратко – I2P это аналог TOR, с той разницей, что I2P более “внутренее” ориентирована и не особо приспособлена к обеспечению доступа в “обычный” интернет. Вместо этого – сеть I2P полагается на свои собственные ресурсы.

Установка

Устанавливаем на Arch Linux:

[simterm]

$ yaourt -S i2p

[/simterm]

В случае ошибки:

==> ERROR: One or more PGP signatures could not be verified!
==> ERROR: Makepkg was unable to build .

Открываем PKGBUILD на редактирование, находим строку validkeys(), из неё берём ключ и импотируем его:

[simterm]

$ gpg –recv-key 2D3D2D03910C6504C1210C65EE60C0C8EE7256A8

[/simterm]

Перезапускаем установку.

По завершению установки – запускаем сервис:

[simterm]

$ systemctl start i2prouter.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to start 'i2prouter.service'.
Authenticating as: setevoy
Password: 
==== AUTHENTICATION COMPLETE ====

[/simterm]

Проверяем:

[simterm]

$ systemctl status i2prouter.service
● i2prouter.service - Invisible Internet Project
   Loaded: loaded (/usr/lib/systemd/system/i2prouter.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2017-11-19 11:59:19 EET; 5s ago
  Process: 11015 ExecStart=/usr/bin/java-service-wrapper ${WRAPPER_CONF} wrapper.name=i2prouter wrapper.syslog.ident=i2prouter wrapper.daemonize=TRUE (code=exited, status=0/SUCCESS)
 Main PID: 11023 (java)
    Tasks: 40 (limit: 4915)
   CGroup: /system.slice/i2prouter.service
           ├─11017 /usr/bin/java-service-wrapper /opt/i2p/wrapper.config wrapper.name=i2prouter wrapper.syslog.ident=i2prouter wrapper.daemonize=TRUE
           └─11023 /usr/lib/jvm/java-7-openjdk/jre/bin/java -DloggerFilenameOverride=logs/[email protected] -Dorg.mortbay.http.Version.paranoid=true -Dorg.mortbay.xml.XmlParser.NotValidating=true -Di2p.dir.base=/opt/i2p -Djava.net.preferIP

Nov 19 11:59:19 setevoy-arch-home systemd[1]: Starting Invisible Internet Project...
Nov 19 11:59:19 setevoy-arch-home systemd[1]: i2prouter.service: Supervising process 11023 which is not our child. We'll most likely not notice when it exits.
Nov 19 11:59:19 setevoy-arch-home systemd[1]: Started Invisible Internet Project.

[/simterm]

Процесс:

[simterm]

$ ps -U i2p 
  PID TTY          TIME CMD
11017 ?        00:00:00 java-service-wr
11023 ?        00:00:13 java

[/simterm]

Порты для прокси (4444, 4445) и самого i2p роутера (7657):

[simterm]

$ sudo netstat -anp | grep '4444\|4445\|7657'                                                                                                                                                          
tcp        0      0 127.0.0.1:7657          0.0.0.0:*               LISTEN      7492/java                                                                                                                                                      
tcp        0      0 127.0.0.1:4444          0.0.0.0:*               LISTEN      7492/java                                                                                                                                                      
tcp        0      0 127.0.0.1:4445          0.0.0.0:*               LISTEN      7492/java                                                                                                                                                      
tcp        0      0 127.0.0.1:7657          127.0.0.1:44070         ESTABLISHED 7492/java

[/simterm]

В браузере открываем to http://127.0.0.1:7657/home:

Настройка прокси

Для доступа к сайтам в сети i2p – настраиваем прокси.

Пример в Firefox:

И отправляйтесь по сети:

В процессе настройки – ноут от перегрева выключился :-\

Учтите, что при изменении настроек после каждого рестарта роутера может понадобиться 1-2 минуты, что бы он снова понялся + время на настройку сети.

Посмотреть активные туннели можно на странице http://127.0.0.1:7657/peers:

Добавление сайта

Некоторые домены в сети надо доабвлять вручную, например – rus.i2p, русскоязычная Wiki проекта.

Открываем http://127.0.0.1:7657/susidns/addressbook?book=private&filter=none, в поле Hostname указываем rus.i2p, в поле Destination – ключ узла:

MXK4rYn24gJibBdIqfRNLJNPaUfminmIhrzU8g~1yEHy7qwrY1~a9186cAZqOg7cksD0j2VI01AZ21xPM4yV85b8r3DVsLQ2qHOPH1qSA8yOVKoxCSUNz69NILpWoBwCXydbI8TUEALSvscAFkkWR2ZVDH2m1eiPm5j28yyBBE7ttPlLCpPF0D69PuEKiMKQqfDTSMA58nMtEfCsBM1-m5BXH0NA8DTHyDd4DfrjhBSkne0t2Xa9fZUCxrK4cTvUMGykW1aghjCm6YPnZN9Fo4NUP52VvXwGVuutzmWx8yBT2BFxAkO0CvfsZV8wDM51LXzHGYNHtE4E3wmoLuwOv5FyHOKipZ5VsG0rQlAf0hGXIAImkr2ognHmOVinHj7lYYg925XJTpnjv6xLGG9UEwBJ6tU0jdNlb016kc3renAFU34Ogg04Q-FTG3AbCdRLqwTPO9gud4MhWlq5oaHnh5Ck9Dn5TTxxtjkh4NdA4Osh7NoD~hXl33vkPMFJSqjaAAAA

Жмём Add:

И переходим на http://rus.i2p.

Недостатки

Из недостатков.

Первое – весьма скромная скорость внутри сети. Пока не пробовал торренты, но сайты (eepsite) грузятся достаточно долго:

Второе – проблемы с доступом в “обычный” интернет.

Как сказано в FAQ самого проекта:

If your primary reason to use an anonymous network is to anonymously access sites on the regular Internet, you should probably try Tor.

И:

Remember: I2P was not designed for creating proxies to the outer Internet. Instead, it is meant to be used as an internal network.

На момент написания поста – мне так и не удалось добиться ответа от outproxy false.i2p и достучаться к тому же google.com.

Настройки outproxy находятся на странице http://127.0.0.1:7657/i2ptunnel/edit.jsp?tunnel=0

И последнее – многие сайты/узлы временно или на совсем уже находятся “на кладбище”.

Для проверки существует сервис http://stats.i2p:

Ну и строка:

Records indicate that progromore.i2p was last seen Dec. 21, 2015.

Говорит сама за себя.

Ссылки по теме

I2P Wiki Arch Linux

FAQ проекта

Документация

How to use I2P: An idiot’s starting guide

I2P 101 – Inside the Invisible Internet

Всё что вы хотели знать и боялись спросить о I2P

i2p сайты