rss logo

How to Install and Use I2P for Secure and Anonymous Communication on Windows 11

I2P logo

I2P (Invisible Internet Project) is a long-standing open-source initiative—active for over two decades—designed to provide a secure and anonymous communication layer over the Internet. Its main goal is to resist censorship and protect user privacy by encrypting traffic and routing it through a decentralized network of I2P routers.

This robust network layer supports a range of anonymous services, including web browsing, P2P file sharing, and BitTorrent clients, among others.

In this guide, I’ll walk you through the step-by-step installation and configuration of I2P on a Windows 11 system.

Install

The prerequisites for I2P are the Mozilla Firefox browser and the Java Runtime Environment (JRE).

Java

I2P requires the Java Runtime Environment to function. While the I2P website recently introduced an all-in-one bundle that includes Java, it's still in beta and, based on my experience with bugs, not yet recommended. Instead, we will install the recommended version that requires Java to be installed beforehand.

Since Oracle changed its Java licensing terms, I recommend using an alternative. Personally, I use Adoptium (https://adoptium.net/) which is free, open-source, license-free, and maintained by the Eclipse Foundation (https://wikipedia.org/).

Download page for Eclipse Temurin 21 on Adoptium website with highlighted button for Windows x64
  • Run the installer and click on Next:
Eclipse Temurin JDK setup wizard welcome screen with highlighted Next button
  • Accept the license:
Eclipse Temurin JDK setup license agreement with checkbox selected and Next button highlighted
  • Choose installation scope:
Eclipse Temurin JDK setup installation scope screen with option to install for all users selected
  • Keep default settings:
Eclipse Temurin JDK custom setup screen showing installation options and Next button highlighted
  • And click Install:
Eclipse Temurin JDK ready to install screen with Install button highlighted
  • When the installation is complete, click Finish:
Eclipse Temurin JDK setup completed screen with Finish button highlighted

I2P

  • Go to the official I2P download page: https://geti2p.net/ and download the i2pinstall.exe file:
Download section of I2P for Windows showing the i2pinstall_2.8.2_windows.exe link with highlighted download button
  • Run the downloaded file. If Windows displays a warning, click Run anyway:
Windows Defender SmartScreen warning with More info and Run anyway options highlighted for I2P installer
  • Choose your language and proceed with the installation steps:
I2P installer language selection screen with English selected and OK button highlighted
  • Click on Next:
I2P installer welcome screen showing version 2.8.2 and Next button highlighted
  • Read the humorous information note if you wish, then click on Next:
I2P public domain software license screen with humorous warning and highlighted Next button
  • Select the installation path:
I2P installer directory selection with path input and confirmation dialog showing OK and Next buttons
  • Check the option to install I2P as a Windows Service:
I2P installer component selection screen with Windows Service option checked and Next button highlighted
  • Once the installation process is finished, click on Next:
I2P installer progress screen showing completed pack and overall installation with Next button highlighted
  • Complete the setup and let the installer create desktop shortcuts:
I2P installer shortcut setup screen with desktop and Start Menu options checked and Next button highlighted
  • Click on Done:
I2P installer final screen confirming successful installation and Done button highlighted

Post-Installation

After installation, you'll need to adjust a few settings such as the Windows Firewall and port forwarding. Below are the post-installation steps.

Service Check

  • Open the Windows Services Management Console to confirm that the I2P Service is running:
Windows Run dialog with services.msc command and Services window showing I2P Service running
  • Alternatively, use PowerShell:
PS C:\> Get-Service -Name I2P

Status   Name               DisplayName
------   ----               -----------
Running  I2P                I2P Service
  • If not running, start it with:
PS C:\> Start-Service -Name I2P

Primary Settings

  • Click the I2P router console shortcut or visit http://127.0.0.1:7657 in Firefox:
I2P router console shortcut icon on the Windows desktop
  • Follow the setup wizard and select preferred language:
I2P web interface language selection screen with English selected and Next button highlighted
  • Choose theme:
I2P setup screen with light and dark theme options and Next button highlighted
  • Run the bandwidth test:
I2P setup screen explaining bandwidth test with Next and Skip options highlighted
  • Click on Next at the end of the bandwidth test:
I2P setup screen showing bandwidth test in progress with Next button highlighted
  • Adjust bandwidth settings if needed, then proceed until you reach the I2P console dashboard:
I2P setup screen showing bandwidth configuration results with input/output rates and Next button highlighted
  • We’ll configure Firefox later — for now, just click Next:
I2P setup screen explaining browser and application setup with instructions and Next button highlighted
  • Click Finish at the end of the bandwidth test:
I2P setup final screen with welcome message to the Invisible Internet and Finished button highlighted
  • Finally, the main I2P Router Console interface should appear:
I2P Router Console interface showing bandwidth, services, applications and community links

Ports Configuration

Here, we will check or configure the ports (TCP and UDP) used by I2P. This information will be used to properly configure the Windows Firewall below.

  • Navigate to Configuration > Network or open http://127.0.0.1:7657/confignet. Take note of the UDP and TCP ports (e.g., 22648):
I2P router configuration screen showing specified UDP and TCP ports with Save changes button highlighted
  • Once your UDP and TCP ports have been identified (or modified), you should configure your Internet Gateway to perform NAT and forward these ports to the internal IP address of the workstation running your I2P router. For example, here I forward UDP and TCP port 22648 to the IP address 192.168.1.10:
Network diagram showing I2P port forwarding from internet gateway to a Windows 11 workstation with IP 192.168.1.10

Windows Firewall

Almost done — just one final step. We now need to allow inbound connections in the Windows Firewall.

  • We need to allow the following through the firewall:
    • UDP port previously set (22648 in my case)
    • TCP port previously set (22648 in my case)
    • The javaw.exe executable

Depending on your preferences, we can create the rule either from the GUI or using PowerShell. I will show you both methods so you can choose! 😉

Configure Windows Firewall (GUI)

We need to create three different rules: one for javaw.exe, one for TCP port 22648, and one for UDP port 22648.

  • Open the Windows Firewall Console and create a new inbound rule:
Windows Defender Firewall interface showing how to create a new inbound rule
  • Select Custom Rule as the rule type:
New Inbound Rule Wizard in Windows Firewall with Custom rule type selected
  • For the java rule, click Browse and specify the path to javaw.exe:
Windows Firewall rule wizard with program path to javaw.exe specified for Eclipse Temurin JDK
  • For the TCP rule, select the TCP protocol and specify the port number:
Windows Firewall rule wizard with TCP selected and local port 22648 specified
  • For the UDP rule, select the UDP protocol and specify the port number:
Windows Firewall rule wizard with UDP selected and local port 22648 specified

Configure Windows Firewall (PowerShell)

  • Open a PowerShell prompt with administrative privileges and enter the following commands: (⚠️ Make sure to check the JDK path, as the version may differ. ⚠️)
PS C:\> New-NetFirewallRule -DisplayName "I2P_UDP" -Direction Inbound -Protocol UDP -LocalPort 22648 -Action Allow
PS C:\> New-NetFirewallRule -DisplayName "I2P_TCP" -Direction Inbound -Protocol TCP -LocalPort 22648 -Action Allow
PS C:\> New-NetFirewallRule -DisplayName "JAVA" -Direction Inbound -Program "%ProgramFiles%\Eclipse Adoptium\jdk-21.0.7.6-hotspot\bin\javaw.exe" -Action Allow

Network Check

Once everything is set up, we need to make sure that the I2P network is reachable.

  • From the I2P Console, restart the router:
I2P Router Console interface with restart router button highlighted
  • After a few minutes, once the I2P router has restarted, the network status should show as OK:
I2P Router Console showing network status as OK and bandwidth usage statistics

Configure Firefox

Now let's see how to configure the Firefox browser to use the I2P network.

Firefox Profile (Optional)

It's not required, but I recommend creating a new Firefox profile. This will allow you to easily switch between your regular configuration and the I2P network.

  • Open the Firefox Profile Manager:
Windows Run dialog with command to open Firefox Profile Manager
  • Click on Create Profile… to start the profile creation wizard:
Firefox Profile Manager window with Create Profile option highlighted
  • In the Welcome window, click Next:
Firefox Create Profile Wizard introduction screen with Next button highlighted
  • Enter a name for the new profile:
Firefox Create Profile Wizard with I2P as profile name and Finish button highlighted
  • Select the newly created profile and click Start Firefox to launch the browser:
Firefox Profile Manager with I2P profile selected and Start Firefox button highlighted

Configure Firefox Proxy

  • Open the Settings menu(1)(2), search for proxy(3), then click on Settings(4) under the Network section:
Firefox settings page showing how to access network settings via menu and search for proxy
  • Set the Connection Settings with the following parameters:
Firefox proxy settings window showing manual proxy configuration with HTTP and HTTPS proxy set to 127.0.0.1 and port 4444, SOCKS v5 selected, and DNS proxy for SOCKS v5 enabled

Note: Due to its design focused on anonymity and its high level of security, the I2P network can be relatively slow, especially when starting the service. Indeed, connecting to other nodes can take several minutes. Therefore, it is advisable to wait between ten and twenty minutes before the network becomes fully usable.

  • Once the proxy settings have been configured, use any IP address checker (such as this beautiful Firefox add-on: https://addons.mozilla.org/ 😇) to confirm that your real IP address is hidden:
Public IP address check using mon-ip.com showing both IPv4 and IPv6 addresses in Firefox browser