In Securely hosting a Tor hidden service/site, everyone concludes that the best approach is to host the server on a VM with Whonix and full-disk encryption. Thus, the server will be isolated, and if someone manages to get in, they will not be able to reveal your real IP.

I'd like to host a hidden site using a Raspberry Pi, but as far as I know, they have ARM processors and cannot run VirtualBox, for instance. Plus, the system resources of a single board computer are quite limited. On the other hand, I don't want to have my laptop turned on 24/7.

What is the best approach when it comes to hosting a Tor hidden site using a Raspberry Pi?

  • 1
    If anyone gets in, they WILL BE ABLE to reveal your IP regardless if it is hosted on VM, Whonix or bare metal. – Tomek Feb 21 at 20:14

Like most things, it's really best to know examine what it is that you want to do with your onion service. Do you want to run a blog? Do you want to run a message board or an image board? Do you expect people do do things on your site besides read?

If you want to just run a blog, then you can do that with just a $5 Raspberry Pi nano. You really need to determine what kind of resources that you need and what kind content that you want to have.

With that said you probably don't need a VM or whonix or anything like that. What is most important is a firm understanding of what an onion service is and how it works. Also, if you very concerned about your anonymity, focus on the simplest website as possible.


It's actually quite easy.

  1. Install OS on RPi
  2. Download web server; nginx? (sleek, simple, etc.)

    apt-get install nginx

  3. Determine IP of RPi >

    ifconfig | grep 'inet addr' | grep -v ''

  4. Install TOR >

    apt-get install tor

  5. Alterations on tor config

    nano /etc/tor/torrc

Search for those two lines: HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 (where 192... is your local IP) 6. Create hidden_service directory

cd /var/lib/tor

mkdir hidden_service

chown debian-tor:debian-tor hidden_service

chmod 0700 hidden_service

  1. Restart TOR to create hostname and keys

    systemctl restart tor

  2. Check if hostname and keys are there

    ls -l

-rw------- 1 debian-tor debian-tor 23 Jan 29 22:10 hostname -rw------- 1 debian-tor debian-tor 887 Jan 29 21:42 private_key 9. Copy and paste hostname into TOR browser

cat hostname (will display your individual hostname available on TOR)

  1. Profit!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.