Using Tor, we can host anonymous nodes as Tor hidden services. To do this, we need to set up our Tor daemon and create a hidden service. The following instructions should work on any Linux system.
Tor can usually be installed with your package manager. For example
on an apt based system we can run:
# apt install tor
This will install it. Now in /etc/tor/torrc we can set up the hidden
service. For hosting an anonymous ircd node, set up the following
lines in the file:
HiddenServiceDir /var/lib/tor/darkfi_ircd
HiddenServicePort 25551 127.0.0.1:25551
Then restart Tor:
# /etc/init.d/tor restart
You can grab the hostname of your hidden service from the directory:
# cat /var/lib/tor/darkfi_ircd/hostname
For example purposes, let's assume it's
jamie3vkiwibfiwucd6vxijskbhpjdyajmzeor4mc4i7yopvpo4p7cyd.onion.
ircdAfter compiling ircd, run it once to spawn the config file. Then
edit it to contain the following:
inbound = ["tcp://127.0.0.1:25551"]
external_addr = ["tor://jamie3vkiwibfiwucd6vxijskbhpjdyajmzeor4mc4i7yopvpo4p7cyd.onion:25551"]
Now when you start ircd, the hidden service will be announced as
a peer and people will be able to connect to it when they discover
you as a peer.
These instructions are also applicable to other nodes in the DarkFi
ecosystem, e.g. darkfid.