The Invisible Internet Project (I2P) is an anonymous network layer (implemented as a mix network) that allows for censorship-resistant, peer-to-peer communication.


Connect to and browse I2P

Below I will show how-to easily use I2P with a specialized Chrome profile. You can accomplish something similiar with Firefox, but since I use Firefox daily, I decided to make Chrome a dedicated I2P browser.

First of all, install the I2P daemon:

guix package -i i2pd

Now simply run it. This will create a new config and data directory at ~/.i2pd:

$ i2pd
11:28:27@746/none - i2pd v2.44.0 (0.9.56) starting…

Next we’ll create a bash script to run Chrome, configured for I2P. Simply save this as run-i2p-chromium.sh:

#! /usr/bin/env sh
# Launches Chromium, pre-configured for I2P
mkdir -p "$CHROMIUM_I2P"
/home/franz/.guix-profile/bin/chromium --user-data-dir="$CHROMIUM_I2P" \
--proxy-server="" \
--proxy-bypass-list= \
--user-data-dir=$HOME/WebApps/i2padmin \
--safebrowsing-disable-download-protection \
--disable-client-side-phishing-detection \
--disable-3d-apis \
--disable-accelerated-2d-canvas \
--disable-remote-fonts \
--disable-sync-preferences \
--disable-sync \
--disable-speech \
--disable-webgl \
--disable-reading-from-canvas \
--disable-gpu \
--disable-32-apis \
--disable-auto-reload \
--disable-background-networking \
--disable-d3d11 \
--disable-file-system \
--app= $@

This example was copied from here, with minor adaption: https://eyedeekay.github.io/I2P-Configuration-For-Chromium/

Now simply run the script:

bash run-i2p-chromium.sh

You should be greeted with a Chrome browser window which reads “This site can’t be reached”, likely without address bar.

Simply open a new tab to fix that: (press) F1.
Now you can see the service status in the browser:

PantherX & (unofficial) GNU Guix Wiki.

Last update: 2023-11-11 21:56:46 +0000 | Apache-2.0

Inspired by the excellent Arch Linux Wiki