Notes

Add Tor project repo to Ubuntu

Edit on GitHub

System Administration
2 minutes

NOTE: There is a bash script that takes care of everything in this article and more.

While most of you are familiar with Tor Browser, few are aware that it is a bundle that consists of two parts: the browser and the router. You can use the router to use commands like tor, torify and torsocks

  1. Create a tor.list file inside /etc/apt/sources.list.d/
1sudo touch /etc/apt/sources.list.d/tor.list
  1. Add official project source repos to the file
1# /etc/apt/sources.list.d/tor.list
2deb     [arch=$(dpkg --print-architecture) https://deb.torproject.org/torproject.org $(lsb_release -c | cut -f2) main
3deb-src [arch=$(dpkg --print-architecture) https://deb.torproject.org/torproject.org $(lsb_release -c | cut -f2) main
  • $(dpkg --print-architecture) will give you system architecture, e.g. amd64 (keep in mind that Ubuntu Focal dropped support for 32-bit)
  • $(lsb_release -c | cut -f2) will give you distribution codename, e.g. focal
  1. Update sources and install the tor package
1apt update
2apt install apt-transport-https
3apt install tor
  1. Update config

In /etc/tor/torrc, uncomment the lines #ControlPort 9051 and #CookieAuthentication 1 and change the CookieAuthentication value from 1 to 0

1sed -i 's/#ControlPort 9051/ControlPort 9051/g' /etc/tor/torrc
2sed -i 's/#CookieAuthentication 1/CookieAuthentication 0/g' /etc/tor/torrc
3
4sudo /etc/init.d/tor restart
  1. Test changing your IP
1curl ifconfig.me
2
3torify curl ifconfig.me 2>/dev/null

The torify command can be used to run any command through tor. The redirect to /dev/null is used because torify generates a handful of warnings on some platforms.

If all goes well, you should see the IP address you’re getting after going through Tor. If not, try restarting the tor service again.