# I2P Hidden Service Website

## Quick Guide to Anonymous Webserving on I2P

This is your own anonymous I2P webserver ("eepsite") - simply edit the files under `~/.i2p/eepsite/docroot/` (Linux) or `%APPDATA%\I2P\eepsite\docroot\` (Windows) and they'll be reachable by others once you follow the instructions below. In I2P, hidden services are addressed using a 'key', which is represented as a really long Base64 string. (The 'key' is somewhat analogous to an IP address, and is shown on the hidden service configuration page). The instructions below detail how to assign a name like "mysite.i2p" to your key and start up your website.

You can reach your site locally via http://127.0.0.1:7658/.

## How to set up and announce your hidden service website

Your website is stopped by default. After you start it, it will be difficult for other people to find because it doesn't have a name and they don't have your really long Base64 key. You could just tell people that really long key, but thankfully I2P has an address book and several easy ways to tell people about your website. Here's detailed instructions.

- Pick a name for your website (something.i2p). Use all lower-case. You may wish to check first in your own router's address book here, or the file `i2p/hosts.txt` to see if your name is already taken. Enter the new name for your website on the hidden service configuration page where it says "Website name". This will replace the default "mysite.i2p". Also, check the "Auto Start" box. Your website will now start every time you start your router. Be sure to click "Save".
- Click the start button for your website on the main i2ptunnel configuration page. You should now see it listed under "Hidden Services and Clients" on the left side of the I2P Router Console. Your website is now running.
- Highlight the entire "Local destination" key on the hidden service configuration page. and copy it for later pasting. Make sure you get the whole thing - it's over 500 characters.
- Enter the name and paste in the destination key into your master address book. Click "Add" to add the destination to your address book.
- In your browser, enter in your website name (something.i2p) and you should be right back here. Hopefully it worked.
- Before you tell the world about your new website, you should add some content. Go to `~/.i2p/eepsite/docroot/` (Linux) or `%APPDATA%\I2P\eepsite\docroot\` (Windows) and replace the index.html redirect page with your own content. Virtual folders work, so you can host files from a sub directory without explicitly needing to provide a page with links to files. If you need a template for a basic site, feel free to borrow and adapt this page and content!

## Register your own .I2P Domain

- Now it's time to add your website to an I2P address book hosted by a site such as stats.i2p or no.i2p. That is, you must enter your website name and key into a web interface on one or more of these sites. Here is the key entry form at stats.i2p. Again, your key is the entire "Local destination" key on the hidden service configuration page. Be sure you get the whole thing. Don't forget to click "add a key". Check to see if it reports the key was added. Since many routers periodically get address book updates from these sites, within several hours others will be able to find your website by simply typing something.i2p into their browser.

## Adding Addressbook Subscriptions

- Speaking of address book updates, this would be a good time to add some more addressbooks to your own subscription list. Go to your subscriptions configuration page and add a couple of these for an automatically updated list of new hosts:
  - http://stats.i2p/cgi-bin/newhosts.txt
  - http://i2host.i2p/cgi-bin/i2hostetag
  - http://no.i2p/export/alive-hosts.txt
- If you are in a hurry and can't wait a few hours, you can tell people to use a "jump" address helper redirection service. This will work within a few minutes of your entering the key to an address book on the same site. Test it yourself first by entering`http://stats.i2p/cgi-bin/jump.cgi?a=something.i2p` or `http://i2host.i2p/cgi-bin/i2hostjump?something.i2p` into your browser. Once it's working, then you can tell others to use it.
- Some people check website lists such as inproxy.tino.i2p/status.php or perv.i2p for new eepsites, so you may start getting a few visitors. But there are plenty of other ways to tell people. Here are a few ideas:
  - Post a message on the Eepsite announce forum on forum.i2p.
  - Tell people about it on the #i2p or #i2p-chat channels on IRC.
  - Put it in a new post on the new Syndie.
  - Put it in Ugha's Eepsite Index Wiki
  Note that some sites recommend pasting in that really long destination key. You can if you want - but if you have successfully posted your key at an add-key service, tested it using a jump service, and waited 24 hours for the address book update to propagate to others, that shouldn't be necessary.

## Further Assistance

- If you have any questions, the following places are available for support:
  - Our IRC support channel:
    - #i2p on Freenode
    - Anonymously via your resident I2P IRC tunnel.
  - The technical problems section on forum.i2p.

Note: This page, the website and the console all need translating into YOUR language if it's not already been done or in progress. Please consider helping the project grow by volunteering your time to translate. Contact the project via the IRC channel listed above. Thanks in advance!

Document last edited: November 2010.