I2P Router Help

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

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

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

In terms of CPU usage, I2P has been tested to run on modest systems such as the Raspberry Pi range of single-board computers. As I2P makes heavy use of cryptographic techniques, a stronger CPU will be better suited to handle the workload generated by I2P as well as tasks related to the rest of the system (i.e. Operating System, GUI, Other processes e.g. Web Browsing).

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

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

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

What is an "I2P Site?"

Formerly called an eepSite, an I2P Site is a website that is hosted anonymously, a hidden service which is accessible through your web browser. It can be accessed by setting your web browser's HTTP proxy to use the I2P web proxy (typically it listens on localhost port 4444), and browsing to the site. Detailed instructions for configuring your browse can be found on the browser configuration page.

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

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

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

I2P is an anonymous network - it is designed to withstand attempts at blocking or censoring of content, thus providing a means for communication that anyone can use. I2P traffic that transits through your router is encrypted with several layers of encryption. Except in the case of a serious security vulnerability (of which none are currently known), it is not possible to know what the contents of the traffic are and thus not possible to distinguish between traffic which one is opposed to or not opposed to. We consider the 3 parts of the question:

  • Distribution
    All traffic on I2P is encrypted in multiple layers. You don't know a message's contents, source, or destination. All traffic you route is internal to the I2P network, you are not an exit node (referred to as an outproxy in our documentation). Your only alternative is to refuse to route any traffic, by setting your share bandwidth or maximum participating tunnels to 0 (see above). It would be nice if you didn't do this, you should help the network by routing traffic for others. Over 95% of users route traffic for others.
  • Storage
    I2P does not do distributed storage of content, this has to be specifically installed and configured by the user (with Tahoe-LAFS, for example). That is a feature of a different anonymous network, Freenet. By running I2P, you are not storing content for anyone.
  • Access
    If there are hidden services which you dislike, you may refrain from visiting them. Your router will not request any content without your specific instruction to do so.

Is it possible to block I2P?

Yes, by far the easiest and most common way is by blocking bootstrap, or "Reseed" servers. Completely blocking all obfuscated traffic would work as well (although it would break many, many other things that are not I2P and most are not willing to go this far). In the case of reseed blocking, there is a reseed bundle on Github, blocking it will also block Github. You can reseed over a proxy (many can be found on Internet if you do not want to use Tor) or share reseed bundles on a friend-to-friend basis offline.

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

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

  • На Linux можно сделать echo 0 > /proc/sys/net/ipv6/bindv6only
  • Ищите следующие строки в wrapper.config.

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

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

Most of the I2P Sites within I2P are down?

If you consider every I2P Site that has ever been created, yes, most of them are down. People and I2P Sites come and go. A good way to get started in I2P is check out a list of I2P Sites that are currently up. http://identiguy.i2p.xyz tracks active I2P Sites.

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

The Tanuki java service wrapper that we use opens this port —bound to localhost— in order to communicate with software running inside the JVM. When the JVM is launched it is given a key so it can connect to the wrapper. After the JVM establishes its connection to the wrapper, the wrapper refuses any additional connections.

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


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

The proxy config for different browsers is on a separate page with screenshots. More advanced configs with external tools, such as the browser plug-in FoxyProxy or the proxy server Privoxy, are possible but could introduce leaks in your setup.

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

A tunnel to the main IRC server within I2P, Irc2P, is created when I2P is installed (see the I2PTunnel configuration page), and is automatically started when the I2P router starts. To connect to it, tell your IRC client to connect to localhost 6668. HexChat-like client users can create a new network with the server localhost/6668 (remember to tick "Bypass proxy server" if you have a proxy server configured). Weechat users can use the following command to add a new network:

    /server add irc2p localhost/6668

How do I set up my own I2P Site?

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

If I host a website at I2P at home, containing only HTML and CSS, is it dangerous?

If you're hosting a personal blog or doing something otherwise non-sensitive, then you are obviously in little danger. If you have privacy needs that are basically non-specific, you are in little danger. If you are hosting something sensitive, then your services will go down at the same time that your router goes down. Someone who observes your downtime and correlates it to real-world events could probably de-anonymize you with enough effort. I2P has defenses available against this like multihoming or Tahoe-LAFS, but they require additional set up and are only appropriate for some threat models. There is no magic solution, protecting yourself from a real threat will take real consideration in any case.

How Does I2P find ".i2p" websites?

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.

How do I add addresses to the Address Book?

You cannot add an address without knowing at least the base32 or base64 of the site you want to visit. The "hostname" which is human-readable is only an alias for the cryptographic address, which corresponds to the base32 or base64. Without the cryptographic address, there is no way to access an I2P Site, this is by design. Distributing the address to people who do not know it yet is usually the responsibility of the Jump service provider. Visiting an I2P Site which is unknown will trigger the use of a Jump service. stats.i2p is the most reliable Jump service.

If you're hosting a site via i2ptunnel, then it won't have a registration with a jump service yet. To give it a URL locally, then visit the configuration page and click the button that says "Add to Local Address Book." Then go to to look up the addresshelper URL and share it.

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

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

  1. Internet-facing ports, which are used for communication with other I2P routers
  2. Local ports, for local connections

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

  1. Internet-facing ports
    Note: Since release 0.7.8, new installs do not use port 8887; a random port between 9000 and 31000 is selected when the program is run for the first time. The selected port is shown on the router configuration page.
    • UDP from the random port listed on the configuration page to arbitrary remote UDP ports, allowing for replies
    • TCP from random high ports to arbitrary remote TCP ports
    • Outbound UDP on port 123, allowing for replies. This is necessary for I2P's internal time sync (via SNTP - querying a random SNTP host in pool.ntp.org or another server you specify)
    • (Можно обойтись, но желательно) UDP на порт, указанный в настройках, из разных источников
    • (Можно обойтись, но желательно) TCP на порт, указанный в настройках, из разных источников
    • Входящие TCP могут быть запрещены на странице конфигурации
  2. Local I2P ports, listening only to local connections by default, except where noted:
    1900 UPnP SSDP UDP multicast listener Cannot be changed. Binds to all interfaces. May be disabled on confignet.
    2827 BOB bridge A higher level socket API for clients. Disabled by default. May be enabled/disabled on configclients. May be changed in the bob.config file.
    4444 HTTP proxy May be disabled or changed on the i2ptunnel page in the router console. May also be configured to be bound to a specific interface or all interfaces.
    4445 HTTPS proxy May be disabled or changed on the i2ptunnel page in the router console. May also be configured to be bound to a specific interface or all interfaces.
    6668 IRC proxy May be disabled or changed on the i2ptunnel page in the router console. May also be configured to be bound to a specific interface or all interfaces.
    7652 HTTP TCP event listener Binds to the LAN address. May be changed with advanced config i2np.upnp.HTTPPort=nnnn. May be disabled on confignet.
    7653 UPnP SSDP UDP search response listener Binds to the LAN address. May be changed with advanced config i2np.upnp.SSDPPort=nnnn. May be disabled on confignet.
    7654 I2P Client Protocol port Used by client apps. May be changed to a different port on configclients but this is not recommended. May be to bind to a different interface or all interfaces, or disabled, on configclients.
    7655 UDP for SAM bridge A higher level socket API for clients Only opened when a SAM V3 client requests a UDP session. May be enabled/disabled on configclients. May be changed in the clients.config file with the SAM command line option sam.udp.port=nnnn.
    7656 SAM bridge A higher level socket API for clients Disabled by default for new installs as of release 0.6.5. May be enabled/disabled on configclients. May be changed in the clients.config file.
    7657 Your router console May be disabled in the clients.configfile. May also be configured to be bound to a specific interface or all interfaces in that file.
    7658 Your I2P Site May be disabled in the clients.config file. May also be configured to be bound to a specific interface or all interfaces in the jetty.xml file.
    7659 Outgoing mail to smtp.postman.i2p May be disabled or changed on the i2ptunnel page in the router console. May also be configured to be bound to a specific interface or all interfaces.
    7660 Incoming mail from pop3.postman.i2p May be disabled or changed on the i2ptunnel page in the router console. May also be configured to be bound to a specific interface or all interfaces.
    8998 mtn.i2p-projekt.i2p (Monotone) May be disabled or changed on the i2ptunnel page in the router console. May also be configured to be bound to a specific interface or all interfaces.
    31000 Local connection to the wrapper control channel port Outbound to 32000 only, does not listen on this port. Starts at 31000 and will increment until 31999 looking for a free port. To change, see the wrapper documentation. For more information see below.
    32000 Local control channel for the service wrapper Чтобы изменить, см.документацию упаковщика. Для большей информации см. ниже.

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

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

I'm missing lots of hosts in my address book. What are some good subscription links?

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

  1. My router often displays a message saying "Website Not Found In Address Book", why do I see this message?

    Human-readable addresses such as http://website.i2p are references to a long, random string known as a destination. These references are registered and stored at address book services such as stats.i2p, which is run by zzz. You will often encounter a "b32" address. A "b32" is a hash (specifically, a SHA256 hash) of the destination. This hash is appended with ".b32.i2p" and serves as a convenient way to link to your hidden service, without requiring any registration on an address book service.

    It is possible to add subscriptions to your router's configuration which may reduce the frequency of these messages.

  2. What is an address book subscription?

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

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

  3. What are some good address book subscription links?

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

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

For security purposes, the router's admin console by default only listens for connections on the local interface. There are two methods for accessing the console remotely:

  1. SSH-туннель
  2. Configuring your console to be available on a Public IP address with a username & password

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

  1. SSH-туннель
    If you are running a Unix-like Operating System, this is the easiest method for remotely accessing your I2P console. (Note: SSH server software is available for systems running Windows, for example https://github.com/PowerShell/Win32-OpenSSH)
    Once you have configured SSH access to your system, the '-L' flag is passed to SSH with appropriate arguments - for example:
            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. Configuring your console to be available on a Public IP address with a username & password
    1. Откройте ~/.i2p/clients.config и замените
                      clientApp.0.args=7657 ::1, ./webapps/
                      clientApp.0.args=7657 ::1,,(System_IP) ./webapps/
      where you replace (System_IP) with your system's public IP address
    2. Go to http://localhost:7657/configui and add a console username and password if desired - Adding a username & password is highly recommended to secure your I2P console from tampering, which could lead to de-anonymization.
    3. Перейдите на http://localhost:7657/indexи нажмите "Мягкий перезапуск", это перезапустит JVM и перезагрузит клиентские приложения
    After that fires up, you should now be able to reach your console remotely. Load the router console at http://(System_IP):7657 and you will be prompted for the username and password you specified in step 2 above if your browser supports the authentication popup.
    NOTE: You can specify in the above configuration. This specifies an interface, not a network or netmask. means "bind to all interfaces", so it can be reachable on as well as any LAN/WAN IP. Be careful when using this option as the console will be available on ALL addresses configured on your system.

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

Please see the previous answer for instructions on using SSH Port Forwarding, and also see this page in your console: http://localhost:7657/configi2cp

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

The SOCKS proxy has been functional since release 0.7.1. SOCKS 4/4a/5 are supported. I2P does not have a SOCKS outproxy so it is limited to use within I2P only.

Many applications leak sensitive information that could identify you on the Internet and this is a risk that one should be aware of when using the I2P SOCKS proxy. I2P only filters connection data, but if the program you intend to run sends this information as content, I2P has no way to protect your anonymity. For example, some mail applications will send the IP address of the machine they are running on to a mail server. There is no way for I2P to filter this, thus using I2P to 'socksify' existing applications is possible, but extremely dangerous.

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

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

Unless an outproxy has been specifically set up for the service you want to connect to, this cannot be done. There are only three types of outproxies running right now: HTTP, HTTPS, and email. Note that there is no SOCKS outproxy. If this type of service is required, we recommend that you use Tor. Please be aware that the Tor project recommends against using BitTorrent over Tor, as there are serious anonymity-related issues associated with doing so.

Privacy and Safety

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

No. Unlike Tor, "exit nodes" - or "outproxies" as they are referred to on the I2P network - are not an inherent part of the network. Only volunteers who specifically set up and run separate applications will relay traffic to the regular Internet. There are very, very few of these. By default, I2P's HTTP Proxy (configured to run on port 4444) includes a single outproxy: false.i2p. This is run on a voluntary basis by Meeh. There is an outproxy guide available on our forums, if you would like to learn more about running an outproxy.

Is using I2P Safe?

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 strives to be safe in it's default configuration for all users.

It may be dangerous to use I2P in what the project calls "Strict Countries" where the law may not be clear on anonymizing software and where risks are judged to be fairly high. Most I2P peers are not in those strict countries and the ones that are, are placed in "Hidden Mode" where they interact with the rest of the network in more limited ways, so that they are less visible to network observers.

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

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

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

Is it easy to detect the use of I2P by analyzing network traffic?

It can be deduced that somebody is using the I2P network with some reliability, but it is a little difficult to know for sure. The most reliable way to know for sure would be to have a computer with a fairly stable IP address that you suspect is an I2P user, and a bunch of computers you control on different networks all running I2P. When one of them connects to your suspected computer, you will be able to see their I2P router in the netDB. This might take time, and it might never happen. You could also try blocking all obfuscated traffic on a particular network until you're sure every I2P router on that network has lost all of it's peers. At that point, they'll reach out to reseed servers to get more peers, which a network administrator can probably observe.

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

I2P does not encrypt the Internet, neither does Tor - for example, through Transport Layer Security (TLS). I2P and Tor both aim to transport your traffic as-is securely and anonymously over the corresponding network, to its destination. Any unencrypted traffic generated at your system will arrive at the outproxy (on I2P) or the exit node (on Tor) as unencrypted traffic. This means that you are vulnerable to snooping by the outproxy operators. One way to protect your outproxy traffic against this is to ensure that any traffic that will be handled by the outproxy is encrypted with TLS.

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

In addition, you may be vulnerable to collusion between the outproxy operator and operators of other I2P services, if you use the same tunnels ("shared clients"). There is additional discussion about this on zzz.i2p. This discussion has been mirrored on our forums as well.

Ultimately, this is a question that only you can answer because the correct answer depends on your browsing behaviour, your threat model, and how much you choose to trust the outproxy operator.

What about "De-Anonymizing" attacks?

Reducing anonymity is typically done by A) identifying characteristics that are consistent across anonymous identities or B) identifying ephemeral characteristics of repeated connections. We say "reducing" anonymity because many of these characteristics are shared by many of our users, making these anonymity "sets," the smaller the anonymity set and the more small sets you belong to, the more brittle your anonymity.

Attacks on I2P in the past have relied on correlating NetDB storage and verification, by randomizing the delay between storage and verification, we reduce the consistency with which that verification can be linked to I2P activity, thereby limiting the utility of that data point.

Attacks on software configured to work with I2P are out of scope for I2P to solve. When browsing I2P or hosting I2P services, it's is the responsibility of the user to consider their threat model. Browsers are particularly problematic due to fingerprinting attacks, and the wide variety of information that can be gleaned from them. Using a standardized browsing profile is thought to help mitigate the impact of fingerprinting.


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

New installations of I2P carry out the reseeding process automatically, as well as when the number of known peers falls to a drastically low value. If you need to carry out a reseed of your router, please see the reseed instructions.

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

An I2P router only needs to be seeded once, to join the network for the first time. Reseeding involves fetching multiple "RouterInfo" files (bundled into a signed zip-file) from at least two predefined server URLs picked from a volunteer-run group of non-private internet HTTPS servers.

Типичным признаком проблемы неудачного ресида является показатель "Известно" (на левой боковой панели консоли маршрутизатора), который показывает очень малые значения (часто - меньше 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 is primarily not intended, nor designed, to be used as a proxy to the regular internet. With that said, there are services which are provided by volunteers that act as proxies to non-private internet based content - these are referred to as "outproxies" on the I2P network. There is an outproxy configured by default in I2P's HTTP client tunnel - false.i2p. While this service does currently exist, there is no guarantee that it will always be there as it is not an official service provided by the I2P project. If your main requirement from an anonymous network is the ability to access non-private internet resources, we would recommend using Tor.

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

    Within I2P, there is no requirement to use HTTPS. All traffic is encrypted end-to-end, any further encryption, e.g. with the use of HTTPS, doesn't create any further anonymity-related benefits. However, if one would like to use HTTPS or has a requirement to do so, the existing default I2P HTTP Proxy has support for HTTPS traffic. Any hidden service operator would have to specifically set up and enable HTTPS access.
  • FTP
    FTP is not supported for technical reasons. There are no FTP "outproxies" to the Internet—it may not even be possible to set up one. Any other kind of outproxy may work if it's set up with a standard tunnel. If you would like to set up some type of outproxy, carefully research the potential risks. The I2P community may or may not be able to help with the technical aspects, feel free to ask. As explained several times above, any existing outproxy isn't a core part of the network. They are services run by individuals and they may or may not be operational at any given time.

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

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

  • Java Runtime Environment
    Try to use either OpenJDK or Sun/Oracle Java if it's available for your system. You can check which version of java you have installed by typing java -version at a command/shell prompt. Performance tends to suffer with other implementations of java.
  • File sharing applications, e.g. BitTorrent
    Вы используете BitTorrent клиент поверх I2P? Пробуйте уменьшить количество раздач, ограничения по трафику или попробуйте временно выключить раздачи и загрузки, чтобы выяснить, поможет ли это.
  • High bandwidth settings
    В Ваших ограничениях по трафику установлены очень высокие лимиты? Возможно, что слишком много данных идет через ваш I2P-маршрутизатор и он перегружен. Пробуйте уменьшить настройку Доля транзитного трафика на странице конфигурации.
  • Версия I2P
    Убедитесь, что используете новейшую версию I2P, чтобы воспользоваться достижениями в производительности и свежими исправлениями проблем.
  • Memory allocation
    Has enough memory been set aside for use by I2P? Look at the memory graph on the graphs page to see if the memory usage is "pegged"—the JVM is spending most of its time in garbage collection. Increase the setting wrapper.java.maxmemory in the file wrapper.config.
  • Bursts of high-usage vs. constant 100% usage
    Is the CPU usage simply higher than you would like, or is it pegged at 100% for a long time? If it is pegged, this could be a bug. Look in the logs for clues.
  • Относящееся к Java
    Возможно, вы используете библиотеку для работы с большими числами, реализованную на Java, а не в виде подгружаемой нативной библиотеки, так бывает, например, если вы работаете на новой или необычной платформе (ОpenSolaris, mipsel и другие). Обратите внимание на страницу с исходными кодами библиотеки для инструкций по диагностике, сборке под вашу платформу и методике тестирования.
  • Транзитные туннели
    If your native jbigi library is working fine, the biggest user of CPU may be routing traffic for participating tunnels. This uses CPU because at each hop a layer of encryption must be decoded. You can limit participating traffic in two ways - by reducing the share bandwidth on the confignet page, or by setting router.maxParticipatingTunnels=nnn on the configadvanced page.

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

If your router has 10 or more active peers, everything is fine. The router should maintain connections to a few peers at all times. The best way to stay "better-connected" to the network is to share more bandwidth. The amount of bandwidth that is shared by the router can be changed on the configuration page: http://localhost:7657/config

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

No, there isn't anything wrong. This is normal behavior. All routers adjust dynamically to changing network conditions and demands. Routers come online and go offline depending on whether the system it is installed on is operational or not, as well as whether there is an available network connection. Your router is constantly updating its local Network Database. Tunnels which your router is participating in expire every 10 minutes and may or may not be rebuilt through your router.

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

The encryption and routing within the I2P network adds a substantial amount of overhead and limits bandwidth. We can try to clarify this with the aid of a diagram:

In this diagram, the path that some I2P traffic takes as it travels through the network is traced. A user's I2P router is denoted by the box labeled 'A' and an I2P Hidden Service (for example, the http://stats.i2p website) is labelled as 'B'. Both the client and the server are using 3-hop tunnels, these hops are represented by the boxes labelled 'P', 'Q', 'R', 'X', 'Y', 'Z', 'P_1', 'Q_1', 'R'_1, 'X_1', 'Y_1' and 'Z_1'.

The boxes labelled 'P', 'Q' and 'R' represent an outbound tunnel for A while the boxes labelled 'X_1', 'Y_1', 'Z_1' represent an outbound tunnel for 'B'. Similarly, the boxes labelled 'X', 'Y' and 'Z' represent and inbound tunnel for 'B' while the boxes labelled 'P_1', 'Q_1' and 'R_1' represent an inbound tunnel for 'A'. The arrows in between the boxes show the direction of traffic. The text above and below the arrows detail some example bandwidth between a pair of hops as well as example latencies.

When both client and server are using 3-hop tunnels throughout, a total of 12 other I2P routers are involved in relaying traffic. 6 peers relay traffic from the client to the server which is split into a 3-hop outbound tunnel from 'A' ('P', 'Q', 'R') and a 3-hop inbound tunnel to 'B' ('X', 'Y', 'Z'). Similarly, 6 peers relay traffic from the server to back to the client.

First, we can consider latency - the time that it takes for a request from a client to traverse the I2P network, reach the the server and traverse back to the client. Adding up all latencies we see that:

      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

The total round-trip time in our example adds up to 740 ms - certainly much higher than what one would normally see while browsing regular internet websites.

Second, we can consider available bandwidth. This is determined through the slowest link between hops from the client and server as well as when traffic is being transmitted by the server to the client. For traffic going from the client to the server, we see that the available bandwidth in our example between hops 'R' & 'X' as well as hops 'X' & 'Y' is 32 KB/s. Despite higher available bandwidth between the other hops, these hops will act as a bottleneck and will limit the maximum available bandwidth for traffic from 'A' to 'B' at 32 KB/s. Similarly, tracing the path from server to client shows that there is maximum bandwidth of 64 KB/s - between hops 'Z_1' & 'Y_1, 'Y_1' & 'X_1' and 'Q_1' & 'P_1'.

We recommend increasing your bandwidth limits. This helps the network by increasing the amount of available bandwidth which will in turn improve your I2P experience. Bandwidth settings are located on the http://localhost:7657/config page. Please be aware of your internet connection's limits as determined by your ISP, and adjust your settings accordingly.

We also recommend setting a sufficient amount of shared bandwidth - this allows for participating tunnels to be routed through your I2P router. Allowing participating traffic keeps your router well-integrated in the network and improves your transfer speeds.

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

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

You may report any bugs/issues that you encounter on our bugtracker, which is available over both non-private internet and I2P. We have a discussion forum, also available on I2P and non-private internet. You can join our IRC channel as well: either through our IRC network, IRC2P, or on Freenode.

Please include relevant information from the router logs page which is available at: We request that you share all of the text under the 'I2P Version and Running Environment' section as well as any errors or warnings displayed in the various logs displayed on the page.

Есть вопрос!

Great! Find us on IRC:

  • on irc.freenode.net channel #i2p
  • on IRC2P channel #i2p
or post to the forum and we'll post it here (with the answer, hopefully).