In today's political landscape and extreme internet censorship, there aren't many options to publish your thoughts and opinions online without someone trying to shut you down for wrong think.

All the current conventional blogging platforms such as Blogger, Twitter, Facebook, and Tumblr require you to register with your personal information and will remove your work if they decide it doesn't align with that platform's ever-changing values.

The only remaining bastion of free speech is to run your own blog on your own server and anonymize it by running your own hidden service on the darknet. This way no one will know who you are and will make it basically impossible for anyone to censor you.

In this guide, we assume you have some basic understanding of how a GNU/Linux system works, how to SSH to it, and install software.

Getting started

To get started with setting up your blog you will need a virtual server, the lowest end solution we offer will work well for this. Make sure to choose Debian 11 for the OS option.

Once you're logged in to the VPS go ahead and update it apt update -y; apt upgrade -y and install wget apt install wget -y

Configuring Your Hidden Service

We will now need to install and configure Tor, this is the program that runs our hidden service and allows us to stay anonymous. Install Tor by running apt install tor -y then enable it in systemd to auto start at boot by running systemctl enable tor

Next, we need to configure our Hidden Service by adding directives to Tor's config file. Edit the file /etc/tor/torrc using your favorite editor and add the below lines anywhere in the file:

HiddenServiceDir /var/lib/tor/blog/
HiddenServicePort 80 127.0.0.1:8080

Save the file then restart the Tor process by running systemctl restart tor

You can get your onion domain by cat'ing /var/lib/tor/blog/hostname you will need this later in the tutorial.

Installing Docker

Installing docker for a single-use application like this is a bit pointless but as I found out installing Ghost is a bit of a pain with many steps so using a pre-built container was just easier.

The easiest way to install docker on Debian is to use their auto-installer script. Change to the temp directory and run wget https://get.docker.com/ -O docker.sh; bash docker.sh

Install Ghost Blog

We're almost done! We just have to start the ghost blog docker container and your new darknet blog is ready. Run docker pull ghost to download the container.

Then run docker run -d --name ghost -e url=http://YOURONIONDOMAIN -p 127.0.0.1:8080:2368 --restart=always -v /var/opt/ghost:/var/lib/ghost/content ghost make sure to change YOURONIONDOMAIN to the onion domain you got from the 'Configuring Your Hidden Service' step.

Welcome To Your Anonymous Blog!

Open the Tor browser and go to your onion address, you should now see your new anonymous blog up and running. You can finish the setup by going to /ghost after your onion domain - make sure not to use your real information if you want to stay anonymous.