#2214 closed defect (fixed)

Review/update eepsite help page

Reported by: zzz Owned by: slumlord
Priority: minor Milestone: 0.9.35
Component: apps/jetty Version: 0.9.34
Keywords: Cc:
Parent Tickets:



Fix up dead links and outdated text.

After that we should consider putting it on transifex so we get updated translations and don't have to do it manually.


Attachments (1)

index.html.patch (7.2 KB) - added by slumlord 10 months ago.
Patch for index.html - 2018-05-28

Download all attachments as: .zip

Change History (9)

comment:1 Changed 12 months ago by slumlord

A quick grep (just made this line, sure it could be done better but I'm just trying to extract all links referenced):

grep -n 'http://' installer/resources/eepsite/docroot/help/index.html \
    | grep -v 127 | grep -oE 'http://([0-9a-z/]+\.[0-9a-z/]+)+' \
    | sort | uniq


## Change to i2pforum.i2p
# DOWN # http://forum.i2p/
# DOWN # http://forum.i2p/viewforum.php

## DOWN - TESTED 20180414 # http://i2host.i2p/cgi


## DOWN - TESTED 20180414 # http://inproxy.tino.i2p/status.php


## DOWN - TESTED 20180414 # http://perv.i2p


## DOWN - TESTED 20180414 # http://ugha.i2p/

Last edited 12 months ago by slumlord (previous) (diff)

comment:2 Changed 12 months ago by zzz

Yup, lots of fixes needed. After it's done let's decide how we want to handle the translations.

comment:3 Changed 11 months ago by slumlord

Extracted the text, sans HTML except for links, so that a review can be performed.

# I2P Anonymous Webserver

## Quick Guide to Anonymous Webserving on I2P

This is your own anonymous I2P webserver ("eepsite"). To serve your own
content, simply edit the files in the webserver's root directory and they'll be
reachable by others once you follow the instructions below.

The webserver's root directory can be found in the following location:

~/.i2p/eepsite/docroot/ (Linux)
%APPDATA%\I2P\eepsite\docroot\ (Windows)
/Users/(user)/Library/Application Support/i2p (Mac)

In I2P, hidden services are addressed using a 'key', which is represented as a
really long 
<a href="https://en.wikipedia.org/wiki/Base64" target="_blank">Base64</a>

(The 'key' is somewhat analogous to an IP address, and is shown on the <a
  href="">Hidden Service
  Configuration page</a>).

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 <a

## 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 <a
or the file i2p/hosts.txt to see if your name is already taken.  Enter the new
name for your website on the <a
  href="">Hidden Service
  Configuration page</a> 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 <a
  href="">main Hidden Service Manager
  page</a>. You should now see it listed under "Local Tunnels" on the left side
of the <a href="">I2P Router Console</a>. Your
website is now running.

Highlight the entire "Local destination" key on the <a
  href="">Hidden Service
  Configuration page</a>. 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 <a
  address book</a>. 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 the following directory and replace the index.html redirect page with
your own content:

~/.i2p/eepsite/docroot/ (Linux)
%APPDATA%\I2P\eepsite\docroot\ (Windows)
/Users/(user)/Library/Application Support/i2p (Mac)

Virtual folders work, so you can host files from a sub directory without
explicitly needing to provide a page with links to files. You can change the
appearance of the directory listing by supplying an edited jetty-dir.css file
for each of the directories you are serving, demonstrated <a
href="lib/">here</a>. The <a href="lib/resources">resources sub-directory</a>
(containing filetype images for the directory listing) reverts to the default
style. If you need a template for a basic site, feel free to borrow and adapt
<a href="pagetemplate.html">this page</a> and <a href="lib/">content</a>!

If you're returned to this page after editing the content, try clearing your
browser's web cache:

in Firefox via: Preferences ➜ Advanced ➜ Network ➜ Cached Web Content ➜ Clear
in Chrome/Chromium via: Settings ➜ Advanced Settings ➜ Privacy ➜ Clear browsing
in Opera via: Settings ➜ Privacy ➜ Clear browsing data...

## Register your own .I2P Domain

Now it's time to add your website to an I2P address book hosted by a site such
as <a href="http://stats.i2p/ " target="_blank">stats.i2p</a> or <a
href="http://no.i2p/" target="_blank">no.i2p</a>. That is, you must enter your
website name and key into a web interface on one or more of these sites. Here
is <a href="http://stats.i2p/i2p/addkey.html" target="_blank">the key entry
form</a> at stats.i2p.  Again, your key is the entire "Local destination" key
on the <a href="">Hidden
  Service Configuration page</a>. 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 <a
Configuration page</a> and add a couple of these for an automatically updated
list of new hosts:

http://stats.i2p/cgi-bin/newhosts.txt</code> (<a
  href="http://stats.i2p/cgi-bin/newhosts.txt" target="_blank">stats.i2p</a>)
http://i2host.i2p/cgi-bin/i2hostetag</code> (<a
  href="http://i2host.i2p/cgi-bin/i2hostetag" target="_blank">i2host.i2p</a>)
http://no.i2p/export/alive-hosts.txt</code> (<a
  href="http://no.i2p/export/alive-hosts.txt" target="_blank">no.i2p</a>)
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, you can tell others to use it.

<p>Some people check website lists such as <a
href="http://inproxy.tino.i2p/status.php">inproxy.tino.i2p/status.php</a> or <a
href="http://perv.i2p">perv.i2p</a> 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:</p>

Some people check website lists such as <a href="http://identiguy.i2p/"
  target="_blank">Identiguy's eepsite status list</a> or <a
  href="http://no.i2p/browse/" target="_blank">no.i2p's active host list</a>
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 <a href="http://forum.i2p/viewforum.php?f=16"
  target="_blank">Eepsite announce forum</a> on <a href="http://forum.i2p/"
Tell people about it on the #i2p or #i2p-chat channels on IRC.
Put it in a new post on <a href="http://syndie.i2p2.de/" target="_blank">the
  new Syndie</a>.
Put it on <a href="http://ugha.i2p/EepsiteIndex" target="_blank">Ugha Wiki's
  Eepsite Index</a>

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.</p>

## Using an alternative webserver to host your site

This site (and the I2P router console) is running on the <a
  href="https://en.wikipedia.org/wiki/Jetty_(web_server)" target="_blank">Jetty
  webserver</a>, but you may want to use a different webserver to host your
content.  To maintain anonymity, be sure that your webserver is configured to
only allow connections from localhost (, and check the documentation
to ensure your webserver isn't advertising details that may compromise your

To configure your webserver for use on I2P, you can either use the existing
webserver tunnel and <a href="">disable the
default webserver</a> from running, or create a new HTTP Server tunnel in the
<a href="">Hidden Services Manager</a>.
Whatever you choose, you need to make sure the listening port configured for
the webserver (7658 by default for the I2P webserver Jetty instance) is also
configured in the Hidden Services Webserver settings. So, for example if your
webserver is listening by default on address port 80, you'd need to
also ensure that the Target port in the Hidden Service Manager settings page
for the service is also configured to port 80. 

Please be aware that a poorly configured webserver or web appplication can leak
potentially compromising information such as your real ip address or server
details that may reduce your anonymity or assist a hacker, which is why it's
recommended to use the default server until you're up to speed on securing your
alternative server and any webapps you may be running, for which there are many
guides on the internet. The following may be of help:

<a href="https://geekflare.com/apache-web-server-hardening-security/"
  target="_blank">Apache Web Server Hardening &amp; Security Guide</a>
<a href="https://geekflare.com/nginx-webserver-security-hardening-guide/"
  target="_blank">Nginx Web Server Security &amp; Hardening Guide</a>
<a href="https://www.wordfence.com/learn/how-to-harden-wordpress-sites/"
  target="_blank">How to Harden Your WordPress Site From Attacks</a></li>

## Further Assistance

If you have any questions, the following places are available for support:

Our IRC support channel:
<a href="irc://irc.freenode.net/i2p">#i2p on Freenode</a> Anonymously via your
  resident <a href="irc://">I2P IRC tunnel</a>.
<a href="http://forum.i2p/viewforum.php?f=10" target="_blank">The technical
  problems section</a> on <a href="http://forum.i2p/"
<a href="http://ugha.i2p/EepsiteHosting" target="_blank">Ugha Wiki's Eepsite
  Hosting guide</a> or
<a href="http://i2pwiki.i2p/index.php?title=EepsiteHosting"
  target="_blank">I2PWiki's Eepsite Hosting guide</a>

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 <a href="http://www.i2p2.i2p/getinvolved.html"
    target="_blank"> volunteering your time</a> to <a
target="_blank">translate</a>. Contact the project via the IRC channel listed
above. Thanks in advance!
Document last edited: XXX 2018.

comment:4 Changed 11 months ago by slumlord


  • I have not used the built-in webserver for hosting hidden services in many years, I will start one up for testing purposes.
  • Follow instructions to see which parts make sense and which parts need to be updated
    • Part about registering with stats.i2p will likely need updates
  • Update URLs

Changed 10 months ago by slumlord

Patch for index.html - 2018-05-28

comment:5 Changed 10 months ago by slumlord

Added a patch for changes made so far. Still a work in progress.

comment:6 Changed 10 months ago by zzz

updates in f31f1dcca8a237e63eb41ce1d6e45f3bff0d8c2a to be 0.9.34-18
will update .tx/config after changes are final at tag freeze Wed. June 13.

comment:7 Changed 10 months ago by slumlord

Added further updates in fe8b341506ae3cc6af50f5efb37390cb979db3e3

comment:8 Changed 10 months ago by zzz

  • Resolution set to fixed
  • Status changed from new to closed

Several additional edit passes done.
TX config in fb7834c031c1929d7e61de42bc8c38ba7a6828f4 to be 0.9.34-20.
Will be pushed to TX at tag freeze later today.

Note: See TracTickets for help on using tickets.