There aren’t important visual things to mention in this update, so please read further only if you’re a dork.

As you might have seen on the homepage (or not), I decided to create a mirror of the site and serve it over the Tor network.

How I think my Tor server looks like.

How I did this?, you might ask. Well, the procedure is pretty simple, but requires you to have some computer knowledge.

Step 0 - Preparation

Please keep in mind that, with tor, YOU are the server. So if you want 100% uptime, you will need to run it from a device that’s always turned on. You can use a Raspberry Pi, a home server, a NAS with linux, the choice is yours.

Depending on what you are going to store on it, you might need a lot of space. Plan ahead.

Think if you want a random domain or a semi-custom domain. If you want a vanity domain, here’s a good article. I used mkp224o on my Mac Mini, because it’s pretty fast (2017 i7). Even though it said it takes about 30 minutes to generate a one, using 4 threads I got my vanity name ‘andrei……….’ in about 30 seconds.

Step 1 - Set up a webserver

Doesn’t matter if you use apache, nginx or whatever else you desire. There are tons of servers and configuration tutorials you can find online. Pick your favourite and install it. Place something in the root of the web server. Start the server and run it through a browser (http://127.0.0.1 or http://190.168.100.69:3128 or whatever you got configured there)

Step 2 - Install Tor

Tor should be pretty easy to install following their official guide. However, it seems that somehow running the Tor server on my computer messed up with my Tor Browser, so I will be using my home server (which is powered all day long anyway). So I had to do this twice, once for MacOS, once for Ubuntu Server, both methods work just fine.

Step 3 - Configure and test Tor

The official guide is pretty neat and straightforward.

Just find the torrc file. In MacOS it was in ~/Library/Application Support/TorBrowser-Data/Tor, on my Ubuntu Server I located it in /etc/tor/torrc and add these two lines. Make sure HiddenServiceDir is a place that’s safe because your hostname file and associated keys will rest there. Make sure that’s never public and you never share those keys with anyone, because others can impersonate your site! Replace the IP of HiddenServicePort with the relative IP where your webserver is (usually 127.0.0.1:80 is the default if you’re serving tor from the same computer where you’re hosting the files on)

1
2
 HiddenServiceDir /var/lib/tor/my_website/
 HiddenServicePort 80 127.0.0.1:80

Restart tor, check your .onion address in a Tor Browser and it should work just fine. If you have issues, check the log files or run tor manually from the Terminal and it should throw enough errors to fix it.

Step 4 – That’s it!

Congrats, you’re done! Now enjoy an onion and share your content with people.

How my Tor server actually looks like.