What is I2P?

I2P, or the Invisible Internet Project, is an anonymizing network. The I2P protocol allows for users to make peer-to-peer connections, or to connect to recognized addresses using the .i2p extension. I2P is similar to other anonymizing networks such as Tor, but the garlic routing protocol of the I2P network is generally recognized as more secure and anonymous than the onion protocol. I have a lot to learn still about the specifics about the network myself, but maybe at some point I will feel confident enough to make a separate post explaining all of the details about garlic routing.

How can I get I2P?

You can download the I2P router by following the instructions at https://geti2p.net . The I2P router is a java application that will start an I2P proxy server on your local host. You can start and stop the I2P router from your terminal using the i2prouter command; the command may not be added to your path automatically, but you should be able to call it from the I2P installation directory as “./i2prouter”. You should be able to start and stop the router from your notebook using the Run function, but I have not tested it and I consider that to be outside the scope of this post. I suggest stopping your router gracefully to allow all of your open circuits to close, as it won’t interrupt traffic for other users.

Opening .i2p Sites from Wolfram Notebooks

Once you have your router installed and started, you should have the proxy server and other utilities such as the I2P console running from your local host. Since your console is running from your local host, you actually should not use a proxy when accessing it. If your proxy is set correctly and you try to access your console with it on, it should come back with the following 403 error:
Error: Local Access
Your browser is misconfigured. Do not use the proxy to access the router console, localhost, or local LAN destinations.
You should be able to make an HTTP request to your console using URLExecute. You should get something similar to the following:
In[]:=
URLExecute["http://127.0.0.1:7657/home"]
Out[]=
Version: 2.9.0-0Uptime: 3 min ​ Bandwidth in/out​3 sec: 0.19 / 0.22 KBpsTotal: 0.41 / 0.44 KBpsUsed: 81.1 KB / 91.3 KB ​ Network: OK ​ Reseeding: fetching seed URL.​ Restart Shutdown ​ Local Tunnels​ shared clients I2P Router Console Jun 2, 2025 2.9.0 Released idk ​ I2P 2.9.0 is a maintenance release that includes bug fixes and work on new features. Thread usage has been improved to improve the performance of the i2ptunnel system. NTCP2 has been improved to resist probing attacks. The notification system has been integrated into more applications to provide better feedback to users from I2PSnark and the other applications. Automatic floodfill enrollment has been fixed. Users may observe increased resource usage when acting as floodfill. If this is not desired, floodfill mode can be disabled on the /config page. A new global map feature is available in the console which shows the locations of routers in your view of the netDb. These are the peers that help your router build tunnels and provide services anonymously. Work continues on implementing automatic bandwidth management for tunnels, the Datagram2 protocol, and Post-Quantum cryptography. In two releases, at 2.11.0, I2P will require Java 17. As usual, we recommend that you update to this release. The best way to maintain security and help the network is to run the latest release. ​ News last updated 41 days ago. News last checked 26 days ago. Hide news | Show all news Applications ​Address Book ​Email ​Hidden Services Manager ​Torrents ​Web Server I2P Community Sites ​[Ramble] ​Git Project Hosting ​I2P FAQ ​I2P Forum ​I2P Pastebin ​notbob.i2p ​Planet I2P ​Project Website ​StormyCloud Configuration and Help ​Configure Bandwidth ​Help ​Manage Plugins ​Router Console Network and Developer Information ​Graphs ​I2P Bug Reports ​I2P Technical Docs ​I2P Wiki ​Logs ​stats.i2p
If you want to access .i2p sites, you should configure your proxy using the following:
The I2P proxy server runs out of port 4444 on your local host. I would suggest using an appropriate scoping construct like Block if you plan on going back and forth between accessing sites with and without the proxy, although I haven’t tested it myself. You can access .i2p sites using the URLExecute command:
This might appear to be a short response, but this is the actual plaintext of this page should you chose to visit yourself. Please remember to use the I2P network responsibly, and remember to not violate the Wolfram Terms of Use! https://www.wolfram.com/legal/terms/wolfram/