For many years people have wanted to protect their right to privacy. As technology changes, it seems that privacy evolves away more and more. I2P is a protocol used for an encrypted multi-proxy on the Internet. While, this sounds simple, there is actually a lot of work going on with I2P to achieve this. Unlike some multi-proxies, I2P will allow you to tunnel many more applications through it than just web browsing, making it a very robust protocol.
I2P is available for all platforms, not just Linux. For this example I have used Debian Sid to perform the installation. With the exception of 'apt-get', these instructions should work fine with any Linux distribution. But if you experience problems, please seek documentation for your distro or visit our new Linux Forum.
2. Legal Disclaimer
As I explain this to help you maintain priviacy, there will always be a few bad apples in the crowd. I do not condone this use of this article for anything illegal. Even if you are not passing illegal information on I2P, please check your country's laws on encryption and it's exportation before you begin.
3. The Problem with Tor
One would probably see I2P as an overkill without knowing the downfalls of its predicessor. Tor was once a wonderful multi-proxy used for hiding ip addresses and bouncing off servers all over the world. At one time, it was even trusted by most governments for strong anonymity. All of that seemed to change after an article was posted in 2600 Hacker Quartley. One author exposed how becoming an exit node for Tor allowed all the traffic on the Tor network to pass right through your machine. Becoming an exit node was the same as performing a Man-In-The-Middle attack. All one had to do was open up a packet sniffer and see all the traffic going through encrypted. Tor is still used by people trying to protect their privacy. But at the same time it has become a playground for hackers and governments monitoring what they consider suspicious. I2P has secured this problem while adding more functionality.
4. How it Works
I2P uses bundeled encryption over a multi-proxy like Tor. The packets are bounced all over the globe with anyone using I2P. However, the packets are encrypted with ElGamal and AES encryption. Using bundled encryption like this allows a packet to only decrypt the next hop as it passes through various nodes on its path. I2P is end-to-end encryption. Nothing is else is decrypted along its path including the sender and recipient. Once inside the network ip addresses are not even used. Your node is assigned an address of garbled text to use as an identifier. I2P is also a decentralized network. Every client is also a server on the network. This allows no single point of failure and more anonymity. There are tons of documents in the I2P control panel explaining this more in depth. For now, that should give you a good overview on how I2P works.
5. Beyond Web Surfing
There are many applications for the I2P protocol. I2P is used to tunnel just like SSH. Because of this, you can do many things with it. You can use it to tunnel SMTP and POP3 for anonymous email. You can use it for chat clients and P2P. What I found most interesting was anonymous hosting. I2P allows you to host what is referred to as an Eepsite. While some of these are indexed by Google, no one can connect to the site without using I2P. Blocking yourself from robots and spiders can allow you to host a complete darknet site. No one would know your site exists except you and the people you tell your domain. These are all things that other multi-proxies can't or won't let you do.