Configure the I2p i2ptunnel HTTP proxy to listen on all interfaces

By default, the i2p HTTP Proxy client tunnel will listen on 127.0.0.1:4444:

# lsof -n -i:4444
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    2078 i2psvc  117u  IPv6  75875      0t0  TCP 127.0.0.1:4444 (LISTEN)

To configure the i2p HTTP Proxy client tunnel to listen on all interfaces navigate to the i2ptunnel configuration section by visiting the I2P Router Console (listening on port 4444) > Web Apps > i2ptunnel > I2P HTTP Proxy. The change the Reachable by address within the dropdown menu from 127.0.0.1 to 0.0.0.0.

Click Save then Restart All.


Configure the I2P web console to listen on all interfaces

By default, the i2p web console application will listen on 127.0.0.1:7657:

# lsof -n -i:7657
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    1150 i2psvc   86u  IPv6  17751      0t0  TCP [::1]:7657 (LISTEN)
java    1150 i2psvc   90u  IPv6  17753      0t0  TCP 127.0.0.1:7657 (LISTEN)

To configure i2p to listen on all interfaces, edit /var/lib/i2p/i2p-config/clients.config replace:

clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/

with:

clientApp.0.args=7657 0.0.0.0 ./webapps/

Then restart the i2p service:

# systemctl restart i2p.service

lsof will show i2p listening on all interfaces:

# lsof -n -i:7657
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    1604 i2psvc   86u  IPv6  19974      0t0  TCP *:7657 (LISTEN)