Creating Onions.host

I recently launched a project I’ve been working on for the last few weeks called Onions.host.

Onions.host is a platform-as-a-service for hosting static sites on the Tor network. Basically, a user can use git to push up their code to a remote repository that will then publish their static site on a .onion address.

Onion addresses are URLs with a .onion address that are accessible on the Tor Network. The Tor network uses relays and multiple levels of encryption to ensure that your internet activities are kept private and free of trackers or surveillance. I won’t be going into the technical details since there’s plenty of articles on that that will probably be better written than what I can write.


I came across a blog recently by someone who was documenting some security flaws in new AI websites that have recently flooded the web. At the bottom of the site was some text that said:

“View this site on its onion address”

I was intrigued. I’ve had the Tor browser downloaded on my Kali VM for some time but never really used it. I booted it up, put the link in and after a few seconds the site loaded. I wondered why someone would make an onion mirror for their clearnet site. What’s the point?

But the more I thought about it, the more I thought “why not”? Why should people not have the ability to visit your site, or any site for that matter, anonymously?

If you care about privacy and the right to anonymity, it almost should be your duty to provide a way for your readers to access your site through the Tor (or other similar networks like I2P).

Deploying my own onion site

I decided that just on principle alone, I will deploy an onion version of this site. Even if nobody ever visits it (I doubt many people are reading this at all anyway), just having the option will give me a sense of pride. So I went looking for how I can do that.

Hosting an onion site is hard 😕

For the clearnet version of this site, I use DigitalOcean static site hosting. I just push up my code and it deploys automatically. Easy and free. But when investigating doing something similar for an onion site, I realized the only way to do it would be to rent a VPS and configure it myself…

I’m too lazy to do that. So instead, like any obsessive developer, I spent multiple weeks building a platform that would allow anyone to host a static onion site as easily as it is to host on DigitalOcean. I always liked the way Heroku does deployments. Rather than integrating as a Github app, you just add a new git remote and push up to that remote to deploy. It took some time to figure out how to create an HTTPS git server but once I got it working it was very satisfying.

git add remote onion https://onions.host/netsi/blog.git
git commit -a -m "deploy this on an onion address"
git push onion master

And just like that, we have a static site with on onion address.

Onions.host screenshot


The only problem with onion sites is that they’re obviously used by dark web users due to the anonymity they provide. The intention of building this site was never to provide dark web users a method to conduct illegal activities. Unfortunately it may seem like that is the case. But really, I just wanted to make it easier for people who already have static sites like blogs or portfolios to publish an onion version as well.

All I can hope is that it can make hosting a website on the Tor network more accessible to those who don’t want to deal with server administration.

If you like this idea as well, consider hosting your own Tor relay to support the Tor network