􀀂􀀟􀀍􀀄 􀀂􀀞􀀍􀀅 A shrine to privacy

I have been working on a web shrine called Sacred Ground.

Sacred Ground screenshot

The Sacred Ground shrine

Sacred Ground logo

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

Onionskin logo

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.

Sarah Jeong

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 a Makefile target.


Comments are hosted on this site and powered by Remark42 (thanks!).

Webmentions are hosted on remote sites and syndicated via Webmention.io (thanks!).