How to Install uTorrent in Ubuntu 20.04

This tutorial will be showing you how to install uTorrent in Ubuntu 20.04. It also includes instructions for auto start uTorrent server on Ubuntu and how to set up a reverse proxy using Nginx/Apache web server, for those who want to access uTorrent via a domain name.

Note: The uTorrent client for Linux hasn’t been updated for 7 years. I recommend installing the Deluge BitTorrent client on Ubuntu.

The Linux native uTorrent client is a web-based application, which means you are going to use uTorrent in a web browser. This application is officially called uTorrent server, which features:

  • Distributed hash table (DHT)
  • UPnP port mapping
  • NAT-PMP port mapping
  • Upload rate limiting
  • Download rate limiting
  • Queuing
  • Configurable limit on number of simultaneously uploading peers
  • Incremental file allocation
  • Block level piece picking
  • Separate threads for file-check and download
  • Single thread and single port for multiple torrent downloads
  • BitTorrent extension protocol
  • Multi-tracker extension support
  • Fair trade extension
  • Compact tracker extension
  • Fast resume
  • Queuing of torrent file-check if fast resume not possible
  • HTTP seed support
  • Resumption of partial downloads from other BitTorrent clients
  • File-sizes greater than 2GB
  • Selective download of multi-file torrents
  • IPv6
  • High performance network stack
  • uTP – Advanced UDP-based transport with dynamic congestion control

How to Install uTorrent in Ubuntu 20.04

The latest version of uTorrent for Linux was released for Ubuntu 13.04, but we can still run it in Ubuntu 20.04 LTS. Go to uTorrent Linux download page to download the uTorrent server package for Ubuntu 13.04.

utorrent-ubuntu-20.04-client

Alternatively, you can open up a terminal window and run the following command to download it from the command line.

64 bits

wget http://download-hr.utorrent.com/track/beta/endpoint/utserver/os/linux-x64-ubuntu-13-04 -O utserver.tar.gz

32 bits

wget http://download-hr.utorrent.com/track/beta/endpoint/utserver/os/linux-i386-ubuntu-13-04 -O utserver.tar.gz

Once downloaded, change working directory to the directory where uTorrent server file is downloaded. Then run the following command to extract the tar.gz file to /opt/ directory.

sudo tar xvf utserver.tar.gz -C /opt/

Next, install required dependencies by executing the following commands.

sudo apt install libssl-dev
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb

sudo apt install ./libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb

After the dependencies are installed, create a symbolic link.

sudo ln -s /opt/utorrent-server-alpha-v3_3/utserver /usr/bin/utserver

Use the following command to start uTorrent server. By default, uTorrent server listens on 0.0.0.0:8080. If there’s another service also listens on port 8080, you should temporarily stop that service. uTorrent will also use port 10000 and 6881. The -daemon option will make uTorrent server run in the background.

utserver -settingspath /opt/utorrent-server-alpha-v3_3/ -daemon

You can now visit the uTorrent web UI in your browser by typing in the following text in the web browser address bar.

your-server-ip:8080/gui

If you are installing uTorrent on your local computer, then replace your-server-ip with localhost.

localhost:8080/gui

If there’s a firewall on your Ubuntu server, then you need to allow access to port 8080 and 6881. For example, if you are using UFW, then run the following two commands to open port 8080 and 6881.

sudo ufw allow 8080/tcp
sudo ufw allow 6881/tcp

Please note that /gui is needed in the URL, otherwise you will encounter invalid request error. When asked for username and password, enter admin in username field and leave password filed empty.

uTorrent-ubuntu-20.04

Once you are logged in, you should change the admin password by clicking the gear icon, then selecting Web UI on the left menu. You can change both the username and password, which is more secure than using admin as the username.

utorrent-server-ubuntu-20.04

If you have other service listening on port 8080, then in the Connectivity section, you can change the uTorrent listening port to other port like 8081. After changing the port, you must restart uTorrent server with the following commands.

sudo pkill utserver

utserver -settingspath /opt/utorrent-server-alpha-v3_3/ &

You can set default download directory in the Directories tab.

utorrent-server-ubuntu-20.04-default-download-directory

Auto Start uTorrent Server on Ubuntu

To enable auto start, we can create a systemd service with the following command. (Nano is a command line text editor.)

sudo nano /etc/systemd/system/utserver.service

Put the following text into the file. Note that since we are going to use systemd to start uTorrent, we don’t need the -daemon option in the start command.

[Unit]
Description=uTorrent Server
After=network.target

[Service]
Type=simple
User=utorrent
Group=utorrent
ExecStart=/usr/bin/utserver -settingspath /opt/utorrent-server-alpha-v3_3/
ExecStop=/usr/bin/pkill utserver
Restart=always
SyslogIdentifier=uTorrent Server

[Install]
WantedBy=multi-user.target

Press Ctrl+O, then press Enter to save the file. Press Ctrl+X to exit. Then reload systemd.

sudo systemctl daemon-reload

It’s not recommended to run uTorrent server as root, so we’ve specified in the service file that uTorrent server should run as the utorrent user and group, which have no root privileges. Create the utorrent system user and group with the following command.

sudo adduser --system --group utorrent

Next, Stop the current uTorrent server.

sudo pkill utserver

Use the systemd service to start uTorrent server.

sudo systemctl start utserver

Enable auto start at boot time.

sudo systemctl enable utserver

Now check utserver status.

systemctl status utserver

auto-start-utorrent-server-ubuntu-20.04

We can see that auto start is enabled and uTorrent server is running. When creating the utorrent user, a home directory was also created at /home/utorrent/. It’s recommended that you set this home directory as your torrent download directory because the utorrent user has write permission. We also need to make utorrent as the owner of the /opt/utorrent-server-alpha-v3_3/ directory by executing the following command.

sudo chown utorrent:utorrent /opt/utorrent-server-alpha-v3_3/ -R

You may want to use a VPN to hide your IP address when downloading torrents.

Note: The remaining content is for people who has basic knowledge about web server and DNS records. If you don’t know what Apache/Nginx or DNS A record is, you don’t have to follow the instructions below.

Setting up Nginx Reverse Proxy

To access your uTorrent server from a remote connection using a domain name, you can set up Nginx reverse proxy.

Sub-directory Configuration

If your Ubuntu server already have a website served by Nginx, then you can configure the existing Nginx server block so that you can access uTorrent Web UI from a sub-directory of your domain name.

sudo nano /etc/nginx/conf.d/your-website.conf

In the server block, paste the following directives. If you changed the port before, then you need to change it here too.

location /gui {
              proxy_pass http://localhost:8080;
              proxy_set_header Host $http_host;
              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;
        }

Save and close the file. Then test Nginx configuration.

sudo nginx -t

If the test is successful, reload Nginx.

sudo systemctl reload nginx

Now you can access uTorrent Web UI via

your-domain.com/gui

Sub-domain Configuration

If you don’t have an existing website on the Ubuntu server, then you have to create a new server block file. Install Nginx on Ubuntu 20.04 or Ubuntu 19.04.

sudo apt install nginx

Start Nginx web server.

sudo systemctl start nginx

Then create a new server block file in /etc/nginx/conf.d/ directory.

sudo nano /etc/nginx/conf.d/utserver-proxy.conf

Paste the following text into the file. Replace utorrent.your-domain.com with your preferred sub-domain and don’t forget to create A record for it.

server {
       listen 80;
       server_name utorrent.your-domain.com;
       error_log /var/log/nginx/uttorrent.error;

       location /gui {
              proxy_pass http://localhost:8080;
              proxy_set_header Host $http_host;
              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;
        }
}

Save and close the file. Then test Nginx configuration.

sudo nginx -t

If the test is successful, reload Nginx.

sudo systemctl reload nginx

Now you can access uTorrent Web UI via

utorrent.your-domain.com/gui

Setting up Apache Reverse Proxy

If you use Apache web server rather than Nginx, then follow the instructions below to set up reverse proxy.

Install Apache web server.

sudo apt install apache2

To use Apache as a reverse proxy, we need to enable the proxy modules and we will also enable the rewrite module.

sudo a2enmod proxy proxy_http rewrite

Then create a virtual host file for uTorrent.

sudo nano /etc/apache2/sites-available/utorrent.conf

Put the following configurations into the file. Replace utorrent.your-domain.com with your actual domain name and don’t forget to set an A record for it.

<VirtualHost *:80>
    ServerName utorrent.your-domain.com

    RewriteEngine on
    RewriteRule ^/gui(/?)(.*)$ /$2 [PT]

    ProxyPreserveHost on
    ProxyPass / http://127.0.0.1:8080/gui/
    ProxyPassReverse / http://127.0.0.1:8080/gui/
</VirtualHost>

Save and close the file. Then enable this virtual host.

sudo a2ensite utorrent.conf

Restart Apache for the changes to take effect.

sudo systemctl restart apache2

Now you can remotely access uTorrent server by entering the subdomain (utorrent.your-domain.com ) in browser address bar. If uTorrent Web UI doesn’t load, then you may need to delete the default virtual host file and restart Apache web server.

Enabling HTTPS

To encrypt the HTTP traffic, we can enable HTTPS by installing a free TLS certificate issued from Let’s Encrypt. Run the following command to install Let’s Encrypt client (certbot) on Ubuntu 20.04 or Ubuntu 19.04 server.

sudo apt install certbot

If you use Nginx, then you also need to install the Certbot Nginx plugin.

sudo apt install python3-certbot-nginx

Next, run the following command to obtain and install TLS certificate.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d utorrent.your-domain.com

If you use Apache, install the Certbot Apache plugin.

sudo apt install python3-certbot-apache

And run this command to obtain and install TLS certificate.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d utorrent.your-domain.com

Where

  • --nginx: Use the nginx plugin.
  • --apache: Use the Apache plugin.
  • --agree-tos: Agree to terms of service.
  • --redirect: Force HTTPS by 301 redirect.
  • --hsts: Add the Strict-Transport-Security header to every HTTP response. Forcing browser to always use TLS for the domain. Defends against SSL/TLS Stripping.
  • --staple-ocsp: Enables OCSP Stapling. A valid OCSP response is stapled to the certificate that the server offers during TLS.

The certificate should now be obtained and automatically installed.

utorrent server linux

Now you should be able to access uTorrent server via https://utorrent.your-domain.com/gui.

How to Uninstall uTorrent on Ubuntu

To remove uTorrent, first stop the current uTorrent process.

sudo pkill utserver

Then remove the installation directory.

sudo rm -r /opt/utorrent-server-alpha-v3_3/

And remove the symbolic link.

sudo rm /usr/bin/utserver

Wrapping Up

I hope this tutorial helped you install uTorrent on Ubuntu 20.04 LTS . You may also want to check out tutorials on how to install Deluge or qBitTorrent on Ubuntu. As always, if you found this post useful, then subscribe to our free newsletter to get more tips and tricks. Take care 🙂

Rate this tutorial
[Total: 2 Average: 4.5]

14 Responses to “How to Install uTorrent in Ubuntu 20.04

  • Suraj Meena
    4 years ago

    Very elaborate and simple guide and best part is it is for latest LTS version of ubuntu. I also liked the part where you wrote ways to handle used ports and how can we allow certain ports protected by firewall.

  • really helpfullll… amazing

  • when i try to create the symbolic link it says failed file exists. ive tried switching the order of the files im not exactly sure what to do. any ideads?

  • link doesnt work : `http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb`

    404 not found

  • manuel sam figarado
    4 years ago

    this command “utserver -settingspath /opt/utorrent-server-alpha-v3_3/ -daemon”, didn’t work for me

  • manuel sam figarado
    4 years ago

    Xiao Guoan. Thank you dear. I installed the same and is running fine.

  • Use newer version i found it manualny (5_5 instead 5_3):
    wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.5_amd64.deb

  • Newer version wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.7_amd64.deb

  • c3rel4k
    2 years ago

    From Ubuntu 19 on wards libssl 1.1.1 is the default package available in the repositories. That is why it was working fine in Ubunutu 18 and having issues with Ubuntu 19 onwards. This tutorial is useless unless you can tell people how to install libssl 1.0.0 on ubuntu 19+.

    Here’s someone actually looking to help people
    https://superuser.com/questions/1431015/how-to-make-utserver-run-in-ubuntu-19

Leave a Comment

  • Comments with links are moderated by admin before published.
  • Your email address will not be published.
  • Use <pre> ... </pre> HTML tag to quote the output from your terminal/console.
  • Please use the community (https://community.linuxbabe.com) for questions unrelated to this article.
  • I don't have time to answer every question. Making a donation would incentivize me to spend more time answering questions.

The maximum upload file size: 2 MB. You can upload: image. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here