{% extends "global/layout.html" %} {% block title %}{{ _('Frequently Asked Questions') }}{% endblock %} {% block content_nav %}
  1. {{ _('General') }}

  2. {% trans %}What systems will I2P run on?{% endtrans %}
  3. {% trans %}Whats an "eepsite" and how do I configure my browser so I can use them?{% endtrans %}
  4. {% trans %}My router has very few active peers, is this OK?{% endtrans %}
  5. {% trans %}What do the Active x/y numbers mean in the router console?{% endtrans %}
  6. {% trans %}My active peers / known peers / participating tunnels / connections / bandwidth vary dramatically over time! Is anything wrong?{% endtrans %}
  7. {% trans %}Is using an outproxy safe?{% endtrans %}
  8. {% trans %}Most of the eepsites within I2P are down?{% endtrans %}
  9. {% trans %}What ports does I2P use?{% endtrans %}
  10. {% trans %}Why is I2P listening for connections on port 32000?{% endtrans %}
  11. {% trans %}I think I found a bug, where can I report it?{% endtrans %}
  12. {% trans %}What happened to *.i2p.net? What happened to jrandom? Is I2P dead?{% endtrans %}
  13. {% trans %}Is installing Java required to use I2P?{% endtrans %}
  14. {% trans %}I have a question!{% endtrans %}
  15. {{ _('Setup') }}

  16. {% trans %}My router has been up for several minutes and has zero or very few connections{% endtrans %}
  17. {% trans %}Why is I2P so slow?{% endtrans %}
  18. {% trans %}I'm missing lots of hosts in my addressbook. What are some good subscription links?{% endtrans %}
  19. {% trans %}How do I set up my own eepsite?{% endtrans %}
  20. {% trans %}Bittorrent / I2PSnark / Azureus I2P Plugin Questions?{% endtrans %}
  21. {% trans %}How do I connect to IRC within I2P?{% endtrans %}
  22. {% trans %}I can't access regular Internet sites through I2P.{% endtrans %}
  23. {% trans %}I can't access https:// or ftp:// sites through I2P.{% endtrans %}
  24. {% trans %}Is it possible to use I2P as a SOCKS proxy?{% endtrans %}
  25. {% trans %}How do I configure my browser?{% endtrans %}
  26. {% trans %}How can I access the web console from my other machines or password protect it?{% endtrans %}
  27. {% trans %}How can I use applications from my other machines?{% endtrans %}
  28. {% trans %}How do I reseed manually?{% endtrans %}
  29. {% trans %}My router is using too much CPU?!?{% endtrans %}
  30. {{ _('Misconception') }}

  31. {% trans %}How do I access IRC, BitTorrent, or other services on the regular Internet?{% endtrans %}
  32. {% trans %}Is my router an "exit node"(outproxy) to the regular Internet? I don't want it to be.{% endtrans %}
  33. {% trans %}I am opposed to certain types of content. How do I keep from distributing, storing, or accessing them?{% endtrans %}
  34. {{ _('Errors and Their Solutions') }}

  35. {% trans %}I'm using FreeBSD and when I start I2P I receive an error about libm.so.4!{% endtrans %}
  36. {% trans %}In wrapper.log I see an error stating Protocol family unavailable when I2P is loading{% endtrans %}
{% endblock %} {% block content %}

{% trans %}What systems will I2P run on?{% endtrans %} ({{ _('link') }})

{% trans chart='https://trac.i2p2.de/wiki/java' -%} While I2P has been reported to run PCs as meagre as a low-end Pentium II with 64 MB of RAM, you'll have a much better experience on a Pentium III (or better) with 128MB of RAM (or more). A chart comparing the performance of the various JREs can be found at {{ chart }}, but in short: it's at all possible, use Sun/Oracle Java or OpenJDK. {%- endtrans %}

{% trans -%} I2P has been tested on Windows, Linux, FreeBSD (see the note below), OSX, and OpenSolaris. There is work underway to bring I2P to the Android platform. {%- endtrans %}

{% trans %}I think I found a bug, where can I report it?{% endtrans %} ({{ _('link') }})

{% trans -%} Here are some places, pick one or more. {%- endtrans %}

{% trans -%} Please include relevant information from the router logs and wrapper logs. {%- endtrans %}

{% trans %}I'm missing lots of hosts in my addressbook. What are some good subscription links?{% endtrans %} ({{ _('link') }})

{% trans -%} The default subscription is to http://www.i2p2.i2p/hosts.txt which is updated rarely. If you don't have another subscription, you may often have to use "jump" links which is annoying. {%- endtrans %}

{% trans -%} Here are some other public addressbook subscription links. You may wish to add one or two to your susidns subscription list. You don't need to add all of them, as they sync with each other periodically. The links using a cgi-bin application employ various strategies to minimize the number of duplicate addresses delivered, so they should be more efficient. Note that subscribing to a hosts.txt service is an act of "trust", as a malicious subscription could give you incorrect addresses. So think about whether you want to trust any of these. The operators of these services may have various policies for listing hosts. Presence on this list does not imply endorsement. {%- endtrans %}

{% trans %}What happened to *.i2p.net? What happened to jrandom? Is I2P dead?{% endtrans %} ({{ _('link') }})

{% trans -%} Jrandom was the lead developer of I2P and Syndie for several years. We do not know if or when jrandom will return. The *.i2p.net domains were left in a non-functioning state after a power outage at the hosting company. {%- endtrans %}

{% trans jrandom=site_url('misc/jrandom-awol'), index=site_url() -%} See this page for jrandom's parting message and additional information on the migration of *.i2p.net to this website. {%- endtrans %}

{% trans %}I2P remains in active development.{% endtrans %}

{% trans %}My router is using too much CPU?!?{% endtrans %} ({{ _('link') }})

{% trans -%} There are many possible causes of high CPU usage. Here is a checklist: {%- endtrans %}

{% trans %}I am opposed to certain types of content. How do I keep from distributing, storing, or accessing them?{% endtrans %} ({{ _('link') }})

{% trans -%} Hmm. I2P is an anonymous network, so that's a tricky one. I2P is designed to withstand censorship, providing a means for everyone to communicate freely. The best way to keep your PC free of (encrypted) traffic that you dislike is to not use I2P. Freedom of speech has some costs. But let's address your question in three parts: {%- endtrans %}

{% trans %}My active peers / known peers / participating tunnels / connections / bandwidth vary dramatically over time! Is anything wrong?{% endtrans %} ({{ _('link') }})

{% trans -%} No. This is normal. All routers adjust dynamically to changing network conditions and demands. {%- endtrans %}

{% trans %}My router has been up for several minutes and has zero or very few connections{% endtrans %} ({{ _('link') }})

{% trans -%} You may need to reseed your I2P router. With recent versions of I2P you can go to http://localhost:7657/configreseed and click the Save Changes and Reseed Now button. If this method doesn't work—or you're using a very old version—you may need to reseed manually. {%- endtrans %}

{% trans -%} The reseed URL changed a few years ago. If this is your first install and you have installed an old (0.6.1.30 or earlier) release, or you have not run I2P in a long time, you must change the URL and then click "Reseed" on the console to find other routers. After your router is running, on configadvanced.jsp, add the line i2p.reseedURL=http://netdb.i2p2.de/ OR i2p.reseedURL=http://i2pdb.tin0.de/netDb/ (either should work), then click "Apply", then click the "reseed" link on the left. {%- endtrans %}

{% trans downloadslist=get_url('downloads_list') -%} This works if you are running 0.6.1.27 or later. If you are running release 0.6.1.31 or later, you probably don't need to do this. If you are running release 0.6.1.26 or earlier, either follow the manual reseed instructions below or install the latest release. Possible alternate method - add wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/ to wrapper.config, shutdown the router completely, then start again, then click "reseed". Let us know if this works. {%- endtrans %}

{% trans downloadslist=get_url('downloads_list') -%} ...but you *really* should upgrade to the latest version. {%- endtrans %}

{% trans %}My router has very few active peers, is this OK?{% endtrans %} ({{ _('link') }})

{% trans -%} If your router has 10 or more active peers, everything is fine. Changes in releases 0.6.1.31 and 0.6.1.32 improved the efficiency of the router and effectively reduced the number of active peers. 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. {%- endtrans %}

{% trans %}Is my router an "exit node" to the regular Internet? I don't want it to be.{% endtrans %} ({{ _('link') }})

{% trans -%} No. Unlike Tor, "exit nodes" or "outproxies" are not an inherent part of the network. Only volunteers who set up and run separate applications will relay traffic to the regular Internet. There are very, very few of these. {%- endtrans %}

{% trans %}I can't access regular Internet sites through I2P.{% endtrans %} ({{ _('link') }})

{% trans -%} See above. There are very few HTTP "outproxies", they are not an inherent part of the network, and they may not be up. In addition, the old outproxies squid.i2p, true.i2p, and krabs.i2p have vanished. The only outproxy at the moment is false.i2p. To use it, edit your i2ptunnel settings for eepProxy and set your outproxy list to 'false.i2p' (only). Then stop and restart the eepProxy. If it doesn't work, the outproxy is not up. It is not I2P's fault. If your primary reason to use an anonymous network is to anonymously access sites on the regular Internet, you should probably try Tor. {%- endtrans %}

{% trans %}I can't access https:// or ftp:// sites through I2P.{% endtrans %} ({{ _('link') }})

{% trans -%} Within I2P, there is no need for HTTPS, as all traffic is encrypted end-to-end. FTP is not supported for technical reasons. {%- endtrans %}

{% trans -%} 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. {%- endtrans %}

{% trans -%} 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. {%- endtrans %}

{% trans -%} Update: Thanks to the work of h2ik, there is an https outproxy available for use via I2P. Starting with I2P 0.8.4 the tunnel is configured out of the box.
In case the https outproxy is not available in your version of I2P, you can add it easily by doing the following: {%- endtrans %}

  1. {% trans -%} Open i2p tunnel manager. Scroll down to the bottom. {%- endtrans %}
  2. {% trans -%} Choose CONNECT from New Client Tunnel dropdown list, click Create {%- endtrans %}
  3. {% trans forum=i2pconv('forum.i2p') -%} In the new page, name and describe your new https tunnel as you like. The Access Point is your local port for the new https proxy recommended port's 4445. Outproxy should be the outproxy's .i2p address which supports https. See this forum post of h2ik's for the address. Make sure Shared Client, Delay Connect, AutoStart are checked. Other options should be left at the defaults. Click Save. In tunnel manger, click the Start button next to your new tunnel. {%- endtrans %}
  4. {% trans -%} In firefox, click through Tools>Options>Advanced>Network>Setting. Untick Use this proxy for all protocol, set SSL proxy: to localhost:4445. {%- endtrans %}
  5. {{ _('Done.') }}

{% trans %}Is using an outproxy safe?{% endtrans %} ({{ _('link') }})

{% trans threatmodel=site_url('docs/how/threat-model') %} This is a question that only you can answer because the correct answer depends on your behaviours, your threat model, and how much you trust the outproxy operator. {%- endtrans %}

{% trans -%} Like Tor, I2P does not magically encrypt the Internet. You are vulnerable to snooping by the outproxy operators. The Tor FAQ does a good job of explaining this. {%- endtrans %}

{% trans zzz=i2pconv('zzz.i2p') -%} 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 }}. {%- endtrans %}

{% trans %}How do I access IRC, BitTorrent, or other services on the regular Internet?{% endtrans %} ({{ _('link') }})

{% trans -%} Unless an outproxy has been 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 not a SOCKS outproxy. If this type of service is required, try Tor. {%- endtrans %}

{% trans %}Most of the eepsites within I2P are down?{% endtrans %} ({{ _('link') }})

{% trans eepstatus='http://'+i2pconv('identiguy.i2p') -%} If you consider every eepsite that has ever been created, yes, most of them are down. People and eepsites come and go. A good way to get started in I2P is check out a list of eepsites that are currently up. {{ eepstatus }} tracks active eepsites. {%- endtrans %}

{% trans %}How do I set up my own eepsite?{% endtrans %} ({{ _('link') }})

{% trans -%} Click on the Website link at the top of your router console for instructions. {%- endtrans %}

{% trans %}Why is I2P so slow?{% endtrans %} ({{ _('link') }})

{% trans -%} Why are downloads, torrents, web browsing, and everything else so slow on I2P? The encryption and routing within the I2P network adds a substantial amount of overhead and limits bandwidth. Anonymity isn't free. {%- endtrans %}

{% trans -%} In addition, you and everybody else probably need to increase your bandwidth limits. Two key settings are the inbound and outbound bandwidth limiters on the configuration page. With the default settings of 32KBps you will generally get no better than 15KBps data transfer in I2PSnark. Increasing the settings (but keeping within your actual connection limitations) will increase the potential transfer rate for I2PSnark and all other applications. {%- endtrans %}

{% trans -%} Also, do you have sufficient share bandwidth configured to allow participating tunnels to route through your router? Believe it or not, allowing participating traffic keeps you well-integrated in the network and helps your own transfer speeds. {%- endtrans %}

{% trans downloadslist=get_url('downloads_list') -%} I2P is a work in progress. Lots of improvements and fixes are being implemented, and generally speaking, running the latest release will help your performance. If you haven't, install the latest release. {%- endtrans %}

{% trans %}Bittorrent / I2PSnark / Azureus I2P Plugin Questions?{% endtrans %} ({{ _('link') }})

{% trans forum=i2pconv('forum.i2p') -%} See the I2P Bittorrent FAQ {%- endtrans %}

{% trans %}How do I connect to IRC within I2P?{% endtrans %} ({{ _('link') }})

{% trans %} 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. XChat-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). {%- endtrans %}

{% trans %}How can I access the web console from my other machines or password protect it?{% endtrans %} ({{ _('link') }})

{% trans -%} For security purposes, the router's admin console by default only listens for connections on the local interface. However, with a little hacking, you can make it reachable remotely: {%- endtrans %}

  1. {% trans -%} Open ~/.i2p/clients.config and replace
    clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/
    with
    clientApp.0.args=7657 0.0.0.0 ./webapps/ {%- endtrans %}
  2. {% trans -%} Go to http://localhost:7657/configui and add a console username and password if desired. {%- endtrans %}
  3. {% trans -%} Go to http://localhost:7657/index.jsp and hit "Graceful restart", which restarts the JVM and reloads the client applications {%- endtrans %}

{% trans -%} After that fires up, you should now be able to reach your console remotely. Reload the router at http://127.0.0.1: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: the 0.0.0.0 above specifies an interface, not a network or netmask. 0.0.0.0 means "bind to all interfaces", so it can be reachable on 127.0.0.1:7657 as well as any LAN/WAN IP. {%- endtrans %}

{% trans %}How can I use applications from my other machines?{% endtrans %} ({{ _('link') }})

{% trans -%} By default, the router I2CP interface (port 7654) binds to address 127.0.0.1. To bind to 0.0.0.0, set the router advanced configuration option i2cp.tcp.bindAllInterfaces=true and restart. {%- endtrans %}

{% trans %}Whats an "eepsite"?{% endtrans %} ({{ _('link') }})

{% trans -%} An eepsite is a website that is hosted anonymously - you can access it by setting your web browser's HTTP proxy to use the web proxy (typically it listens on localhost port 4444), and browsing to the site. {%- endtrans %}

{% trans %}How do I configure my browser?{% endtrans %} ({{ _('link') }})

{% trans browserconfig=site_url('about/browser-config') -%} The proxy config for different browsers is on a separate page with screenshots. More advanced configs with external tools are possible but could introduce leaks in your setup. {%- endtrans %}

{% trans %}What do the Active x/y numbers mean in the router console?{% endtrans %} ({{ _('link') }})

{% trans -%} x is the number of peers you've sent or received a message from successfully in the last minute, y is the number of peers seen in the last hour or so. {%- endtrans %}

{% trans %}Is it possible to use I2P as a SOCKS proxy?{% endtrans %} ({{ _('link') }})

{% trans -%} The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are supported. There is no SOCKS outproxy so it is of limited use. {%- endtrans %}

{% trans -%} In addition, many applications leak sensitive information that could identify you on the Internet. 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. {%- endtrans %}

{% trans socks=site_url('docs/api/socks') -%} If you would like more information on the socks proxy application anyway, there are some helpful hints on the socks page. {%- endtrans %}

{% trans %}What ports does I2P use?{% endtrans %} ({{ _('link') }})

{% trans -%} Okay, here's a rundown of the default ports (everything is configurable through various settings, of course): {%- endtrans %}

{% trans -%} The local I2P ports and the I2PTunnel ports do not need to be reachable from remote machines, but *should* be reachable locally. You can also create additional ports for I2PTunnel instances via http://localhost:7657/i2ptunnel/ (and in turn, would need to get your firewall to allow you local access, but not remote access, unless desired). {%- endtrans %}

{% trans -%} So, to summarize, nothing needs to be reachable by unsolicited remote peers, but if you can configure your NAT/firewall to allow inbound UDP and TCP the outbound facing port, you'll get better performance. You will also need to be able to send outbound UDP packets to arbitrary remote peers (blocking IPs randomly with something like PeerGuardian only hurts you - don't do it). {%- endtrans %}

{% trans %}Why is I2P listening on port 32000?{% endtrans %} ({{ _('link') }})

{% trans -%} 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. {%- endtrans %}

{% trans -%} More information can be found in the wrapper documentation. {%- endtrans %}

{% trans %}How do I reseed manually?{% endtrans %} ({{ _('link') }})

{% trans -%} 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 clearnet HTTPS servers. {%- endtrans %}

{% trans -%} A typical symptom of a failed reseed is the "Known" indicator (on the left sidebar of the router console) displaying a very small value (often less than 5) which does not increase. This can occur, among other things, if your local firewall limits outbound traffic or if the reseed request is blocked entirely. {%- endtrans %}

{% trans -%} If you are stuck behind an ISP firewall or filter, you can use the following manual method (non-automated technical solution) to join the I2P network. {%- endtrans %}

{% trans %}Joining the I2P Network using a reseed file{% endtrans %}

{% trans -%} Please contact a known trustworthy friend who has a running I2P router, and ask them for help with reseeding your I2P router. Request that they send you a reseed file exported from their running I2P router. It is vital that the file is exchanged over a secure channel, e.g. encrypted to avoid external tampering (PGP Sign, Encrypt and Verified with a trusted public key). The file itself is unsigned, so please accept files only from known trusted friends. Never import a reseed file if you can not verify its source. {%- endtrans %}

{% trans filename='i2preseed.zip' %}To import the received {{ filename }} file into your local I2P router:{% endtrans %}

{% trans url='http://localhost:7657/logs' %}Check the log for the following message:{% endtrans %} Reseed got 100 router infos from file with 0 errors

{% trans %}Sharing a reseed file{% endtrans %}

{% trans %}For trusted friends you can use your local I2P router to give them a jump start:{% endtrans %}

{% trans -%} Do not reveal this file in any case to unknown users, since it contains sensitive private data (100 RouterInfo) from your own I2P router! In order to protect your anonymity: you may wait a few random hours/days before you share the file with your trusted friend. It is also advisable to use this procedure sparingly (< 2 per week). {%- endtrans %}

{% trans %} General guidelines for manual reseeding of I2P {% endtrans %}

{% trans %}I'm using FreeBSD and when I start I2P I receive an error about libm.so.4!{% endtrans %} ({{ _('link') }})

{% trans %}When trying to start the router using "i2prouter start", you may see output like the following:{% endtrans %}
     $ ./i2prouter start
     Starting I2P Service...
     /libexec/ld-elf.so.1: Shared object "libm.so.4" not found, required by "i2psvc"

{% trans %} In order to be inclusive and try to ensure that I2P will run on as many systems as possible, up until I2P 0.8.9 we used a java wrapper compiled for FreeBSD 6.x. If you're receiving this error you most likely are missing the necessary compatibility libraries. These libraries may be installed by performing the following steps: {%- endtrans %}

{% trans manualwrapper=site_url('misc/manual-wrapper') -%} If you cannot install these compatibility libraries (or do not want to), other possibilities would be to compile the wrapper for your system, starting I2P with the runplain.sh script, or you can replace the wrapper with one from the source tarball. {%- endtrans %}

{% trans -%} For the 0.8.9 release of I2P, the wrapper was upgraded to v3.5.12 and compiled on systems running FreeBSD 7.2. {%- endtrans %}

{% trans %}In wrapper.log I see an error that states "Protocol family unavailable" when loading the Router Console{% endtrans %} ({{ _('link') }})

{% trans -%} Often this error will occur with any network enabled java software on some systems that are configured to use IPv6 by default. There are a few ways to solve this: {%- endtrans %}

{% trans -%} Another option would be to remove the ::1 from ~/.i2p/clients.config {%- endtrans %}

{% trans -%} WARNING: For any changes to wrapper.config to take effect, you must completely stop the router and the wrapper. Clicking Restart on your router console will NOT reread this file! You must click Shutdown, wait 11 minutes, then start I2P. {%- endtrans %}

{% trans %}Is installing Java required to use I2P?{% endtrans %} ({{ _('link') }})

{% trans alt=site_url('about/alternative-clients') -%} While the main I2P client implementation requires Java, there are several alternative clients which don't require Java. {%- endtrans %}


{% trans %}I have a question!{% endtrans %} ({{ _('link') }})

{% trans forum=i2pconv('forum.i2p') -%} Great! Find us on IRC irc.freenode.net #i2p or post to the forum and we'll post it here (with the answer, hopefully). {%- endtrans %}

{% endblock %}