nothing to see here, move along

I2P addresses and navigation

I2P addresses

I want to talk about how to find I2P eepsites, but first a bit about how the addressing system in I2P works at a high level. An eepsite is just a cute name for a website on the I2P network. Eepsites use the .i2p TLD, but they cannot be resolved using DNS. Addresses on the I2P network end in either .i2p or .b32.i2p.

If there is a real address, it is the base-32 variant, which ends in .b32.i2p. They are typically associated with to a memorable domain name like example.i2p. This correlation happens in your router, which uses an application called addressbook, that merges external host lists with your local list.

The real identifier is an even longer base-64 string which has certificate data appended, which is not used directly for navigation. I2P addresses are generated from private keys, ensuring that each address is unique and secure. The base-32 string is a hash, which is used to verify the address without needing an external authority.

reg.i2p search results

As you can see (above) the domain name, in this case paranoia.i2p, is mapped to a base-32 domain name, and the base-64 string that hashes to it is also displayed. There is a link labelled "Addresshelper: Go to site", which adds the domain names to your addressbook. If you don't want that, you can copy and paste the base-32 domain into your browser.

Addressbook searches through three local files, in order, to look up host names. Each file is a simple text file, with hostname=base64, one per line. The files are: privatehosts.txt, userhosts.txt, and hosts.txt.

anonymity and security

Using cryptographic hashes for addressing instead of DNS ensures that it is difficult to censor a node, and provides good anonymity and security. There is no centralized authority, and this is the reason it's difficult to resolve names.

On clearnet, there is a centralized system called DNS. For every second level domain there is an authoritative nameserver that will give you the IP address for that specific domain name. The rootserver for a given top level domain knows where this authoritative server is, so the host IP address is always public.

addressbook

The .i2p names are typically human-friendly monikers, like "mydomain.i2p", whereas the .b32.i2p addresses use a base-32 hash, so it's too long to be remembered easily, but still shorter than the base-64 names that are actually what is used internally by the router. The way you resolve the nice short names is by using a local application called addressbook. This stores information in a local database that is used only by you to resolve names.

You can simply download an addressbook list. Sites like reg.i2p also have multiple options for addressbook downloads and subscriptions.

addressbook downloads

In your local working directory for i2pd, in the addressbook subdirectory, there is a file called addresses.csv that is a simple text file with one listing per line. Each line has the information your router needs to resolve second level domains into the third level ones; e.g. shortname.i2p , longname.b32.i2p:

corruptionaires.i2p,p3tsrnewu3ysq3blwb5inbihmompwenpu54f57lr2p2zjvzl4m7q

Obviously most eepsites will not be in your addressbook, just as in the domain name system most domain names are not locally cached. There are sites that list, catalog, and monitor eepsites to provide listings of sites and search capabilities. Some of them offer hosts.txt files you can use in your addressbook. To use them, assuming you are using i2pd, just add the entry to your i2pd.conf file in the addressbook section:

adding hosts to addressbook

jump services

A jump service is a site that takes a hostname and returns a 301 redirect to the proper URL with ?i2paddresshelper=key appended, which is the actual destination. Here is the service offered by stats.i2p, by web form or just using a URL:

http://stats.i2p/cgi-bin/jump.cgi?a=<name-of-website>.i2p

jump service

Note that, like with subscriptions, using a jump service implies a certain amount of trust, since a jump service could be malicious and redirect a user to an incorrect destination.

You can simply type the name of the eepsite you're looking for into your browser's addressbar using this jump URL from inr.i2p (substitute your url instead of vinyl.i2p unless you want this badass music site):

http://inr.i2p/jump/vinyl.i2p

listing sites

There are sites that display listings of "active" sites, "stable" sites, "new" eepsites, and so on. Shown here is a page which shows a listing for "alive" sites.

reg.i2p alive sites

If you just want to check on an eepsite or grab the base-32 address without using the web interface, you can use an API like this free one from reg.i2p. For example, to see the base-32, base-64, and last seen info for the excellent notbob.i2p eepsite using the reg.i2p API:

$ curl --proxy 127.0.0.1:4444 http://reg.i2p/api/status/cryptography.i2p
{
  "hostname": "cryptography.i2p",
  "base64": "46~iIrQ-NB-vMzqGk--qur9DXcaz1TkiJMzfcfh2Y5Ljr-IitD40H68zOoaT76q6v0NdxrPVOSIkzN9x-HZjkuOv4iK0PjQfrzM6hpPvqrq~Q13Gs9U5IiTM33H4dmOS46~iIrQ-NB-vMzqGk--qur9DXcaz1TkiJMzfcfh2Y5Ljr-IitD40H68zOoaT76q6v0NdxrPVOSIkzN9x-HZjkuOv4iK0PjQfrzM6hpPvqrq~Q13Gs9U5IiTM33H4dmOS46~iIrQ-NB-vMzqGk--qur9DXcaz1TkiJMzfcfh2Y5Ljr-IitD40H68zOoaT76q6v0NdxrPVOSIkzN9x-HZjkuOv4iK0PjQfrzM6hpPvqrq~Q13Gs9U5IiTM33H4dmOS46~iIrQ-NB-vMzqGk--qur9DXcaz1TkiJMzfcfh2Y5Ljr-IitD40H68zOoaT76q6v0NdxrPVOSIkzN9x-HZjkv8-jc2FUM4tZCAn0VlULkdKRJDt8lF6nboWNgz15oJpBQAEAAcAAA==",
  "base32": "s5cgmhbc4qx2w7hgzev5gsomasdsfkrd4bantv44q2iee3ycutpq.b32.i2p",
  "last_seen": 1787169990
}

Using a site like reg.i2p that lists new or active eepsites is a simple way to poke around and find content. There are also sites that just list eepsites such as this one, website.i2p:

website.i2p

searching

There are also search eepsites - both general search and those that search for specific types of eepsites like music, torrents, videos, etc. Here is a general search site called, yes, search.i2p

I2P search engine

epilogue

We deliberately did not cover publishing your own content which is not as difficult as you might imagine, thanks to the built-in functionality provided by i2pd or i2p+ routers. In a future post, we'll cover setting up a tunnel and publishing a website, so your I2P experience is not a one-way street.

There is so much interesting and useful and entertaining content on the I2P network, as well as the disgusting, pornographic and just plain SMH content. I hope this brief post helps you discover more of it, more easily. Treat I2P exploration the same as you would when exploring a new city; take care to find and visit interesting places while avoiding more dangerous or less desirable locations.

I2P

===

getting started | using hardened browser | streaming music in I2P | publish your eepsite

#darknet #eepsite #i2p #streaming