I have been working on a web shrine called Sacred Ground.
The Sacred Ground shrine
The project is an homage to privacy and anonymity. It is also self-replicating, at least in the sense that it describes the process of building it, so that someone else with a similar inclination could build one of their own.
I have a project page for it on this site. It is accessible on both the regular Internet at Tor: Sacred Ground (clearnet, onionlink)
It’s not just a guide about making a website on Tor. It’s a guide about making a website, and hosting it on Tor and on the public Internet, without any links to your offline identity. With services like Njalla (clearnet, onionlink) , you can even get a regular domain name without giving up your privacy.
The guide walks you through working with Tor, obtaining Monero to buy services anonymously, hosting and DNS with Njalla, configuring a Tor hidden service, and deploying a web site.
If you’ve ever wanted to publish something anonymously, this it how.
Onionskin
theme for Hugo
Hugo is a good fit for Tor sites. It’s self-contained with few dependencies, and it generates static sites which are easy to host securely.
I wrote a Hugo theme called Onionskin, designed for my shrine. It serves no JavaScript or webfonts, and serves no CSS or images from third-party CDNs. It has the ability to inline images and CSS, so that a page is fetched in a single request, which is faster over Tor and precludes half-loaded pages.
To emphasize the privacy considerations of browsing in Tor vs the regular Internet, I implemented link annotations.
I also brought a version of those double links, pointing to the same content on the clearnet and on Tor, to this site. (I changed the styling and will probably tweak it further over time.) Here’s a double link to the shrine itself: Sacred Ground (clearnet, onionlink)
A Git server on Tor
While writing this project, I needed a place to keep my Git repositories. I decided to host a Gogs server on the same VPS that hosts the site. See the repositories for the site and the theme. This server is available only on Tor; unlike the actual content of the shrine, I don’t make a clearnet mirror available.
This was pretty easy! All I had to do was have Gogs listen on a loopback address, tell it its base URL was the onion address, and create the Tor hidden service. To learn more, see the howto in the shrine (clearnet, onionlink) !
Tor under attack
I am performing all maintenance and testing for the site over Tor as well, and that experience of administration over Tor informs the guide. It’s not hard, but it is slow.
Making this now also highlights that Tor has been under a sustained DDOS for the past several months. Now is a good time to donate to Tor – I do!
A favorite quote
But it’s not illegal to lock your door at night. It’s not illegal to have a whispered conversation in a park. It’s not illegal to walk out of sight of a CCTV camera. It’s not illegal to carry cash.
…
There are some things law enforcement do not get to see and do not get to have, even with a warrant. That is how things have always been, and our society has yet to fall apart because of it.
Update: Onion service for this website
Shortly after publishing this, I started using the same server to host an Onion service for this website (clearnet, onionlink) and its mirror universe (clearnet, onionlink) making them accessible over Tor.
- I added separate config files
for the Onion deployments setting
baseURL
and anything else different from production. - The
extensions
(clearnet,
onionlink)
section shows how I create the Onion services in
provision-ext.sh
and deploy the site contents with aMakefile
target.