A self-contained, Dockerized environment for browsing I2P sites securely. It bundles a pre-configured Firefox with an i2pd router and provides access through a web-based GUI (NoVNC) using jlesage/docker-baseimage-gui
- User-Friendly Loading Screen: A smooth, animated progress bar shows the I2P connection status, only launching Firefox when the network is fully ready (i2p beginner ready).
- Audio Support: Audio from Firefox is streamed through the browser using sockets.
- Clipboard Support: Clipboard from host to noVNC working
- Resolution/Compression/Scaling Control: Adjust your settings for slow networks if using remote hosts
- Lightweight: Built on a minimal Alpine Linux base.
- Pre-configured Firefox: Ready to browse
.i2psites out-of-the-box. - Integrated
i2pdRouter: Manages the connection to the I2P network automatically. - Web-Based GUI: Access the browser from any modern device on your network via NoVNC.
- Flexible Persistence: Run in a fully ephemeral mode for maximum privacy, or mount specific volumes to save your I2P bootstrap data, Firefox profile, or downloads across sessions.
you can use built container from DockerHub or build your own in next section
docker run --rm -it -p 5800:5800 tqwee/i2pd-firefox:latestAccess the GUI: Open your web browser and navigate to: http://localhost:5800
-
Clone and Build the Docker Image:
git clone https://github.com/Justxd22/i2p_browser && cd i2p_browser docker build -t i2pd-firefox .
-
Run the Container (Ephemeral Mode): This is the recommended mode for maximum privacy. All data will be erased when the container is stopped.
docker run --rm -it -p 5800:5800 i2pd-firefox
-
Access the GUI: Open your web browser and navigate to:
http://localhost:5800
On startup, the container performs the following sequence:
- The
i2pdservice is started in the background to begin connecting to the I2P network. - A full-screen Python GUI is displayed, showing a loading progress bar.
- The GUI monitors the
i2pdservice, waiting for two conditions:- The I2P tunnel creation success rate is stable.
- An I2P test URL is accessible through the local proxy.
- Once both conditions are met, the loading screen closes, and the main Firefox browser is launched to
stats.i2p, ready for use.
By default, the container is ephemeral. To save data, you can mount specific host directories as volumes into the container.
docker run -it --rm -p 5800:5800 i2pd-firefoxMount a single host directory to /config. Everything (I2P data, profile, downloads) will be saved.
docker run -it --rm -p 5800:5800 -v $(pwd)/my-firefox-data:/config:rw i2pd-firefoxdocker run -it --rm -p 5800:5800 \
-v $(pwd)/my-firefox-profile:/config/profile:rw \
-v $(pwd)/my-firefox-downloads:/config/downloads:rw \
i2pd-firefoxOnly save the I2P bootstrap data for fast network connection, but use a fresh Firefox profile every time:
docker run -it --rm -p 5800:5800 \
-v $(pwd)/my-i2pd-data:/config/i2pd:rw \
i2pd-firefox- xmr:
433CbZXrdTBQzESkZReqQp1TKmj7MfUBXbc8FkG1jpVTBFxY9MCk1RXPWSG6CnCbqW7eiMTEGFgbHXj3rx3PxZadPgFD3DX - xmr:
4ACPJKijtYsBn1vsYdjS6sLavgvvyEVYg54adcHGYepUMFi8sUttk9obNfaRv3TCMZN5pMeHLiTTpHjAdTkLYPDr33BBRh5 - birdpay:
@_xd222



