, , , , , ,

If you’ve installed I2P and run the application, there would be an ‘eepsite’ directory at C:\Users\[user name]\AppData\Roaming\I2P\eepsite\docroot. The first thing to do is modify the files there to create a basic Web site/page. Currently mine has basic HTML pages and some CSS, but no JavaScript, Flash or anything that should be disabled for anonymous browsing.

A look at the router address book reveals how the I2P addresses are resolved. Each peer running a hidden service has a cryptographic identifier/address, which is mapped to a hostname on the .i2p domain. It’s just like IP addresses are mapped to conventional domains.


Registering an Address
In the Hidden Services Manager, there’ll be a section for the local Web server, whether or not it’s active.


Click on ‘I2P webserver‘, and the ‘Edit Server Settings‘ menu will appear. Here there are three important fields: Name, Website name and Local destination.


The Website name is the hostname we want to register for the service, in the form [site name].i2p. The Local destination is a very long Base64 cryptographic identifier – copy and paste this into a text editor.

After naming the site and defining the .i2p address, go to the Master Address Book (‘Addressbook‘ under the I2P Internals panel). Near the foot of this page there are the ‘Add new destination‘ fields. Paste the Base64 Local destination string as the Destination, and enter the desired .i2p hostname as the Host Name.

The site/domain details are now added to the Master Address Book, i.e. the domain name system for I2P, and should eventually be viewable to all peers.


If the site works after entering the .i2p address in the browser, you have a working hidden service.

Finally you might want to publish the domain with no.i2p. I’ve had problems getting this portal to accept my Base64 hash value, but hopefully my entry in the address books will take care of this.