This is an introductory tutorial for starting your own I2P service from any computer and any type of network.
If you already have i2pd installed, then you probably can start from phase number 3.
Phase 1 - Install i2pd
Download and install i2pd.
If you are using Linux, as we hope that you do, then you can install i2pd from your package manager, or software repository, or app store.
Phase 2 - Configure i2pd
This phase is intended for you to slightly understand how I2PD works on your machine.
You do not need to manually create i2pd folder;
You can install the official package and it will come with a pre-configured config files.
You can skip this phase; or
Create a directory ~/.i2pd/ and configure a tunnel and i2pd.
Tunnel
Create file ~/.i2pd/tunnels.conf and add this content.
[anon-website]
type = http
host = 127.0.0.1
port = 8000
keys = anon-website.dat
Configuration
Copy file /etc/i2pd/i2pd.conf to ~/.i2pd/i2pd.conf, and set the following options; or
Create file ~/.i2pd/i2pd.conf and add this content.
daemon = false
ipv4 = true
ipv6 = true
[reseed]
verify = true
urls = https://reseed.i2p-projekt.de/,https://i2p.mooo.com/netDb/,https://netdb.i2p2.no/
[addressbook]
defaulturl = http://shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa.b32.i2p/hosts.txt
subscriptions = http://reg.i2p/hosts.txt,http://identiguy.i2p/hosts.txt,http://stats.i2p/cgi-bin/newhosts.txt
Post script
This is a basic configuration file which is intend for this tutorials so you would be able to observe that you are able to run your own I2P service.
You are encouraged to read the complete set of options which is available at /etc/i2pd/i2pd.conf.
Phase 3 - Start a server
Start an HTTP server at port 8000.
python -m http.server
Execute I2P
i2pd
Phase 4 - Discover your public address
Open i2pd webconsole, and navigate to menu I2P tunnels.
Copy the hostname of "anon-website" under the title "Server Tunnels".
Example:
anon-website ⇒ abcdefghijklmnopqrstuvwxyz12345678900987654321zyxwvu.b32.i2p:8000
Hostname:
bcdefghijklmnopqrstuvwxyz12345678900987654321zyxwvu.b32.i2p:8000
URL:
http://bcdefghijklmnopqrstuvwxyz12345678900987654321zyxwvu.b32.i2p
Phase 5 - Register an address (optional)
This phase id optional, and is meant for you, if you want to have a custom address (e.g. YourCustomAddress.i2p).
Click on the hyperlink "anon-website".
You will then be referred to this URL.
http://127.0.0.1:7070/?page=local_destination&b32=bcdefghijklmnopqrstuvwxyz12345678900987654321zyxwvu
Click on "Address registration line".
Set a desired domain name.
Note: result string can be used only for registering 2LD domains (example.i2p). For registering subdomains, please use i2pd-tools.
You will then be referred to a page which would read "SUCCESS" and be advised to register at reg.i2p site.
PLEASE COPY AND SAVE THE INFORMATION OF THE TEXT FIELD.
Set a desired description up to 64 characters.
You will then be referred to reg.i2p site which reads "DOMAIN SUCCESSFULY ADDED".
http://shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa.b32.i2p/add
PLEASE COPY AND SAVE THE INFORMATION OF THAT PAGE.
You then be able to visit your I2P site via YourCustomAddress.i2p.
Success
By now, you should have successfully setup your presence over the I2P network.
Conclusion
This is a short guide so people would start to immediately explore the possibility to host I2P sites.
You are encouraged to read the documentations of i2pd and explore other options that could be beneficial to you.
Welcome to I2P!