i2p: Invisible Internet Project
This is a series of notes about using the Invisible Internet Project, especially notes and links discussing how to host services on that darknet.
The Invisible Internet Project (I2P) is a fully encrypted private network layer. It protects your activity and location. Every day people use the network to connect with people without worry of being tracked or their data being collected. In some cases people rely on the network when they need to be discrete or are doing sensitive work. ~
- SSH over I2P
-
The above blog has a lot of referral links and cryptocoin -related stuff. Using a text-mode browser like w3m is recommended in case there are other unsavory things happening in the background.
- IRC over I2P
Reading through thhe documentation above, it looks like
hosting a service on I2P is as simple as letting the I2P
router know about your service by entering the port
settings and other details into
tunnels.conf
, running the appropriate
software on the listed ports and then restarting the
router.
I really like using w3m via emacs and I use the below code snippet to toggle using i2p on and off with w3m.
(setq browse-url-browser-function 'w3m-browse-url)
(require 'w3m)
(require 'w3m-load)
(defun butingtaon/toggle-i2p-mode ()
"Toggles between clearnet mode and i2p mode."
(interactive)
(if (equal url-gateway-method 'native)
(progn (setq url-gateway-method 'socks)
(setq w3m-command-arguments
(nconc w3m-command-arguments '("-o" "http_proxy=http://127.0.0.1:4444")))
(message "I2P mode, enabled."))
(progn (setq url-gateway-method 'native)
(setq w3m-command-arguments nil)
(message "I2P mode, disabled."))))
After toggling a mode, run w3m-quit
to shut
down the background w3m instance and then run w3m
again. Although switching between i2p- and regular web
mode seems to work (and having clearnet and i2p web
pages up), w3m-quit
in between modes seems
to be cleaner. It delineates whether you're on the
clearnet or not.