The latest version of this document is available at docs.getmonero.org.
router/bin/i2p-zero
router/bin/tunnel-control.sh router.externalPort
. For privacy reasons, do not disclose this port number to other people. Tell your firewall to forward traffic through to this port so that your I2P node is publicly reachable. If you have no ability to allow incoming connections, everything will still work, but your I2P node will not be helping the I2P network as much as it could.router/bin/tunnel-control.sh socks.create 8060
router/bin/tunnel-control.sh server.create 127.0.0.1 8061
..b32.i2p
. This is your new I2P address.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.b32.i2p
with your own I2P address that was printed from step 6: monerod --tx-proxy i2p,127.0.0.1:8060 --add-peer core5hzivg4v5ttxbor4a3haja6dssksqsmiootlptnsrfsgwqqa.b32.i2p --add-peer dsc7fyzzultm7y6pmx2avu6tze3usc7d27nkbzs5qwuujplxcmzq.b32.i2p --add-peer sel36x6fibfzujwvt4hf5gxolz6kd3jpvbjqg6o3ud2xtionyl2q.b32.i2p --add-peer yht4tm2slhyue42zy5p2dn3sft2ffjjrpuy7oc2lpbhifcidml4q.b32.i2p --anonymous-inbound XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.b32.i2p,127.0.0.1:8061 --detach
That's it! Do not replace the dsc**.b32.i2p address with yours, only replace the XXXXXXX.b32.i2p one. The dsc**.b32.i2p is a seed node that will help you discover other I2P-accessible monero nodes.
If you are running Linux, it would be useful to set this all up to run automatically if the machine is ever rebooted. You can do this by creating systemd service files:
Note: take care to replace version numbers in the files below with the version numbers of monero and i2p-zero that you download. Also replace <username>
and <usergroup>
with your Linux user and group names (use whoami
and groups
commands if you don't know them).
[Unit]
Description=i2pzero
After=network.target
[Service]
Type=simple
ExecStart=/home/<username>/i2p-zero-linux.v1.17/router/bin/i2p-zero
User=<username>
Group=<usergroup>
[Install]
WantedBy=multi-user.target
[Unit]
Description=monerod
After=network.target
[Service]
Type=forking
PIDFile=/home/<username>/monerod.pid
ExecStart=/home/<username>/monero-x86_64-linux-gnu-v0.16.0.0/monerod --tx-proxy i2p,127.0.0.1:8060 --add-peer core5hzivg4v5ttxbor4a3haja6dssksqsmiootlptnsrfsgwqqa.b32.i2p --add-peer dsc7fyzzultm7y6pmx2avu6tze3usc7d27nkbzs5qwuujplxcmzq.b32.i2p --add-peer sel36x6fibfzujwvt4hf5gxolz6kd3jpvbjqg6o3ud2xtionyl2q.b32.i2p --add-peer yht4tm2slhyue42zy5p2dn3sft2ffjjrpuy7oc2lpbhifcidml4q.b32.i2p --anonymous-inbound XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.b32.i2p,127.0.0.1:8061 --detach --pidfile /home/<username>/monerod.pid
User=<username>
Group=<usergroup>
[Install]
WantedBy=multi-user.target
After creating these two files, run:
systemctl daemon-reload
service i2pzero start
service monerod start
To see the output of these services, use journalctl -u i2pzero
and journalctl -u monerod
If you want to run your own seed node (known as a 'mipseed') to help other people discover I2P-accessible Monero nodes, follow instructions in the i2p-zero repo.
The original version of this guide was originally uploaded on the i2p-zero repository.