Hosting this site on the dark web

Photo by Steve A Johnson on Unsplash

Home » Blog » Hosting this site on the dark web

Hosting this site on the dark web

It seems like something of a rite of passage for cybersecurity professionals to have a presence on the dark web. Since this site was always intended as a space to explore my interests and passion in this field, setting up an onion version felt like a natural next step.

If you’re interested in viewing this site over Tor, it’s available here: jlvhrv47v6qfh4vqzo3quv7eebwzqxc2i4x3c72kn3sy3voggmpr6iqd.onion

Objective

Given the use case and intended audience for this site, hosting a dedicated dark web version and syncing content to it is inefficient. This site serves static content only, so a simple reverse proxy via Nginx to the existing public instance is sufficient.

The goal is to create a low-cost, low-maintenance .onion proxy. This approach is minimalistic, reliable, and surprisingly easy to set up.

Method

1. Provision a Debian/Ubuntu VM

Any cloud provider will suffice. For this example, I used Google Cloud’s free tier to spin up a Debian VM.

2. Update and configure automatic updates

sudo apt update && sudo apt upgrade -y
sudo apt install unattended-upgrades apt-listchanges
sudo dpkg-reconfigure --priority=low unattended-upgrades

Adjust the auto-update configuration to match your target uptime and risk appetite.

3. Install Tor

sudo apt install tor

4. Configure the hidden service

Edit /etc/tor/torrc:

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

5. Install and configure Nginx

sudo apt install nginx
sudo systemctl start nginx

Create /etc/nginx/sites-available/tor_proxy:

server {
    listen 127.0.0.1:8080;

    server_name localhost;

    location / {
        proxy_pass https://blog.jake.sc;
        proxy_set_header Host blog.jake.sc;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_ssl_server_name on;

        proxy_connect_timeout 10s;
        proxy_read_timeout 30s;
    }

    allow 127.0.0.1;
    deny all;
}

6. Enable the configuration

sudo ln -s /etc/nginx/sites-available/tor_proxy /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo systemctl enable nginx

7. Start Tor and retrieve your .onion address

sudo systemctl restart tor
sudo systemctl enable tor
sudo cat /var/lib/tor/hidden_service/hostname

Result

Once this setup is complete, your .onion domain will act as a dark web mirror of your site via reverse proxy. It’s a simple and effective way to maintain a dark web presence with minimal overhead.