This is a beginner’s guide shows how to install and setup Tor service and Tor Browser in Ubuntu 24.10, Ubuntu 24.04, Ubuntu 22.04, Ubuntu 20.04, and their based systems, .e.g, Linux Mint 22/21. It should also work in Debian 11/12, and old Ubuntu 18.04, Ubuntu 16.04.
Tor, The Onion Router, is a free and open-source service enables people to browser the internet anonymously. While Tor in Ubuntu main repositories is always old, here’s how to install the LATEST version and receive updates via its apt repository.
How to Install Tor via the Official Apt Repository:
Tor has an official apt repository that supports for all current Ubuntu and Debian releases.
1.) Open terminal either from start menu or by pressing Ctrl+Alt+T on keyboard. Then run command to enable the usage of https support for apt package manager:
sudo apt install apt-transport-https
Type user password (no asterisk feedback) for sudo prompt and hit Enter. NOTE: In recent Debian/Ubuntu, this command is no longer required since apt now support https out-of-the-box!
2.) Run command to add the Tor repository:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/deb.torproject.org-keyring.gpg] https://deb.torproject.org/torproject.org $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/tor-project.list
This command will create tor-project.list
file under apt sources directory, and write the content under double quotation marks into it.
NOTE 1: For arm64 (e.g., Rasperry Pi), 32-bit Ubuntu 18.04/16.04, you have to remove arch=amd64
from the command.
NOTE 2: For Linux Mint and other Ubuntu based systems, replace $(lsb_release -sc)
in the command with the Ubuntu code-name that your system based on, e.g.,
- noble for Ubuntu 24.04, Linux Mint 22, etc.
- jammy for Ubuntu 22.04, Linux Mint 21, etc.
- focal for Ubuntu 20.04, Linux Mint 20, etc.
- Run
cat /etc/os-release
to tell if you don’t know which Ubuntu version your system is based on.
3.) The keyring updates regularly and there’s no valid command to install it so far. As an alternative, download the latest keyring .deb package from the link below:
Then install it via double-click, gdebi, or by running command in terminal:
sudo apt install ./Downloads/deb.torproject.org-keyring*.deb
4.) Finally, refresh system package cache by running command:
sudo apt update
The output should include something looks like: “Get:x https://deb.torproject.org/torproject.org …”
Then, install tor package via command:
sudo apt install tor
Or update it, if an old version was installed, via Software Updater
5.) Once installed, you can check Tor version and if it’s running via commands:
tor --version systemctl status tor
NOTE: In case the service is not in active status, try systemctl daemon-reload
then start with systemctl start tor
.
How to Install Tor Browser in Ubuntu:
If everything goes OK, let’s now install the Tor web browser.
1.) Simply open terminal and run command:
sudo apt install torbrowser-launcher
UPDATE: Due to package bug in Ubuntu 22.04, it may refuse to launch. To workaround it, open ‘terminal’ and run command to edit the ‘__init__.py
‘ (2 underscores before & after ‘init’) file:
sudo gedit /usr/lib/python3/dist-packages/torbrowser_launcher/__init__.py
When the file opens, change the line 98, 99, 100 and save it:
gui.move(
(desktop.width() – window_size.width()) // 2,
(desktop.height() – window_size.height()) // 2
)
2.) Then search for and open Tor Browser from system application launcher. It will automatically download & install the browser in your system.
For choice, you may open Tor Browser Launcher to select mirror, change listening port, and reinstall Tor browser.
3.) Once the download process finished, select ‘Configure’ if you’re in a Country censors Tor or behind proxy in next window, or select ‘Connect’:
When everything’s done, the Tor browser starts. That’s all. Enjoy!
Uninstall Tor and Tor Browser:
To remove Tor Browser, open terminal and run command:
sudo apt remove torbrowser-launcher
To remove Tor network service, run command:
sudo apt remove --autoremove tor
The ‘Software & Updates -> Other Software‘ seems no longer display software repositories added via “signed-by” argument. To remove the repository, use command to remove the source file:
sudo rm /etc/apt/sources.list.d/tor-project.list
Also, remove the keyring files via command:
sudo rm /usr/share/keyrings/deb.torproject.org-keyring.gpg
And, finally refresh system package cache via sudo apt update
command.
I dual boot with Parrot OS. It comes with Tor and Tor browser as a default and optimized for privacy and security. It also has anon surf which helps hide your IPv4 and IPv6 addresses. It is probably the easiest way to set up the Onion network and Tor.
Or you can run Arch which is a distribution that gets the freshest packages for everything every day. You can make some articles about Arch Linux too.
Having Tor installed in Arch gets it update with every update.
Thank you very much! The whole process worked like a charm on Ubuntu 20.04.
Thanks so much for this guide! Tor is up and running, after a little detour. I initially ran the command to install the Tor repository, taking note 2 into account (manually replacing lsb_release -sc with my version). But further steps didn’t seem to like the format of tor-project.list. I wound up deleting the line in that file that was created originally and reran the command with (lsb_release -sc) intact, and it worked.
I have a question about the benefit of installing the Tor service. It appears I can use the Tor browser after stopping the Tor service. So I’m curious if the service needs to be running constantly. Could users obtain the full benefits of the Tor browser without first installing the service?
typical linux bs…. more interested in demonstrating brilliance than installation….
how i can install tor browser on my raspberry pi4 using ubuntu 2.0 foca????
Thx again, works as a charm!
Ji m,
Very few instructions are as good as yours. It simply works!
Thanks a lot!
on Ubuntu 22.04, the step to install the keyring deb doesnt work, results in following error:
E: Unsupported file /Home/[username]Downloads/deb.torproject.org-keyring_2022.04.27.1_all.deb given on commandline
???
Bonjour,
Why this ?
$ sudo apt install ./Downloads/deb.torproject.org-keyring*.deb
Lecture des listes de paquets… Fait
E: Le fichier donné ./Downloads/deb.torproject.org-keyring*.deb n’est pas compris sur la ligne de commande
What do I have to do ?
Tor has been removed because of installation of ubuntu 22.04.
Ubuntu 22.04 deleted Tor.
LEFEVRE
Check that the path is OK.
It seems that it cannot locate the file.
(previously, make sure you actually downloaded it, obviously)
If for instance you use French names for the main directories maybe Downloads is not called Downloads
Nice tutorial, worked as a charm :)
Hi there,
I just wanted to say thanks for this post. I’m currently using Ubuntu 20.04 and I’m having some trouble installing Tor and Tor Browser. I’ve tried following the instructions on the website, but I keep
mic@mic-OptiPlex-7050:~$ tor –version
Command ‘tor’ not found, but can be installed with:
sudo apt install tor
mic@mic-OptiPlex-7050:~$ sudo apt install tor
[sudo] password for mic:
E: Malformed entry 2 in list file /etc/apt/sources.list.d/tor-project.list (Component)
E: The list of sources could not be read.
mic@mic-OptiPlex-7050:~$
Try editing the source file via command:
Replace
gedit
with your system text editor if it does not work, or usenano
command line text editor instead.When file opens in text editor, make sure has only single line looks like:
Depends on your system, replace jammy with:
Finally update package index via
sudo apt update
command.I’m afraid it no longer works. With Python 3.5 you receive a TypeError. They did a binary open that causes the problem
Traceback (most recent call last):
File “/usr/bin/torbrowser-launcher”, line 30, in
torbrowser_launcher.main()
File “/usr/lib/python3/dist-packages/torbrowser_launcher/__init__.py”, line 72, in main
common = Common(tor_browser_launcher_version)
File “/usr/lib/python3/dist-packages/torbrowser_launcher/common.py”, line 64, in __init__
self.load_settings()
File “/usr/lib/python3/dist-packages/torbrowser_launcher/common.py”, line 310, in load_settings
self.settings = pickle.load(open(self.paths[‘settings_file_pickle’]))
TypeError: a bytes-like object is required, not ‘str’
As far as I know, only Ubuntu 16.04 defaults to Python 3.5. And, the “torbrowser-launcher” package in Ubuntu 16.04 uses Python 2. So, I’m a little confused about the error.
Anyhow, for the error output your provided, try to fix it with following steps:
1. Open terminal (press Ctrl+Alt+T on keyboard)
2. Edit the key file by running command (replace gedit if you’re not on default DE):
3. When file opens in text editor, scroll down and find out line 310.
4. Replace the line:
with (try ‘rb’, ‘wb’, ‘rt’, ‘wt’ in below line one by one):
Finally, save the file and re-run the torbrowser-launcher. I’m not an expert on Python, so it may or may not work.
I followed each and every step from your tutorial but when i launched the tor browser i got 404 error. how to get rid of this.
It did not work in ubuntu 22/4
when i ran the first command it worked. The second command i forgot to sub the $(lsb_release -sc). The second time i substituted it with focal but for some reason it didnt work. maybe it was a typo but when i went back to retry the whole thing i couldnt make it past the first command because after it was executed i got and error that read, malformed entry 1 in list file /etc/apt/sources.list.d/tor-project.list (component). Anyway, im a total noob, just downloading ubuntu today so i have no clue what i did wrong.
Try editing the source file via:
Then, change the code-name according to your system (Run
lsb_release -sc
command will output your system code name).