Please note, this tutorial is not for the technologically feint of heart. However, I’ll give you my personal guarantee that if you run into troubles, I will respond to every request I receive for help.
First, lets to go to this URL:
and download the Expert Bundle for Microsoft Windows (that’s right, you’re now a tor expert, go a head and tell your friends). We’re going to follow the steps for Windows, because if you’re on Linux, I’m going to assume you can figure all of this out on your own. If not, feel free to get in touch and we can walk through the steps together. And in fact, the steps on the torproject website are made for Linux.
Once the download is finished, extract the contents of the zip file. You should now see two folders, Tor and Data. Go to the Tor folder and create a new text file. Inside of it, paste this:
Exitpolicy reject *:*
ContactInfo <your email address>
where <your email address> is your email address.
Now begins the feint of heart parts. We’re going to log into your router, and enable port-forwarding for the port tor uses to connect to the rest of the tor network (443). Look into your specific router’s configuration. A quick google search for something along the lines of “linksys WRT160nl ip address” should tell you which ip address your router resides on. Type this ip address into your browser and log into the router admin page. Each router is different, but again, a quick google search for something like “belkin n600 enable port forwarding” should yield good results. The tricky part is, you’ll have to know what ip address your computer currently has to type into the device IP portion of the port forwarding inputs. Your router will pass all the traffic it receives on port 443 on to your computer. To get the ip address, follow these steps.
Hurray! you got port forwarding working! this is useful for all sorts of things outside of tor. If you want to make any device at your house accessible from the internet, you’d simply add the port forwarding in your router, and forward the traffic to that device in your house.
Ok, if you followed the steps to find your IP address, you’ve at least opened the terminal now and ran one command. Things are going to get a little bit ambiguous because we’re all on different computers and the files are all probably in different places, but here’s the general idea (and I’d recommend google a lot if you get stuck, as well as getting in touch with me). We’re going to change directories (cd) into the extracted tor-win32-0.3.0.9 folder. When you get there, cd one more time into the Tor folder. You should see your newly created torrc.txt file, as well as a tor.exe file. Now, type this:
tor.exe -f torrc.txt
If you get the error
'tor.exe' is not recognized... then you’re not in the correct directory.
Tor will now spew out a bunch of information to your terminal, one of which is “Guessed our IP address as <Ip address>”. Remember this, as we’ll use it to validate that our node is actually working. Eventually, you should see the line “Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.” This means you did everything right.
Another way to check is atlas. Click the link, and in the top right corner search for “ididntedittheconfig” (notice above, that’s the Nickname we added to the torrc file at the very beginning, you can name your tor node whatever you want, you’d use this new nickname to search for your node on atlas). You should see a bunch of nodes named that, since its the default setting, but one will be that IP address I told you to remember in the previous section. Please note, atlas takes awhile to update, so you probably won’t see it immediately, don’t panic.
Welcome to the tor network! The only remaining issue to handle is, when you turn off your computer or log out, you’ll be disconnected from the tor network. Ideally, we’d like to reconnect to the network any time this happens. This would involve running the
tor.exe -f torrc.txt command when the computer wakes up, or powers on. But we’ll save this for another tutorial, or if you’re feeling adventurous, for you to try (a quick search for “run command on power up windows” should give you a good place to start). Alternatively, you could use a free tier AWS EC2 instance to persistently host a node.