Hosting anonymous nodes ======================= _To connect to Tor, we use [Arti](https://gitlab.torproject.org/tpo/core/arti). This is an experimental project with incomplete security features. See Arti's [roadmap](https://gitlab.torproject.org/tpo/core/arti#roadmap) for more information._ 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. ## 1. **Install Tor** 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 `darkirc` node, set up the following lines in the file: ``` HiddenServiceDir /var/lib/tor/darkfi_darkirc 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_darkirc/hostname ``` For example purposes, let's assume it's `jamie3vkiwibfiwucd6vxijskbhpjdyajmzeor4mc4i7yopvpo4p7cyd.onion`. ## 2. **Setup `darkirc`** After compiling `darkirc`, run it once to spawn the config file. Then edit it to contain the following: ```toml inbound = ["tcp://127.0.0.1:25551"] external_addrs = ["tor://jamie3vkiwibfiwucd6vxijskbhpjdyajmzeor4mc4i7yopvpo4p7cyd.onion:25551"] ``` Now when you start `darkirc`, 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`.