How to set up I2P with i2pd on linux for web browsing
This is a short tutorial for setting up I2P on Linux with i2pd for web browsing.
What is I2P
I2P is an anonymous network layer somewhat similar to Tor. Rather than .onion sites it lets you browse .i2p sites. It can also be used to run other Internet services anonymously but I will only be talking about web browsing. The I2P project doesn't recommend using I2P to browse the surface web and redirects you to Tor instead.
Most of the websites I've seen are blogs from people in the tech field (here is an example).
I2P daemon
Installation
Installing the I2P daemon. This might work, if it doesn't then click This Link, and the instructions there.
apt
sudo apt install i2pd
guix
guix install i2pd
Running i2p daemon
I like to run i2pd with –unix.handlesigstp in case I want to send a stop signal to it.
i2pd —unix.handle_sigtstp
If this works i2pd should be running and it should be writing messages to your terminal.
Your distro might have set up i2pd to run on your init system, if this is the case you might not need to run i2pd.
firefox setup
profile (optional)
You should probably create a firefox profile to browse i2p. Technically this step is optional but if you use your main profile for I2P then you won't be able to use firefox on normal internet.
Create a new firefox profile with
firefox -P
Click “Create Profile” and go through the wizard. Give it a name like i2p (the name can be anything but I'm going to use i2p in this article).
After you are done with the wizard I recommend turning “Use the selected profile without asking at startup” off so that you can avoid accidentally opening the wrong profile.
setting up the proxy
After you have the profile, you need configure it to use the I2P tunnel as a proxy.
Either open up firefox through the profile manager with your i2p profile selected or run
firefox -P i2p
After that set up the preferences
- go to about:preferences#general (you can paste this in your url bar)
- Click Network Settings
- Click Manual proxy configuration
- In Http proxy:
- put 127.0.0.1 as your HTTP proxy
- put 4444 as your port
- Click OK to close the window and confirm your changes
disable https
Https wasn't working for me, there might be a way to fix this but I don't know about it. I turned off HTTPS instead.
- Go to about:preferences#privacy
- Scroll down to HTTPS-Only mode
- Click “Don't enable HTTPS-Only Mode”
Exit out, you might want to configure the web browser to be more private but I am not going to go into detail on how to do that.
Test if you can browse i2p websites by going to http://reg.i2p/. If it doesn't work then make sure i2pd is running and try again.
browsing i2p with wget
With most command line tools, you can set the “httpproxy” environment variable to whatever your proxy address is.
For example
http_proxy=127.0.0.1:4444 wget http://reg.i2p/
Browsing i2p websites
reg.i2p
http://reg.i2p/ is a domain name registry for i2p websites, it has a huge list of i2p websites in it. If you want to use it to find I2P websites then try clicking the hamburger menu and then picking “latest” or “alive” to the websites it has registered.
Other lists
These are other lists of websites, It seems like they have less than reg.i2p.
other tools
- http://browser.i2p/ see your browser fingerprint
i2pd webconsole
To open up the i2pd webconsole go to http://127.0.0.1:7070/. You can do this on a normal web browser, it dosen't have to be configured for I2P. The web console can let you look at the i2p tunnels you have configured and do other stuff.
By Logan Andersen. This work is licensed under CC BY-SA 4.0
You can see my other blogs here.