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.
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.
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.
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.
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
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.
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 🙂
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?
im able to go to the localhost domain and see the utorrent gui but i cant download anything yet, i figured that might be useful info too lol
The uTorrent client for Linux hasn’t been updated for 7 years. I recommend installing the Deluge BitTorrent client on Ubuntu
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
The uTorrent client for Linux hasn’t been updated for 7 years. I recommend installing the Deluge BitTorrent client on Ubuntu.
this command “utserver -settingspath /opt/utorrent-server-alpha-v3_3/ -daemon”, didn’t work for me
The uTorrent client for Linux hasn’t been updated for 7 years. I recommend installing the Deluge BitTorrent client on Ubuntu.
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
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