There is always space for improvement.

Photo by Maico Amorim on Unsplash

Many people feel that the I2P network is way too slow.

It is understandable, but there are good reasons that I2P is supposed to be slow. Firstly, since I2P employs garlic routing technique, your data typically have to go through 6+6=12(!) different routers for anonymization. It decreases the network speed significantly.

Also, unlike Tor, I2P was primarily designed as a closed network. You can easily access eepsites or other resources inside I2P, but you are not supposed to access clearnet websites through I2P. There exist a few I2P “outproxies” similar to Tor’s exit nodes to access clearnet, but most of them are extremely slow and/or unstable. You have a better chance to speed up anonymous clearnet access if you use the Orchid plugin, but after all, Orchid is Tor.

Having said, there are still some ways to speed up I2P. They will improve not only your connection but also the I2P network as a whole. Here are two tips, please try.

Adjusting bandwidth limits

Since I2P is a peer-to-peer network, you have to share some of your network bandwidth with other peers. You can choose how much in “I2P Bandwidth Configuration” (“Configure Bandwidth” button in the “Applications and Configuration” section of I2P Router Console, or http://localhost:7657/config).

I2P Bandwidth Configuration

As I noted before, I2P’s default limit of shared bandwidth is 48 KBps, which is very low. It might have been suitable for the narrowband dial-up connection or such, but nowadays, most of us are using far faster broadband network connection.

The recently released I2P 0.9.38 introduces New Install Wizard. It contains the Bandwidth Test, which automatically detects (thanks to M-Lab’s NDT) and adjusts I2P’s bandwidth settings accordingly. It is called “New Install” Wizard, but actually, you can run it even if you have already installed and been using I2P.

You can access the Wizard at “Setup” in the “Help & FAQ” section of the left sidebar of the I2P router console, or simply access http://localhost:7657/welcome.

Can you find “Setup”?

Using the Wizard is straightforward, simply keep clicking “Next”. Sometimes M-Lab’s chosen measurement servers are down and the test fails. In such case, click “Previous” (do not use your web browser’s “back” button), then try it again. There is room for improvement about the UI, but it works.

Bandwidth Test Results

Running I2P continuously

Even after adjusted the bandwidth, your connection might still be slow.

As I said, I2P is a P2P network. It will take some time for your I2P router to be discovered by other peers and integrated into the I2P network.

Because of this, the longer you run your I2P router continuously, the faster and more stable your connection becomes. The bandwidth usage will eventually go up as time goes on.

However, many people might not be able to stay your I2P router up. In such case, you can still run the I2P router on a remote server such as VPS, then use SSH port forwarding. Please see my previous article for details.