I2P Router Help

На каких системах работает I2P?

I2P написан на языке программирования Java. Он был протестирован на Windows, Linux, FreeBSD и OSX. Порт для Android также доступен.

Что касается использования памяти, I2P по умолчанию настроен на использование 128 МБ ОЗУ. Этого достаточно для просмотра и использования IRC. Однако другие действия могут потребовать большего выделения памяти. Например, если вы хотите запустить маршрутизатор с высокой пропускной способностью, участвовать в торрентах I2P или обслуживать скрытые сервисы с большим трафиком, требуется больший объем памяти.

Что касается использования ЦП, I2P был протестирован для работы на умеренных системах, таких как одноплатные компьютеры серии Raspberry Pi. Поскольку в I2P активно используются криптографические технологии, более мощный процессор будет лучше справляться с нагрузкой, создаваемой I2P, а также с задачами связанными с остальной частью системы (т.е. ОС, ГИП, другими процессами, например, веб-браузингом).

Сравнение доступных оболочек Java Runtime (JRE) доступно здесь: https://trac.i2p2.de/wiki/java. Рекомендуется использование Sun/Oracle Java или OpenJDK.

Обязательна ли установка Java для использования I2P?

Основная реализация клиента I2P требует установки Java, но существуют альтернативные клиенты, которые обходятся без неё.

Что такое "I2P сайт?".

Ранее называвшийся eepSite, I2P Site - это сайт, размещенный анонимно, скрытый сервис, доступный через ваш веб-браузер. Доступ к нему можно получить, настроив HTTP-прокси вашего браузера на использование веб-прокси I2P (обычно он прослушивает порт localhost 4444) и перейдя на сайт. Подробные инструкции по настройке браузера можно найти на странице конфигурации browser.

Что означают цифры во фразе "Активные x/y" в консоли маршрутизатора?

x - это количество пиров, от которых вы успешно получили или которым успешно отослали сообщение за последнюю минуту, y - это количество увиденных пиров за, примерно, последний час Попробуйте навести курсор на другие линии для краткого описания.

Я против некоторых типов контента. Как я могу избежать участия в распространении, хранении или доступе к нему?

I2P анонимная сеть - она разработана, чтобы противостоять попыткам блокировки или цензуры контента, тем самым предоставляя всем средство для общения. Трафик I2P, проходящий через ваш роутер, шифруется несколькими уровнями шифрования. Исключая серьезной уязвимости в безопасности (о которой пока ничего не известно), невозможно узнать содержание трафика и, следовательно, отличить трафик, против которого человек выступает или не выступает. Мы рассматриваем 3 части вопроса:

  • Распространение
    Весь трафик на I2P зашифрован на нескольких уровнях. Вы не знаете содержание сообщения, его источник или пункт назначения. Весь трафик, который вы маршрутизируете, является внутренним для сети I2P, вы не выходной узел (в нашей документации он называется outproxy). Единственная альтернатива отказаться от маршрутизации любого трафика - установить свою пропускную способность или кол-во участвующих туннелей на 0 (см. выше). Но лучше этого не делать, и помогать маршрутизировать трафик для других. Более 95% пользователей маршрутизируют трафик для других.
  • Хранение
    I2P не занимается распределенным хранением контента, пользователю это надо отдельно установить и настроить (например, с помощью Tahoe-LAFS). Это функция другой анонимной сети, Freenet. Запустив I2P, вы не сохраняете контент для кого-либо.
  • Доступ
    Если есть скрытые сервисы, которые вам не нравятся, вы можете не заходить на них. Ваш роутер не будет запрашивать какое-либо содержимое без вашего указания.

Is it possible to block I2P?

Да, самым простым и распространенным способом является блокировка бутстра, или серверов "Reseed". Полная блокировка всего обфусцированного трафика тоже сработает (хотя это нарушит многие другие вещи, которые не I2P, и большинство не заходят так далеко). В случае блокировки reseed, есть пакет reseed на Github, блокировка его также заблокирует Github. Вы можете присоединиться к сети через прокси-сервер (их много в Интернете, если вы не хотите использовать Tor) или поделиться по принципу "друг-другу" в автономном режиме.

Внутри wrapper.log я вижу ошибку вида Protocol family unavailable при запуске консоли маршрутизатора.

Эта ошибка часто возникает на сетевых java-приложениях на системах, которые используют IPv6 по умолчанию. Есть несколько вариантов действий:

  • На Linux можно сделать echo 0 > /proc/sys/net/ipv6/bindv6only
  • Ищите следующие строки в wrapper.config.
    #wrapper.java.additional.5=-Djava.net.preferIPv4Stack=true
    #wrapper.java.additional.6=-Djava.net.preferIPv6Addresses=false

    Если такие строки есть, раскомментируйте их, удалив "#". Если таких строк нет, то добавьте их без "#" в начале строк.
Другой вариант - это удалить ::1 из ~/.i2p/clients.config

ПРЕДУПРЕЖДЕНИЕ: Чтобы применить любые изменения в wrapper.config нужно полностью остановить и маршрутизатор, и упаковщик. Нажатия Перезапуск на консоли маршрутизатора недостаточно! Нужно выполнить Shutdown, подождать 11 минут и перезапустить I2P.

Большинство сайтов I2P внутри I2P не работают?

Если вы посмотрите на все сайты I2P, когда-либо созданые, то да, большинство не работают. Люди и сайты I2P приходят и уходят. Хороший способ начать работу в I2P - посмотреть список сайтов, которые сейчас работают. http://identiguy.i2p.xyz отслеживает активные I2P-сайты.

Почему I2P слушает на порту 32000?

Tanuki java сервис-враппер, который мы используем, открывает порт —привязанный к localhost— для связи с ПО, работающим внутри JVM. Когда запускается JVM, ему дается ключ, чтобы он мог подключиться к врапперу. После того как JVM установит соединение с враппером, враппер отклоняет любые дополнительные соединения.

Больше информации можно найти в документации упаковщика.

Configuration

Как мне настроить мой браузер?

Конфигурации прокси для разных браузеров находятся на отдельной странице вместе со скриншотами. Более сложные конфигурации с применением внешних инструментов, таких как плагин для браузера FoxyProxy или прокси-сервер Privoxy, возможны, но могут стать причиной утечек в ваших настройках.

Как попасть в IRC внутри сети I2P?

Туннель к главному IRC-серверу в I2P, Irc2P, создается при установке I2P (см. страницу конфигурации I2PTunnel) и автоматически запускается при запуске I2P-маршрутизатора. Чтобы подключиться к нему, укажите вашему IRC-клиенту подключиться к localhost 6668. Пользователи клиентов похожих на HexChat могут создать новую сеть с сервером localhost/6668 (не забудьте отметить "Bypass proxy server", если у вас настроен прокси-сервер). Пользователи Weechat могут использовать следующую команду для добавления новой сети:

    /server add irc2p localhost/6668
  

Как создать собственный сайт I2P?

Нажмите на ссылку Веб-сайт наверху интерфейса консоли маршрутизатора.

Если я размещу дома сайт на I2P, содержащий только HTML и CSS, опасно ли это?

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

Как I2P находит сайты ".i2p"?

The I2P Address Book application maps human-readable names to long-term destinations, associated with services, making it more like a hosts file or a contact list than a network database or a DNS service. It's also local-first there is no recognized global namespace, you decide what any given .i2p domain maps to in the end. The middle-ground is something called a "Jump Service" which provides a human-readable name by redirecting you to a page where you will be asked "Do you give the I2P router permission to call $SITE_CRYPTO_KEY the name $SITE_NAME.i2p" or something to that effect. Once it's in your address book, you can generate your own jump URL's to help share the site with others.

Как мне добавить адреса в адресную книгу?

Вы не можете добавить адрес, не зная хотя бы base32 или base64 сайта, который вы хотите посетить. "Имя хоста", которое может прочитать человек, является лишь альтернативным именем для криптографического адреса, который соответствует base32 или base64. Без криптографического адреса невозможно получить доступ к сайту I2P, так выстроена система. Распространение адреса до людей, которые его еще не знают, обычно входит в обязанности поставщика услуг Jump. Посещение неизвестного I2P-сайта запустит использование сервиса Jump. stats.i2p - самый надежный сервис Jump.

Если вы размещаете сайт через i2ptunnel, то у него еще не будет регистрации в службе перехода. Чтобы дать ему URL локально, зайдите на страницу конфигурации и нажмите кнопку "Добавить в локальную адресную книгу". Затем перейдите по адресу http://127.0.0.1:7657/dns, найдите URL addresshelper и поделитесь им.

Какие порты использует I2P?

Порты, которые используются I2P, можно разделить на 2 части:

  1. Порты, выходящие в Интернет, которые используются для связи с другими маршрутизаторами I2P
  2. Локальные порты, для локальных соединений

Это описывается в деталях ниже.

  1. Порты, обращенные к Интернету
    Примечание: Начиная с версии 0.7.8, новые установки не используют порт 8887; при первом запуске программы назначается случайный порт между 9000 и 31000. Выбранный порт отображается на странице конфигурации маршрутизатора.
    ИСХОДЯЩИЕ
    • UDP с произвольного порта, указанного на странице конфигурации до разных удаленных UDP портов, позволяют получать ответы
    • TCP с произвольных высоких портов до произвольных удаленных TCP-порты
    • Исходящий UDP на порте 123, позволяющий получать ответы. Это необходимо для синхронизации внутреннего времени I2P (через SNTP - запрос случайного SNTP-хоста в pool.ntp.org или другого указанного вами сервера).
    ВХОДЯЩИЕ
    • (Можно обойтись, но желательно) UDP на порт, указанный в настройках, из разных источников
    • (Можно обойтись, но желательно) TCP на порт, указанный в настройках, из разных источников
    • Входящие TCP могут быть запрещены на странице конфигурации
  2. Локальные порты I2P, по умолчанию прослушивающие только локальные соединения, за исключением отмеченных случаев:
    ПОРТ НАЗНАЧЕНИЕ ОПИСАНИЕ
    1900 UPnP SSDP UDP multicast listener Не может быть изменен. Связывается со всеми интерфейсами. Может быть отключен на confignet.
    2827 BOB bridge API сокетов более высокого уровня для клиентов. По умолчанию отключен. Может быть включен/выключен на configclients. Может быть изменен в файле bob.config.
    4444 HTTP proxy Может быть отключен или изменен на странице i2ptunnel в консоли маршрутизатора. Можно также настроить привязку к определенному интерфейсу или ко всем интерфейсам.
    4445 HTTPS proxy Может быть отключен или изменен на странице i2ptunnel в консоли маршрутизатора. Можно также настроить привязку к определенному интерфейсу или ко всем интерфейсам.
    6668 IRC proxy Может быть отключен или изменен на странице i2ptunnel в консоли маршрутизатора. Можно также настроить привязку к определенному интерфейсу или ко всем интерфейсам.
    7652 HTTP TCP event listener Привязка к адресу локальной сети. Можно изменить через расширенную настройку i2np.upnp.HTTPPort=nnn. Можно отключить на confignet.
    7653 UPnP SSDP UDP search response listener Привязка к адресу локальной сети. Можно изменить через расширенную настройку i2np.upnp.SSDPPort=nnnn. Можно отключить на confignet.
    7654 I2P Client Protocol port Используется клиентскими приложениями. Можно изменить на другой порт на configclients, но это не рекомендуется. Можно привязать к другому или ко всем интерфейсам, или отключить на configclients.
    7655 UDP for SAM bridge API сокетов более высокого уровня для клиентов открывается Только при запросе сеанса UDP клиентом SAM V3. Можно включить/выключить на configclients. Можно изменить в файле clients.config с помощью параметра командной строки SAM sam.udp.port=nnn.
    7656 SAM bridge API сокетов более высокого уровня для клиентов Отключен по умолчанию для новых установок, начиная с версии 0.6.5. Можно включить/выключить на configclients. Можно изменить в файле clients.config.
    7657 Your router console Можно отключить в файле clients.config. Также можно настроить привязку к определенному или ко всем интерфейсам в этом файле.
    7658 Your I2P Site Можно отключить в файле clients.config. Можно также настроить привязку к определенному или ко всем интерфейсам в файле jetty.xml.
    7659 Outgoing mail to smtp.postman.i2p Можно отключить или изменить на странице i2ptunnel в консоли маршрутизатора. Можно также настроить привязку к определенному или ко всем интерфейсам.
    7660 Incoming mail from pop3.postman.i2p Можно отключить или изменить на странице i2ptunnel в консоли маршрутизатора. Можно также настроить привязку к определенному или ко всем интерфейсам.
    8998 mtn.i2p-projekt.i2p (Monotone) Можно отключить или изменить на странице i2ptunnel в консоли маршрутизатора. Можно также настроить привязку к определенному или ко всем интерфейсам.
    31000 Local connection to the wrapper control channel port Только за пределами 32000, не слушает на этом порту. Начиная с 31000 и до 31999 последовательно ищет свободный порт. Чтобы поменять, см. документацию на враппер. Для доп. информации, смотрите ниже.
    32000 Local control channel for the service wrapper Чтобы изменить, см.документацию упаковщика. Для большей информации см. ниже.

Локальные порты I2P и порты туннелей не должны быть доступны с удаленных машин, но *должны* быть доступны локально. Вы также можете создать дополнительные порты для I2PTunnel через http://localhost:7657/i2ptunnel/ (и вообще, вам стоит настроить ваш локальный доступ в файрволле, а удаленный запретить, если вам он не нужен).

В заключение, ничего не должно быть доступно неразрешенным удаленным соединениям, но стоит разрешить удаленный доступ к интернет-портам, это хорошо отразится на производительности. Вам нужно иметь возможность отправлять UDP на разные удаленные адреса (Случайное блокирование адресов чем-нибудь вроде PeerGuardian вам будет только мешать, не делайте так).

Я пропускаю много хостов в своей адресной книге. Какие есть хорошие ссылки на подписку?

На этот вопрос можно ответить в 3 частях:

  1. На моем маршрутизаторе часто появляется сообщение "Веб-сайт не найден в адресной книге", почему я вижу это сообщение?

    Читабельные адреса, такие как http://website.i2p, являются ссылками на длинную случайную строку, известную как destination. Эти ссылки регистрируются и хранятся в службах адресной книги, таких как stats.i2p, которая управляются zzz. Часто встречается "b32" адрес. "b32" - это хэш (в частности, хэш SHA256) адреса назначения. К этому хэшу добавляется ".b32.i2p", и он служит удобным способом соединения в вашей скрытой службой, не требуя регистрации в службе адресной книги.

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

  2. Что такое подписка на адресную книгу?

    Это список файлов, расположенных на различных I2P сайтах, в которых содержатся списки узлов в I2P и соответствующих адресов назначения.

    Адресная книга расположена по ссылке http://localhost:7657/dns, где можно найти дополнительную информацию.

  3. Какие есть хорошие ссылки для подписки на адресную книгу?

    Вы можете попробовать следующее:

Как я могу настроить доступ к консоли маршрутизатора с других машин или защитить этот доступ паролем?

В целях безопасности консоль администратора маршрутизатора по умолчанию слушает соединения только на локальном интерфейсе. Существует два метода удаленного доступа к консоли:

  1. SSH-туннель
  2. Настройка доступности вашей консоли на публичном IP-адресе с именем пользователя & паролем

Они подробно описаны ниже:

  1. SSH-туннель
    Если вы используете Unix-подобную ОС, это самый простой способ удаленного доступа к консоли I2P. (Примечание: для систем под управлением Windows доступно ПО SSH-сервера, например, https://github.com/PowerShell/Win32-OpenSSH)
    После того, как вы настроили SSH-доступ к вашей системе, флаг '-L' передается SSH с соответствующими аргументами - например:
            ssh -L 7657:localhost:7657 (System_IP)
            
    where '(System_IP)' is replaced with your System's IP address. This command forwards port 7657 (the number before the first colon) to the remote system's (as specified by the string 'localhost' between the first and second colons) port 7657 (the number after the second colon). Your remote I2P console will now be available on your local system as 'http://localhost:7657' and will be available for as long as your SSH session is active. If you would like to start an SSH session without initiating a shell on the remote system, you can add the '-N' flag:
            ssh -NL 7657:localhost:7657 (System_IP)
            
  2. Настройка доступности вашей консоли на публичном IP-адресе с именем пользователя & паролем
    1. Откройте ~/.i2p/clients.config и замените
                      clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/
                
      with
                      clientApp.0.args=7657 ::1,127.0.0.1,(System_IP) ./webapps/
                
      where you replace (System_IP) with your system's public IP address
    2. Перейдите на http://localhost:7657/configui и при желании добавьте имя пользователя и пароль консоли - Добавление имени пользователя и пароля настоятельно рекомендуется для защиты вашей консоли I2P от несанкционированного доступа, который может привести к деанонимизации.
    3. Перейдите на http://localhost:7657/indexи нажмите "Мягкий перезапуск", это перезапустит JVM и перезагрузит клиентские приложения
    После этого вы должны иметь возможность удаленного доступа к консоли. Загрузите консоль маршрутизатора на http://(System_IP):7657, и вам будет предложено ввести имя пользователя и пароль, которые вы указали в шаге 2 выше, если ваш браузер поддерживает всплывающее окно аутентификации.
    ПРИМЕЧАНИЕ: В приведенной выше конфигурации можно указать 0.0.0.0. Здесь указывается интерфейс, а не сеть или маска сети. 0.0.0.0 означает "привязка ко всем интерфейсам", поэтому он может быть доступен на 127.0.0.1:7657, а также на любом IP-адресе LAN/WAN. Будьте осторожны при использовании этой опции, так как консоль будет доступна на ВСЕХ адресах, настроенных в вашей системе.

Как я могу использовать приложения с других моих машин?

Инструкции по использованию SSH Port Forwarding см. в предыдущем ответе, а также посмотрите эту страницу в вашей консоли: http://localhost:7657/configi2cp

Можно использовать I2P как SOCKS proxy?

SOCKS-прокси функционирует с версии 0.7.1. Поддерживаются SOCKS 4/4a/5. I2P не имеет SOCKS outproxy, поэтому его использование ограничено только внутри I2P.

Многие приложения передают конфиденциальную информацию, которая может идентифицировать вас в Интернете, и это риск, о котором следует помнить при использовании прокси-сервера I2P SOCKS. I2P фильтрует только данные о соединении, но если программа, которую вы собираетесь запустить, отправляет эту информацию в виде содержимого, у I2P нет способа защитить вашу анонимность. Например, некоторые почтовые приложения отправляют IP-адрес машины, на которой они запущены, на почтовый сервер. У I2P нет способа отфильтровать это, поэтому использование I2P для "socksify" существующих приложений возможно, но крайне опасно.

Если вы хотите больше информации по поводу SOCKS прокси и приложений, обратите внимание на советы на этой странице

Как я могу попасть на IRC, BitTorrent или другой сервис в обычном интернете?

Если только outproxy не был специально настроен для сервиса, к которому вы хотите подключиться, это невозможно сделать. В настоящее время существует только три типа аутпрокси: HTTP, HTTPS и электронная почта. Обратите внимание, что аутпрокси SOCKS не существует. Если вам необходим этот тип сервиса, мы рекомендуем вам использовать Tor. Обратите внимание, проект Tor рекомендует не использовать BitTorrent через Tor, поскольку в этом случае возникают серьезные проблемы с анонимностью.

Privacy and Safety

А мой роутер является "выходным узлом" в обычный интернет? Я не хочу, чтобы так было.

Нет. В отличие от Tor, "выходные узлы" - или "аутпрокси", как их называют в сети I2P - не являются неотъемлемой частью сети. Только добровольцы, специально настроившие и запустившие отдельные приложения, будут ретранслировать трафик в обычный Интернет. Таких очень, очень мало. По умолчанию HTTP-прокси I2P (настроенный на работу с портом 4444) включает единственный аутпрокси: false.i2p. Он запускается на добровольной основе компанией Meeh. На наших форумах есть руководство аутпрокси, если вы хотите узнать больше.

Безопасно ли использовать I2P?

Before you use I2P, use Basic Computer Hygiene Always! Apply your OS vendor provided software updates in a prompt manner. Be aware of the state of your firewall and anti-virus status if you use one. Always get your software from authentic sources.

I2P в своей базовой настройке стремится быть безопасным для всех пользователей.

Может быть опасно использовать I2P в странах, которые проект называет "Строгими странами", где законодательство может быть не совсем ясным в отношении анонимизирующего ПО и где риски считаются достаточно высокими. Большинство аналогов I2P не находятся в таких строгих странах, а те, что находятся, переведены в "Скрытый режим", где они взаимодействуют с остальной сетью более ограниченными способами, так что они менее заметны для сетевых наблюдателей.

Я вижу IP-адреса всех других узлов I2P в консоли маршрутизатора. Означает ли это, что мой IP-адрес виден другим?

Да, и так работает полностью распределенная одноранговая сеть

Хотя тот факт, что на вашем компьютере работает I2P, является общедоступным, никто не может видеть в нём ваши действия. Вы не можете сказать, предоставляет ли в общий доступ пользователь за этим IP-адресом файлы, размещает веб-сайт, проводит исследования или просто запускает узел для обеспечения пропускной способности проекта.

Легко ли обнаружить использование I2P, анализируя сетевой трафик?

Можно сделать вывод, что кто-то использует сеть I2P с ограниченной степенью надежности, но узнать это наверняка довольно сложно. Самый надежный способ узнать - это иметь компьютер с достаточно стабильным IP-адресом, который, вы предполагаете, является пользователем I2P, и несколько компьютеров, которые вы контролируете в разных сетях, и все они работают с I2P. Когда один из них подключается к вашему подозреваемому компьютеру, вы сможете увидеть их I2P-маршрутизатор в netDB. Это может занять время, и этого может не произойти. Вы также можете попробовать заблокировать весь обфусцированный трафик в конкретной сети до тех пор, пока вы не убедитесь, что каждый I2P-маршрутизатор в этой сети потерял всех своих пиров. В этот момент они будут обращаться к reseed серверам, чтобы получить больше пиров, что, вероятно, может наблюдать сетевой администратор.

Безопасно ли использовать outproxy?

I2P не шифрует Интернет, как и Tor - например, через Transport Layer Security (TLS). I2P и Tor оба направлены на безопасную и анонимную передачу вашего трафика по соответствующей сети к месту назначения. Любой незашифрованный трафик, созданный в вашей системе, будет поступать на аутпрокси (в I2P) или на выходной узел (в Tor) как незашифрованный трафик. Это означает, что вы уязвимы для слежки со стороны операторов аутпрокси. Один из способов защитить ваш аутпрокси трафик от этого - убедиться, что любой трафик, который будет обрабатываться аутпрокси, зашифрован с помощью TLS.

Для большей информации вы можете почитать Tor FAQ для получения ответа на вопрос: https://www.torproject.org/docs/faq#CanExitNodesEavesdrop

Кроме того, вы можете быть уязвимы перед сговором между оператором аутпрокси и операторами других служб I2P, если используете одни и те же туннели ("общие клиенты"). Есть дополнительное обсуждение этого на zzz.i2p. Эта дискуссия также отображена на наших форумах.

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

Как насчет атак "деанонимизации"?

Уменьшение анонимности обычно осуществляется путем A) определения характеристик, которые постоянны для всех анонимных личностей или B) выявления эфемерных характеристик повторяющихся соединений. Мы говорим "уменьшение" анонимности, потому что многие из этих характеристик общие для многих наших пользователей, что делает эти анонимности "наборами", чем меньше набор анонимности и чем к большему количеству маленьких наборов вы принадлежите, тем хрупче ваша анонимность.

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

Атаки на ПО, настроенное для работы с I2P, не входят в сферу компетенции I2P. При браузинге I2P или хостинге I2P-сервисов, пользователь обязан учитывать модель угроз. Браузеры являются особенно проблематичными из-за атак по цифровым отпечаткам и широкого спектра информации, которая может быть получена из них. Считается, что использование стандартного профиля браузера поможет смягчить влияние цифровых следов.

Reseeds

Мой маршрутизатор запущен уже несколько минут и у него нет или очень мало соединений

Новые установки I2P выполняют reseeding процесс автоматически, а также когда число известных пиров падает до критически низкого значения. Если необходим reseed маршрутизатора, посмотрите reseed инструкцию.

Как вручную выполнить начальную загрузку маршрутизатора (reseed)?

I2P-маршрутизатор нужно запустить один раз, чтобы присоединиться к сети в впервые. Reseeding включает в себя получение нескольких файлов "RouterInfo" (упакованных в подписанный zip-файл) по меньшей мере с двух предопределенных URL-адресов сервера, выбранных из группы HTTPS-серверов непубличного Интернета управляемого волонтерами.

Типичным признаком проблемы неудачного ресида является показатель "Известно" (на левой боковой панели консоли маршрутизатора), который показывает очень малые значения (часто - меньше 5), и который не увеличивается. Так получается, среди прочего, когда ваш межсетевой экран блокирует исходящий трафик, а также запросы ресида.

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

Начиная с версии 0.9.33, вы также можете переконфигурировать свой маршрутизатор I2P для пересидирования через прокси Перейдите на http://localhost:7657/configreseed и настройте тип прокси, имя хоста и порт.

Присоединение к сети I2P, используя reseed-файл

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

Импорт полученного файла i2preseed.zip в ваш локальный маршрутизатор I2P:

  • Перейти к http://localhost:7657/configreseed
  • В разделе "Выполнить начальную загрузку вручную из файла" выберите "Просмотр"
  • Выберите файл i2preseed.zip
  • Нажмите "Начальная загрузка из файла"

Проверьте наличие следующего сообщения влоге:
Reseed got 100 router infos from file with 0 errors

Поделиться файлом начальной загрузки

Для доверенных друзей вы можете использовать ваш локальный маршрутизатор I2P, чтобы помочь им со стартом:

  • Перейти к http://localhost:7657/configreseed
  • В разделе "Создать файл начальной загрузки" выберите "Создать файл начальной загрузки"
  • Безопасно отправить вашему другу файл i2preseed.zip

Ни при каких обстоятельствах не показывайте этот файл незнакомым пользователям, поскольку он содержит чувствительные приватные данные (100 RouterInfo) от вашего собственного I2P маршрутизатора! Чтобы защитить свою анонимность, вы можете подождать случайное количество часов/дней перед тем, как поделитесь этим файлом с доверенным другом. Также рекомендуется использовать эту процедуру умеренно часто (< 2 раз в неделю).

Общие рекомендации для выполнения начальной загрузки I2P вручную

  • Не публикуйте ресид файл и не делитесь им с друзьями друзей!
  • Этот файл должен использоваться только для очень ограниченного количества друзей (< 3)!
  • Файл валиден небольшое количество времени (меньше 20 дней)!

Internet Access/Performance

Я не могу попасть на обычные сайты в интернете через I2P.

I2P в первую очередь не предназначен и не расчитан для использования в качестве прокси-сервера для обычного Интернета. Тем не менее, существуют сервисы, предоставляемые волонтерами, которые действуют как прокси-серверы для доступа к неприватному интернет-контенту - в сети I2P они называются "аутпрокси". По умолчанию в туннеле HTTP-клиента I2P настроен аутпрокси - false.i2p. Хотя этот сервис существует в настоящее время, нет гарантии, что он будет существовать всегда, так как это не официальный сервис, предоставляемый проектом I2P. Если вашим основным требованием к анонимной сети является возможность доступа к неприватным интернет-ресурсам, мы рекомендуем использовать Tor.

Я не могу попасть на https:// или ftp:// сайты через I2P.

  • HTTPS
    В рамках I2P нет требования использовать HTTPS. Весь трафик имеет сквозное шифрование, любое дальнейшее шифрование, например, с использованием HTTPS, не создает дополнительных преимуществ, связанных с анонимностью. Однако, если вы хотите использовать HTTPS, существующий по умолчанию I2P HTTP Proxy имеет поддержку трафика HTTPS. Любой оператор скрытых услуг должен будет специально настроить и включить доступ HTTPS.
  • FTP
    FTP не поддерживается по техническим причинам. Не существует FTP "outproxies" в Интернет - возможно, их даже невозможно установить. Любой другой вид аутпрокси может работать, если он настроен с помощью стандартного туннеля. Если вы хотите установить какой-либо тип аутпрокси, тщательно изучите потенциальные риски. Сообщество I2P может помочь или нет с техническими аспектами, не стесняйтесь спрашивать. Как уже несколько раз объяснялось выше, любой существующий аутпрокси не является основной частью сети. Это службы, управляемые отдельными лицами, и они могут работать или не работать в любой момент времени.

Мой маршрутизатор использует много ресурсов ЦП, что я могу с этим сделать?

Есть много причин для высокой нагрузки на CPU. Вот проверочный список:

  • Java Runtime Environment
    Попробуйте использовать OpenJDK или Sun/Oracle Java, если они доступны для вашей системы. Вы можете проверить, какая версия java у вас установлена, набрав java -version в командной строке/программе оболочки. При использовании других реализаций java производительность, как правило, снижается.
  • Приложения для обмена файлами, например, BitTorrent
    Вы используете BitTorrent клиент поверх I2P? Пробуйте уменьшить количество раздач, ограничения по трафику или попробуйте временно выключить раздачи и загрузки, чтобы выяснить, поможет ли это.
  • Настройки высокой пропускной способности
    В Ваших ограничениях по трафику установлены очень высокие лимиты? Возможно, что слишком много данных идет через ваш I2P-маршрутизатор и он перегружен. Пробуйте уменьшить настройку Доля транзитного трафика на странице конфигурации.
  • Версия I2P
    Убедитесь, что используете новейшую версию I2P, чтобы воспользоваться достижениями в производительности и свежими исправлениями проблем.
  • Распределение памяти
    Достаточно ли памяти было отведено для использования I2P? Посмотрите на странице графиков чтобы убедиться, что использование памяти "pegged"—the JVM проводит большую часть времени в сборке мусора. Увеличьте параметр wrapper.java.maxmemory в файле wrapper.config.
  • Bursts of high-usage vs. constant 100% usage
    Использование процессора выше, чем вам хотелось бы, или же оно зафиксировано на уровне 100% в течение длительного времени? Если оно зафиксировано, это может быть ошибкой. Поищите подсказки в логах.
  • Относящееся к Java
    Возможно, вы используете библиотеку для работы с большими числами, реализованную на Java, а не в виде подгружаемой нативной библиотеки, так бывает, например, если вы работаете на новой или необычной платформе (ОpenSolaris, mipsel и другие). Обратите внимание на страницу с исходными кодами библиотеки для инструкций по диагностике, сборке под вашу платформу и методике тестирования.
  • Транзитные туннели
    Если ваша библиотека jbigi работает нормально, то самым большим пользователем процессора может быть маршрутизация трафика для участвующих туннелей. Поскольку в каждом прыжке необходимо декодировать уровень шифрования, это потребляет CPU. Вы можете ограничить участвующий трафик двумя способами - уменьшив общую пропускную способность на странице confignet, или установив значение router.maxParticipatingTunnels=nn на странице configadvanced.

На моем маршрутизаторе очень мало активных пиров, это нормально?

Если у вашего маршрутизатора 10 или более активных пиров, все в порядке. Маршрутизатор должен постоянно поддерживать соединения с несколькими пирами. Лучший способ оставаться "хорошо подключенным" к сети - это совместно использовать большую пропускную способность. Объем пропускной способности, совместно используемой маршрутизатором, можно изменить на странице конфигурации: http://localhost:7657/config

Числа активных пиров / известных пиров / туннелей / соединений / полосы очень сильно меняются! Что-то не так?

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

Что делает загрузки файлов, торрентов, просмотр веб-страниц и все остальное медленнее в I2P по сравнению с обычным интернетом?

Шифрование и маршрутизация в сети I2P добавляют значительное количество накладных расходов и ограничивают пропускную способность. Мы можем попытаться прояснить это с помощью диаграммы:

На этой диаграмме показан путь, который проходит некоторый трафик I2P при прохождении через сеть. I2P-маршрутизатор пользователя обозначен надписью "A", а скрытая служба I2P (например, веб-сайт http://stats.i2p) обозначена как "B". Клиент и сервер используют 3-прыжковые туннели, эти прыжки представлены ячейками с метками 'P', 'Q', 'R', 'X', 'Y', 'Z', 'P_1', 'Q_1', 'R'_1, 'X_1', 'Y_1' и 'Z_1'.

Ячейки с метками 'P', 'Q' и 'R' представляют исходящий туннель для A, а ячейки с метками 'X_1', 'Y_1', 'Z_1' представляют исходящий туннель для B. Аналогично, ячейки с метками 'X', 'Y' и 'Z' представляют входящий туннель для 'B', а ячейки с метками 'P_1', 'Q_1' и 'R_1' представляют входящий туннель для 'A'. Стрелки между ячейками показывают направление движения. Текст над и под стрелками показывает пример пропускной способности между парой прыжков, а также пример задержки.

Когда клиент и сервер используют 3-прыжковые туннели, в ретрансляции трафика участвуют в общей сложности 12 других маршрутизаторов I2P. 6 пиров передают трафик от клиента к серверу, который разделяется на исходящий 3-прыжковый туннель от 'A' ('P', 'Q', 'R') и входящий 3-прыжковы туннель к 'B' ('X', 'Y', 'Z'). Аналогично, 6 пиров ретранслируют трафик от сервера обратно к клиенту.

Во-первых, мы можем рассмотреть латентность - время, которое требуется для того, чтобы запрос от клиента прошел через сеть I2P, достиг сервера и вернулся к клиенту. Суммируя все задержки, мы видим, что:

      40 + 100 + 20 + 60 + 80 + 10 + 30 ms        (client to server)
    + 60 + 40 + 80 + 60 + 100 + 20 + 40 ms        (server to client) 
    -----------------------------------
    TOTAL:                          740 ms

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

Во-вторых, мы можем рассмотреть доступную пропускную способность. Она определяется по самому медленному каналу связи между прыжками от клиента и сервера, а также при передаче трафика от сервера к клиенту. Для трафика, идущего от клиента к серверу, мы видим, что доступная пропускная способность в нашем примере между прыжками 'R' & 'X', а также прыжками 'X' & 'Y' составляет 32 КБ/с. Несмотря на более высокую доступную пропускную способность между другими узлами, эти узлы будут действовать как узкое место и ограничат максимальную доступную пропускную способность для трафика от 'A' к 'B' на уровне 32 КБ/с. Аналогично, трассировка пути от сервера к клиенту показывает, что максимальная пропускная способность 64 КБ/с - между перекрестками 'Z_1' & 'Y_1, 'Y_1' & 'X_1' и 'Q_1' & 'P_1'.

Мы рекомендуем увеличить лимит пропускной способности. Это поможет сети, увеличив доступную пропускную способность, что, в свою очередь, улучшит ваш опыт с I2P. Настройки пропускной способности находятся на странице http://localhost:7657/config. Пожалуйста, помните о лимитах вашего интернет-соединения, установленных вашим провайдером, и соответствующим образом изменяйте свои настройки.

Мы также рекомендуем установить достаточный объем общей пропускной способоности - это позволит участникам туннелей маршрутизироваться через ваш I2P-маршрутизатор. Разрешение участвующего трафика обеспечивает хорошую интеграцию маршрутизатора в сеть и повышает скорость передачи данных.

I2P находится в процессе развития. Многое меняется и исправляется, и в общем, использование новейших версий помогает увеличить произодительность. Если Вы работаете на старой версии — поставьте новую.

Я думаю, что нашел ошибку, где я могу об этом сообщить?

Вы можете сообщать о любых ошибках/проблемах, с которыми вы столкнулись, в нашем багтрекере, который доступен как через интернет, так и через I2P. У нас есть дискуссионный форум, также доступный через I2P и не частный интернет. Вы также можете присоединиться к нашему IRC-каналу: либо через нашу сеть IRC, IRC2P, либо на Freenode.

Пожалуйста, включите соответствующую информацию со страницы логов маршрутизатора, которая доступна на: http://127.0.0.1:7657/logs. Мы просим вас поделиться всем текстом в разделе 'I2P Version and Running Environment', а также любыми ошибками или предупреждениями, отображаемыми в различных логах, показанных на странице.


Есть вопрос!

Отлично! Найдите нас на IRC:

  • на irc.freenode.net канал #i2p
  • на IRC2P канал #i2p
или напишите на форуме и мы опубликуем это здесь (надеюсь, с ответом).