I recently decided to foray onto the Invisible Internet Project (I2P) network and write about what I found there. The I2P network is a distributed, peer-to-peer network that allows users to interact with others via chat rooms, forums, and email. Users can also take advantage of various other I2P services: gaming, file sharing, search, and RSS aggregators. According to one survey, the I2P network has more than 140,000 users, with an average of about 25,000 actively connected at any given time.
The functioning of the I2P network can be obscure to new users. All traffic over the I2P network is encrypted for users' privacy. Unlike TOR, I2P does not obscure users' IP addresses from peers (other I2P users' computers). Similar to TOR, traffic passes through multiple computers before being sent to the user, but these are peers, not dedicated onion routers. Although certain applications like I2P-Bote can store users' data, the I2P network itself does not store any data on peers. It only routes data through peers.
Anyone can create their own website on the I2P network for free without paying any domain name registration fees. But, since peers don't store I2P users' data, anyone who wants to run a website on the I2P network must run their I2P server (AKA an I2P "node") 24 hours a day, 7 days a week--at least, if they want it to be continuously accessible. I have used the commonly understood term, "website", here, even though these sites are not on the World Wide Web, nor anywhere on the regular Internet, also known as the "clearnet". On the I2P network, websites are known as "eepsites", so I'll switch to using that term from here on.
The software that is used to connect to the I2P network will run on just about any old computer. It only requires 128KB of RAM by default and can run on very slow CPU's, even on Raspberry Pi's. It will run on Windows, Mac, and Linux computers. The I2P software adjusts itself to the amount of bandwidth available on a user's Internet connection, and users can specify that it use the percentage of their bandwidth that they desire (in 10% increments). I'm currently running with a 3Mb/s (3 megabits per second) down and 0.5Mb/s up Internet connection, and I have plenty of overhead to spare. However, sites do load more slowly on the I2P network than they do on the clearnet. The I2P network purportedly runs at around 30KB/s. In this respect, the I2P network is silimar to the IPFS network.
I have found the I2P software to be more difficult to set up and get running correctly than ZeroNet or IPFS software. I've also noticed that the vast majority of websites that explain how to set up the I2P software leave out a lot. I will try to provide enough details in this article to give you a reasonable chance of successfully getting your computer connected to the I2P network. In setting up the I2P software, it helps if you are familiar with some of the basic concepts and terminology of computer networking. If you aren't, there's always Google (or better, Duckduckgo) and Wikipedia. If you feel you need to have your confidence boosted a little first, try installing and running ZeroNet. Then, attempt to set up the I2P software later.
Once the I2P software has been successfully installed and an I2P network connection has been established, users should be abble to access I2P eepsites with just about any Internet browser. Those who would rather not have I2P peers seeing their IP addresses should use the TOR browser. The steps below may be helpful in setting up the I2P software and establishing a connection to the network using Linux Ubuntu or one of it's derivatives. Although the steps did not work for me with the TOR browser, they did work with the Firefox browser. The TOR browser not working may have had something to do with it not allowing me to deactivate SOCKS. One thing I've noticed with browser settings and layouts is that browser versions change so fast that what works now may not work with the newest browser version six months from now. My understanding is that the newest version of the TOR browser that was released last week (which I am not using, yet) will only allow adjustment of proxy settings (Step 5, below) from the about:config page.
sudo apt-add-repository ppa:i2p-maintainers/i2p sudo apt-get update sudo apt-get install i2p
The I2P documentation that you can access directly through the I2P Router Console is actually quite good, which is unusual for documentation written by computer geeks. If your connection to the I2P network is not working, help can be obtained by clicking on the "Help" icon on the I2P Router Console or by going to the clearnet here. If your I2P connection is working, you can get more information by clicking on the "I2P FAQ" or "I2P Forum" icons on the I2P Router Console. Also try:
All eepsites on the I2P network have addresses that are long strings of characters. For example, the MayVaneDay blog is located on the I2P network at this address: zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa.b32.i2p . This 32-character b32 address (some are longer than 32 characters) is what you would type onto your browser's URL line to get to the MayVaneDay eepsite. Most of the time, you will prefer to get to an eepsite by typing in a much shorter human-readable "URL", instead of this long string of characters. In order to do that, an association must first be established between the shorter URL and the I2P b32 (or longer) address.
Your I2P address book contains associations of human-readable "URL's" with b32 addresses. The clearnet uses a DNS service to translate the human-readable address that you type onto your browser's URL line into an IP address. Your I2P software accomplishes this with your address book. It uses your address book to translate the human-readable "URL" that you type into your browser into a b32 address that the I2P network uses instead of an IP address. If the eepsite you wish to visit is not in your address book, your I2P software will not know how to connect to the eepsite.
To open your address book, click on the "Addressbook" icon on your I2P Router Console. Then, click on the "Router" button at the top of the page that comes up. This page displays a default list of eepsites that you can visit by clicking on them. Notice that there are hundreds of eepsites already in your address book. At the bottom of the page is the "ADD NEW DESTINATION" section where you can add other eepsites to your address book. When you find an interesting I2P site that you would like to save to your address book, add its human-readable "URL" on the "Hostname" line and then the 32-character or longer I2P address on the "Destination" line. Then, click the "Add" button. Note that you should add new addresses to the private or master address books, because the router address book is updated periodically, and your additional addresses will be overwritten at each update.
Jump services help you to find the b32 addresses associated with human-readable eepsite addresses. Two jump services are: http://stats.i2p/i2p/lookup.html and no.isp . There you can get the b32 addresses of eepsites that are not in your address book. Add the longer string of characters from the "Destination" line, not the "Base 32" line, to your address book. Note the warning attached to using the stats.i2p jump service: "WARNING: Using a jump service exposes the identity of your HTTP Client tunnel and the requested URL, including query parameters, to a third party. For higher security, add the host to your address book or use a b32 address. All stats.i2p services are logged." Jump services are similar to DNS services on the clearnet. The reason your I2P software contains an address book is so that you will not have to use a jump service every time you want to visit an eepsite. The significance of the use of an address book is that unlike the clearnet's use of DNS servers that allow third parties to track you everywhere you go on the clearnet by intercepting your DNS queries, third parties cannot use this method to track you to the eepsites you visit when you use your address book to find their b32 addresses.
When you are unable to reach an eepsite, your I2P software will display the following message in your browser: "The website was not reachable. The website is offline, there is network congestion, or your router is not yet well-integrated with peers. You may want to retry." Then, you may or may not be presented with links to jump services. I have been told that eepsites are generally much more reachable when the left side of your I2P Router Console page (http://127.0.0.1:7657/console) says you have more than 2000 known peers.
A listing of eepsites that are known to be currently operational can be found at http://identiguy.i2p/ . Try looking up the b32 addresses of a few of these eepsites using the stats.ip jump service. Some of the addresses on the "Destination" line of stats.i2p may be rejected by your address book. Keep trying until you are successful with one, and then go to that eepsite. Trying to go to eepsites on this list is like hunting for buried treasure. You won't know what's there until you dig, and sometimes it may not be readily apparent even then.
You will often find that you cannot reach an eepsite that you know is on line and for which you have a correct b32 address. As I alluded to earlier, it may take some time for your i2prouter software to locate enough peers to connect to some eepsites. If you cannot connect to an eepsite the first time you try, you may have to wait for a few minutes or even a few hours before you will be able to connect. As far as I am concerned, this makes using the I2P network seem less appealing. You will probably find that, except for the most well-known eepsites, many eepsites to which you try to connect will not be reachable. This is very similar to my experience with the IPFS. I suspect this is unfortunately a characteristic of distributed, peer-to-peer networks where hobbyists and volunteers provide content on their servers paid for out of their own pockets. This is one area where ZeroNet has a definite advantage, because website data is downloaded automatically to every user who visits it--until they intentionally delete it. My experience with ZeroNet is that most of its websites have content that is available to users most of the time.
Now for the part you've been waiting for, finding content on the I2P network.
As I have already stated, some I2P sites can be accessed through the icons on the I2P Router Console. One of these is "The Tin Hat". You can also find the Tin Hat on the clearnet, and it has a webpage with links to I2P eepsites. Here is another page of links. In order to follow these I2P links, you will have to have your i2prouter software running. Another good list of eepsites can be found on the clearnet here.
Several I2P search engines reside on the I2P network. They can sometimes be hard to connect to, so you may have to try some of them repeatedly before you are successful. Here they are:
You can also find a clearnet search engine for I2P eepsites here.
In addition to http://identiguy.i2p, other lists of eepsites that are known to be operational can be found by visiting:
Update 12-4-19: Darknet Proxy on the clearnet has several pages of pictures of eepsite home pages with brief descriptions. This would be a good place to start if you want to get a better idea of what to expect on the I2P network before going to the trouble of installing the I2P software.
On the clearnet, Full Wiki has a page on I2P. Information on I2P can be also found on the following eepsites:
The last three eepsites are forums where you can ask questions.
The information presented in this introduction to the I2P network should be enough to get you well on your way. You should be able to successfully install the I2P software on your Linux computer. Installation on Windows computers should be even easier. You should be able to start the software and establish a connection to the I2P network. And, you should be able to navigate around the I2P network of eepsites fairly confidently. But, remember that there is still much more to learn about the I2P network. The more you use it, the more knowledge you will obtain, and the more proficient you will become. So, get started.