There are many reasons why you may want to host a remote instance of I2P.
I chose to do so because of my limited internet at home (slow speeds, monthly data cap) and because I wanted to help the network by having a reliable, 24/7 connected router. The requirements for running I2P isn't much, a Linux VPS with 256MB of memory will be enough to get you started.
Accessing the I2P router console instructs you to navigate to http://127.0.0.1:7657/ (http://localhost:7657). They also advise you to setup a browser proxy to to pass HTTP/HTTPS traffic through localhost's ports 4444. But how can you do that if your install is on a remote server?
Pretty simple, actually.
You can forward your localhost traffic to those specified ports using an SSH tunnel.
For example:
ssh -fTNL 4444:127.0.0.1:4444 -L 7657:127.0.0.1:7657 -L 7658:127.0.0.1:7658 -L 6668:127.0.0.1:6668 user@remoteip
That will forward any localhost requests for ports 4444 (proxy), 7657 (router), 7658 (webserver) and 6668 (IRC) to the remote IP address specified in the above command.
Then, if you go to your browser and go to http://localhost:7657 it should load your I2P or I2P+ router console. Then you can follow I2P's web browser configuration here: https://geti2p.net/en/about/browser-config and you'll be all set.
Pretty basic guide but it may help some who want to run I2P 24/7. This will also work on things like ZeroNet that require to access "localhost" to browse their networks, you could just amend the ports as needed in the format shown above and it 'should' work just the same. (In fact I may run a 24/7 ZeroNet instance in a similar fashion soon as well)
XANA wrote
You can also use putty to SSH tunnel :)