“I need a new site,” I thought to myself the other day. “A site which will be static and, besides the regular Internet, accessible via a Tor onion service as well.”
Admittedly, “I need a new site” should have been more like “I would like a new site to play with”. And as far as Tor is concerned, I have precisely zero sensitive/classified/secret information to share. So, in reality, out of the dozen regular visitors my new site will probably be welcoming per month, precisely zero of them will have a substantive reason to use the corresponding onion service.
On the other hand, I like sites adhering to a clean-and-no-frills design logic, hence the fondness for static sites. Additionally, although I have always admired Tor’s simple-yet-powerful inner workings, I somehow managed to avoid playing with hidden services – now called onion services.
Since these days I have some time off from my nine-to-five, I managed to get around setting up a new static site (this one) and have it hosted on an old but pretty reliable Raspberry Pi 3. The site is also accessible via a Tor onion service. Just fire up Tor Browser or open a Private Window with Tor from within Brave, and navigate to the following address:
What follows is a short list of the hardware and software I used and a couple of articles I read before setting this site up.
- A Raspberry Pi 3 Model B+ with no extra hard disk. The Pi only has a 16-gigabyte SD card, which should be enough for now.
- For automatically downloading and putting Raspberry Pi OS (former Raspbian) on the SD card, I turned to Raspberry Pi imager.
- The Onion Service Protocol is an excellent introduction to how onion services work.
- Although I am more familiar with nginx, this time I thought I should try lighttpd web server.
- Regarding the generation of this static site, Hugo was my obvious choice. (Maybe because Hugo is the only static site generator I have used in actual projects.)
- Among other topics, this article offers a good overview of installing the Tor client and setting up an onion service.
I am pretty sure I forget something important. In any case, I will be revisiting the topic in future posts.
Update 2020-10-14. Today I decided to have this site accessible via an onion service only. I understand this will severely limit its discoverability, but I still find this experiment quite intriguing.
Update 2022-01-30. Starting today, this site is accessible via a clearnet address also (that would be https://kolderson.net). It is still hosted on a fine Raspberry Pi, though.