05 October 2008

I2PTunnel application, you can hook up application instances and have them talk to each other over standard TCP sockets. In plain client-server scenarios, this is an effective technique for many simple protocols, but for distributed systems where each peer may contact a number of other peers (instead of just a single server), or for systems that expose TCP or IP information within the communication protocols themselves, there are problems.

I2PSnark, I2P-BT, I2PRufus, and Azureus (but see below for more information on Azureus).

- What client do you recommend?

I2PSnark. It is built-in to I2P so it requires no installation. Also, it is under active development, and support is available. The others are standalone applications which are more difficult to install and use. Azureus in particular is a challenge to set up. New users in particular should try I2PSnark first. To use i2psnark go to link: http://localhost:7657/i2psnark/ in your browser.

- How do I get Azureus and its I2P Plugin to work?

We don't know. We've heard from numerous people who followed the published instructions and couldn't make it work. We haven't heard from anybody who _did_ get it to work in a long time. And there's nobody around I2P that does know how. We strongly recommend that new users start with the built-in I2PSnark. Once you have become familiar with I2P, if you decide you really really want Azureus, feel free to try. If you are successful, let us know how you did it.

- Why are downloads so slow on I2P torrents?

Two reasons. The encryption and routing within the I2P network adds a substantial amount of overhead and limits bandwidth. Also, most torrents on I2P have very few peers compared to torrents on the standard internet. However, it's a lot faster than it used to be, and we continue to work on performance improvements.

- What I2P settings are appropriate for Bittorrent use?

Two key settings are the inbound and outbund bandwidth limiters on link: http://localhost:7657/config.jsp . With the default settings of 16KBps you will generally get no better than 5KBps data transfer in I2PSnark. Increasing the settings (but keeping within your actual connection limitations) will increase the potential transfer rate for I2PSnark.

Tunnel length settings are a tradeoff between performance and anonymity. The default length of 1 + 0-1 in i2psnark (i.e., tunnels of length 1 or 2) works fine for most people. Feel free to adjust the settings if you want more performance or more anonymity.

If you are running lots of torrents you should increase the maximum memory size in wrapper.config to avoid out-of-memory exceptions (OOMs). Change wrapper.java.maxmemory from 64 to 128 or even higher. You must completely shutdown the router (not just a restart) and then start it again for this to take effect.... http://forum.i2p/viewforum.php?f=21

* Azureus seeding compatibility
* Utilize new I2CP session options
Get it at http://duck.i2p/i2p-bt/ (link only accessible through i2p)

The sourcecode repository is on cvs.i2p, you can follow the instructions
on http://www.i2p.net/cvs to access it. The module is called i2p-bt.
http://www.filewatcher.com/n/streaming.0.0.htm
http://www.filewatcher.com/p/i2p-0.5.0.1.tar.bz2.4753700/i2p_0_5_0_1/apps/sam/python.htm
http://dev.i2p.tin0.de/i2p/