Have you heard of Tor Browser? It’s a Browser. But, it’s not just like any other browser out there. The way it works is pretty interesting. Tor Browser is a modified version of Mozilla Firefox that helps you browse the internet anonymously and privately. This way, no one can track your online activity and see what sites you visit.
Moreover, by using Tor Browser, your ISP cannot monitor your internet usage or see which websites you visit. So, if you are worried about privacy or accessing blocked websites in your country then this article is for you.

Advertisement

In this guide, we will show you how to install Tor Browser on CentOS and Fedora with step-by-step instructions. Let’s get started…

This article will help you to install the Tor browser in your CentOS/RHEL and Fedora systems.

Step 1 – Configure Yum Repository

The Tor development team provides an official yum repository for the Tor browser installation. You can find the latest available packages by visiting rpm.torproject.org.

First, configure the EPEL repository on your system.

sudo dnf install epel-release -y 

Now, create a new file /etc/yum.repos.d/tor.repo and edit in a text editor:

sudo nano /etc/yum.repos.d/tor-browser.repo 

Add one of the below configurations as per your Linux distribution.

  • On CentOS and RHEL systems:
    [Tor]
    name=Tor for Enterprise Linux $releasever - $basearch
    baseurl=https://rpm.torproject.org/centos/$releasever/$basearch
    enabled=1
    gpgcheck=1
    gpgkey=https://rpm.torproject.org/centos/public_gpg.key
    cost=100
    
  • On Fedora systems:
    [Tor]
    name=Tor for Fedora $releasever - $basearch
    baseurl=https://rpm.torproject.org/fedora/$releasever/$basearch
    enabled=1
    gpgcheck=1
    gpgkey=https://rpm.torproject.org/fedora/public_gpg.key
    cost=100
    

Save the file and close it.

Step 2 – Installing Tor Browser

You have successfully added the Tor browser repository to your system. Next use the DNF command to install Tor Browser on your CentOS, RHEL, or Fedora system:

sudo dnf install tor 

Press ‘y’ for any confirmation prompted by the installer.

On successful command execution, you will have installed the Tor browser on CentOS and Fedora systems. Now launch the application on your Desktop system.

Conclusion

This tutorial helped you to install the Tor browser on CentOS, RHEL, and Fedora systems. Now you can access the internet anonymousaly.

Share.

10 Comments

  1. @STEPHEN WESTMAN, @PURAB
    [tor]
    name=Tor repo
    enabled=0
    baseurl=https://deb.torproject.org/torproject.org/rpm/DISTRIBUTION/$basearch/
    gpgcheck=1
    gpgkey=https://deb.torproject.org/torproject.org/rpm/RPM-GPG-KEY-torproject.org.asc

    Please change enabled from 1 to 0 as my above text. It will work

  2. When i am start tor , it gives an error like below,

    [john@localhost ~]$ tor
    Jul 25 19:28:53.021 [notice] Tor 0.3.5.8 running on Linux with Libevent 2.1.8-stable, OpenSSL 1.1.1c, Zlib 1.2.11, Liblzma 5.2.4, and Libzstd 1.4.0.
    Jul 25 19:28:53.021 [notice] Tor can’t help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
    Jul 25 19:28:53.022 [warn] Tor was compiled with zstd 1.3.8, but is running with zstd 1.4.0. For safety, we’ll avoid using advanced zstd functionality.
    Jul 25 19:28:53.029 [notice] Read configuration file “/etc/tor/torrc”.
    Jul 25 19:28:53.052 [notice] Opening Socks listener on 127.0.0.1:9050
    Jul 25 19:28:53.052 [notice] Opened Socks listener on 127.0.0.1:9050
    Jul 25 19:28:53.052 [warn] Directory /run/tor cannot be read: Permission denied
    Jul 25 19:28:53.052 [warn] Before Tor can create a control socket in “/run/tor/control”, the directory “/run/tor” needs to exist, and to be accessible only by the user and group account that is running Tor. (On some Unix systems, anybody who can list a socket can connect to it, so Tor is being careful.)
    Jul 25 19:28:53.052 [notice] Closing partially-constructed Socks listener on 127.0.0.1:9050
    Jul 25 19:28:53.052 [warn] Failed to parse/validate config: Failed to bind one of the listener ports.
    Jul 25 19:28:53.052 [err] Reading config failed–see warnings above.
    [john@localhost ~]$

  3. Stephen Westman on

    I installed the repository script included at
    https://tecadmin.net/install-tor-browser-in-centos-rhel-and-fedora/

    When I ran it, I got the following error message from yum:

    “http://deb.torproject.org/torproject.org/rpm/el/6/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 – “The requested URL returned error: 404 Not Found”
    Trying other mirror.
    Error: Cannot retrieve repository metadata (repomd.xml) for repository: Tor. Please verify its path and try again”

    I went to http://deb.torproject.org/torproject.org and found no “xml” subdirectory there. I wasn’t sure what the subdirectory should be out of the many subfolders there on the site.

    Is it possible to get the correct URL for the repo to put into the file?

    Thanks

  4. Hello, please guide me that what I have to do exactly in step one?
    And please create a tutorial for how to install Tor Service (Not Tor browser) in Fedora. thanks.

    NOTE: My English is not good. sorry.

  5. Thanks fot this tutorial Rahul. I followed all 3 steps with success but I dont see the tor browser opening, it just shows success in the terminal where I ran tor. I’m uing a 64 bit machine . i don’t if that’s the reason . here

    • here is the output when i type tor at the terminal:
      [mac5@centos-test ~]$ if eth0
      > ^C
      [mac5@centos-test ~]$ ifconfig
      lo Link encap:Local Loopback
      inet addr:127.0.0.1 Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING MTU:16436 Metric:1
      RX packets:8 errors:0 dropped:0 overruns:0 frame:0
      TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)

      [mac5@centos-test ~]$ ifup eth0
      Users cannot control this device.
      [mac5@centos-test ~]$ sudo ifup eth0
      [sudo] password for mac5:
      mac5 is not in the sudoers file. This incident will be reported.
      [mac5@centos-test ~]$ sudo -i
      [sudo] password for mac5:
      mac5 is not in the sudoers file. This incident will be reported.
      You have new mail in /var/spool/mail/mac5
      [mac5@centos-test ~]$ su
      Password:
      [root@centos-test mac5]# ifup eth0

      Determining IP information for eth0… done.
      [root@centos-test mac5]# ifconfig
      eth0 Link encap:Ethernet HWaddr D0:27:88:06:6A:E4
      inet addr:192.168.0.107 Bcast:192.168.0.255 Mask:255.255.255.0
      inet6 addr: fe80::d227:88ff:fe06:6ae4/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:31 errors:0 dropped:0 overruns:0 frame:0
      TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:3830 (3.7 KiB) TX bytes:6673 (6.5 KiB)

      lo Link encap:Local Loopback
      inet addr:127.0.0.1 Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING MTU:16436 Metric:1
      RX packets:20 errors:0 dropped:0 overruns:0 frame:0
      TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:1800 (1.7 KiB) TX bytes:1800 (1.7 KiB)

      [root@centos-test mac5]# rpm -q vnc-server
      package vnc-server is not installed
      [root@centos-test mac5]# yum install vnc-server
      Loaded plugins: fastestmirror, refresh-packagekit, security
      Loading mirror speeds from cached hostfile
      epel/metalink | 26 kB 00:00
      * base: centos.hyve.com
      * epel: epel.check-update.co.uk
      * extras: centos.hyve.com
      * updates: centos.hyve.com
      Tor | 2.9 kB 00:00
      adobe-linux-x86_64 | 951 B 00:00
      base | 3.7 kB 00:00
      extras | 3.4 kB 00:00
      updates | 3.4 kB 00:00
      Setting up Install Process
      Resolving Dependencies
      –> Running transaction check
      —> Package tigervnc-server-module.x86_64 0:1.1.0-8.el6_5 will be installed
      –> Finished Dependency Resolution

      Dependencies Resolved

      ================================================================================
      Package Arch Version Repository Size
      ================================================================================
      Installing:
      tigervnc-server-module x86_64 1.1.0-8.el6_5 updates 291 k

      Transaction Summary
      ================================================================================
      Install 1 Package(s)

      Total download size: 291 k
      Installed size: 827 k
      Is this ok [y/N]: y
      Downloading Packages:
      tigervnc-server-module-1.1.0-8.el6_5.x86_64.rpm | 291 kB 00:00
      Running rpm_check_debug
      Running Transaction Test
      Transaction Test Succeeded
      Running Transaction
      Installing : tigervnc-server-module-1.1.0-8.el6_5.x86_64 1/1
      Verifying : tigervnc-server-module-1.1.0-8.el6_5.x86_64 1/1

      Installed:
      tigervnc-server-module.x86_64 0:1.1.0-8.el6_5

      Complete!
      [root@centos-test mac5]# rpm -q vnc
      package vnc is not installed
      [root@centos-test mac5]# yum install vnc
      Loaded plugins: fastestmirror, refresh-packagekit, security
      Loading mirror speeds from cached hostfile
      * base: centos.hyve.com
      * epel: epel.check-update.co.uk
      * extras: centos.hyve.com
      * updates: centos.hyve.com
      Setting up Install Process
      Resolving Dependencies
      –> Running transaction check
      —> Package tigervnc.x86_64 0:1.1.0-8.el6_5 will be installed
      –> Finished Dependency Resolution

      Dependencies Resolved

      ================================================================================
      Package Arch Version Repository Size
      ================================================================================
      Installing:
      tigervnc x86_64 1.1.0-8.el6_5 updates 258 k

      Transaction Summary
      ================================================================================
      Install 1 Package(s)

      Total download size: 258 k
      Installed size: 644 k
      Is this ok [y/N]: y
      Downloading Packages:
      tigervnc-1.1.0-8.el6_5.x86_64.rpm | 258 kB 00:00
      Running rpm_check_debug
      Running Transaction Test
      Transaction Test Succeeded
      Running Transaction
      Installing : tigervnc-1.1.0-8.el6_5.x86_64 1/1
      Verifying : tigervnc-1.1.0-8.el6_5.x86_64 1/1

      Installed:
      tigervnc.x86_64 0:1.1.0-8.el6_5

      Complete!
      [root@centos-test mac5]# yum groupinstall Desktop
      Loaded plugins: fastestmirror, refresh-packagekit, security
      Loading mirror speeds from cached hostfile
      * base: centos.hyve.com
      * epel: mirror.vorboss.net
      * extras: centos.hyve.com
      * updates: centos.hyve.com
      Setting up Group Process
      Checking for new repos for mirrors
      epel/group_gz | 237 kB 00:00
      Package nautilus-2.28.4-19.el6.x86_64 already installed and latest version
      Package 1:control-center-2.28.1-39.el6.x86_64 already installed and latest version
      Package gvfs-smb-1.4.3-16.el6_5.x86_64 already installed and latest version
      Package xdg-user-dirs-gtk-0.8-7.el6.x86_64 already installed and latest version
      Package gnome-power-manager-2.28.3-7.el6_4.x86_64 already installed and latest version
      Package alsa-plugins-pulseaudio-1.0.21-3.el6.x86_64 already installed and latest version
      Package at-spi-1.28.1-2.el6.centos.x86_64 already installed and latest version
      Package 1:gdm-2.30.4-52.el6.x86_64 already installed and latest version
      Package notification-daemon-0.5.0-1.el6.x86_64 already installed and latest version
      Package 1:NetworkManager-0.8.1-66.el6.x86_64 already installed and latest version
      Package 1:NetworkManager-gnome-0.8.1-66.el6.x86_64 already installed and latest version
      Package polkit-gnome-0.96-3.el6.x86_64 already installed and latest version
      Package gnome-session-2.28.0-18.el6.x86_64 already installed and latest version
      Package gnome-terminal-2.31.3-8.el6.x86_64 already installed and latest version
      Package gnome-panel-2.30.2-15.el6.x86_64 already installed and latest version
      Package gvfs-fuse-1.4.3-16.el6_5.x86_64 already installed and latest version
      Package metacity-2.28.0-23.el6.x86_64 already installed and latest version
      Package gnome-screensaver-2.28.3-28.el6.x86_64 already installed and latest version
      Package yelp-2.28.1-17.el6_3.x86_64 already installed and latest version
      Package 1:dbus-1.2.24-7.el6_3.x86_64 already installed and latest version
      Package gvfs-archive-1.4.3-16.el6_5.x86_64 already installed and latest version
      Package 1:gdm-user-switch-applet-2.30.4-52.el6.x86_64 already installed and latest version
      Package 1:control-center-extra-2.28.1-39.el6.x86_64 already installed and latest version
      Package eog-2.28.2-4.el6.x86_64 already installed and latest version
      Package gnome-packagekit-2.28.3-7.el6.x86_64 already installed and latest version
      Package gok-2.28.1-5.el6.x86_64 already installed and latest version
      Package gnome-media-2.29.91-6.el6.x86_64 already installed and latest version
      Package gnome-vfs2-smb-2.24.2-6.el6.x86_64 already installed and latest version
      Package openssh-askpass-5.3p1-94.el6.x86_64 already installed and latest version
      Package pulseaudio-module-x11-0.9.21-14.el6_3.x86_64 already installed and latest version
      Package pulseaudio-module-gconf-0.9.21-14.el6_3.x86_64 already installed and latest version
      Package 1:gnome-applets-2.28.0-7.el6.centos.x86_64 already installed and latest version
      Package orca-2.28.2-1.el6.x86_64 already installed and latest version
      Package vino-2.28.1-9.el6_4.x86_64 already installed and latest version
      Package 1:gdm-plugin-fingerprint-2.30.4-52.el6.x86_64 already installed and latest version
      Warning: Group basic-desktop does not have any packages.
      No packages in any requested group available to install or update
      [root@centos-test mac5]# useradd Larry
      [root@centos-test mac5]# useradd moe
      [root@centos-test mac5]# useradd curly
      [root@centos-test mac5]# passwd larry
      passwd: Unknown user name ‘larry’.
      [root@centos-test mac5]# useradd larry
      [root@centos-test mac5]# passwd larry
      Changing password for user larry.
      New password:
      BAD PASSWORD: it is too short
      BAD PASSWORD: is too simple
      Retype new password:
      Sorry, passwords do not match.
      New password:
      Retype new password:
      passwd: all authentication tokens updated successfully.
      [root@centos-test mac5]# passwd moe
      Changing password for user moe.
      New password:
      Retype new password:
      passwd: all authentication tokens updated successfully.
      [root@centos-test mac5]# passwd curly
      Changing password for user curly.
      New password:
      Retype new password:
      passwd: all authentication tokens updated successfully.
      [root@centos-test mac5]# nano /etc/sysconfig/vncservers,
      [root@centos-test mac5]# nano /etc/sysconfig/vncservers
      [root@centos-test mac5]# ls /etc/sysconfig/
      atd init network rsyslog
      auditd ip6tables networking samba
      authconfig ip6tables-config network-scripts sandbox
      autofs ip6tables.old nfs saslauthd
      cbq iptables nspluginwrapper selinux
      cgconfig iptables-config ntpd smartmontools
      cgred.conf iptables.old ntpdate sshd
      clock irqbalance openct sysstat
      console kdump prelink sysstat.ioconf
      cpuspeed kernel quota_nld system-config-firewall
      crond keyboard raid-check system-config-firewall.old
      firstboot mcelogd readahead system-config-users
      grub modules readonly-root udev
      i18n netconsole rngd wpa_supplicant
      [root@centos-test mac5]# nano /etc/sysconfig/vncservers
      [root@centos-test mac5]# su larry
      [larry@centos-test mac5]$ vnc passwd
      bash: vnc: command not found
      [larry@centos-test mac5]$ vncpasswd
      bash: vncpasswd: command not found
      [larry@centos-test mac5]$ logout
      bash: logout: not login shell: use `exit’
      [larry@centos-test mac5]$ exit
      exit
      [root@centos-test mac5]#
      [root@centos-test mac5]# su – larry
      [larry@centos-test ~]$ vncpasswd
      -bash: vncpasswd: command not found
      [larry@centos-test ~]$ tor
      Jul 15 16:39:24.732 [notice] Tor v0.2.4.22 (git-2ee56e4c2c841a45) running on Linux with Libevent 1.4.13-stable and OpenSSL 1.0.1e-fips.
      Jul 15 16:39:24.734 [notice] Tor can’t help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
      Jul 15 16:39:24.752 [notice] Read configuration file “/etc/tor/torrc”.
      Jul 15 16:39:24.756 [notice] Opening Socks listener on 127.0.0.1:9050
      Jul 15 16:39:24.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
      Jul 15 16:39:24.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
      Jul 15 16:39:24.000 [notice] We were built to run on a 64-bit CPU, with OpenSSL 1.0.1 or later, but with a version of OpenSSL that apparently lacks accelerated support for the NIST P-224 and P-256 groups. Building openssl with such support (using the enable-ec_nistp_64_gcc_128 option when configuring it) would make ECDH much faster.
      Jul 15 16:39:25.000 [notice] Bootstrapped 5%: Connecting to directory server.
      Jul 15 16:39:25.000 [notice] Bootstrapped 10%: Finishing handshake with directory server.
      Jul 15 16:39:26.000 [notice] Bootstrapped 15%: Establishing an encrypted directory connection.
      Jul 15 16:39:26.000 [notice] Bootstrapped 20%: Asking for networkstatus consensus.
      Jul 15 16:39:26.000 [notice] Bootstrapped 25%: Loading networkstatus consensus.
      Jul 15 16:39:27.000 [notice] I learned some more directory information, but not enough to build a circuit: We have no usable consensus.
      Jul 15 16:39:27.000 [notice] Bootstrapped 40%: Loading authority key certs.
      Jul 15 16:39:27.000 [notice] Bootstrapped 45%: Asking for relay descriptors.
      Jul 15 16:39:27.000 [notice] I learned some more directory information, but not enough to build a circuit: We need more microdescriptors: we have 0/5925, and can only build 0% of likely paths. (We have 0% of guards bw, 0% of midpoint bw, and 0% of exit bw.)
      Jul 15 16:39:27.000 [notice] Bootstrapped 50%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 51%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 53%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 55%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 57%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 58%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 60%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 62%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 64%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 66%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 67%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 69%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 70%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 72%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 73%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 75%: Loading relay descriptors.
      Jul 15 16:39:28.000 [notice] Bootstrapped 77%: Loading relay descriptors.
      Jul 15 16:39:30.000 [notice] We now have enough directory information to build circuits.
      Jul 15 16:39:30.000 [notice] Bootstrapped 80%: Connecting to the Tor network.
      Jul 15 16:39:30.000 [notice] Bootstrapped 90%: Establishing a Tor circuit.
      Jul 15 16:39:31.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
      Jul 15 16:39:31.000 [notice] Bootstrapped 100%: Done.

Leave A Reply