How to Install uTorrent in Ubuntu 18.04 and Ubuntu 19.04
This tutorial will be showing you how to install uTorrent in Ubuntu 18.04 and Ubuntu 19.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 18.04 and Ubuntu 19.04
The latest version of uTorrent for Linux was released for Ubuntu 13.04, but we can still run it in Ubuntu 18.04 LTS and Ubuntu 19.04. 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.ap.bittorrent.com/track/beta/endpoint/utserver/os/linux-x64-ubuntu-13-04 -O utserver.tar.gz
32 bits
wget http://download.ap.bittorrent.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 command.
sudo apt install libssl1.0.0 libssl-dev
Note that if you are using Ubuntu 19.04, you need to download the libssl1.0.0
deb package from Ubuntu 18.04 repository and install it, because libssl1.0.0
isn’t included in Ubuntu 19.04 software repository.
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 utorrent sudo addgroup --system utorrent
Add the utorrent
user to the utorrent
group.
sudo adduser utorrent 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 18.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 18.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 18.04 LTS and Ubuntu 19.04. 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 🙂
In ubuntu 19.04 libssl1.0.0 installation error:
sudo aptitude install libssl1.0.0
No candidate version found for libssl1.0.0
Unable to apply some actions, aborting
when i start the utserver get the error:
utserver -settingspath /home/user/apps/utorrent-server-alpha-v3_3/ -daemon
utserver: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
same here, must be recent?
me too. anyone know of a fix?
If you are using Ubuntu 19.04, you need to download the
libssl1.0.0
deb package from Ubuntu 18.04 repository and install it, becauselibssl1.0.0
isn’t included in Ubuntu 19.04 software repository.Succsessfully installed on a Ubuntu Server 18.04 LTS. While installing the libssl1.0.0, it told me, there already was a newer version installed (1.0.2n-1ubuntu5.3) and in the end everything worked. Thank you!
I have installed uTorrent 64 bit on Ubuntu 18.04. Following the start up instructions I copied and saved the suggested content of the /etc/systemd/system/utserver.service file:
However, when I attempt to start, it will not and the following invalid argument I get:
Sep 07 16:31:49 desktop systemd[1]: /etc/systemd/system/utserver.service:10: Missing ‘=’.
I do not know what to do at this stage.
I am not an Ubuntu or either a uTorrent expert, this is the first time I do this.
Any suggestions would be appreciated.
Can you run the following command, copy the output and paste it here?
After running your command, I get the following output:
[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
The
/opt/utorrent-server-alpha-v3_3/
should be in theExecStart
line.The ExecStart line is the following now:
Can you please tell me, how should I modify it?
Thanks
Your file is now correct. Run the following command to reload Systemd.
Then start uTorrent server.
Enable auto start at boot time.
Thanks a lot ! 🙂
how to speed up the download.
Hi ! I successfully installed a ut server following your instructions about 10 days ago (TY!) But when I tried using it again yesterday, I couldn’t .
I’m using firefox, and it says : Can’t connect to server at adress localhost:8080
I feel I’m missing something obvious.
I reread the tutorial in case you told how to avoid that, but I didn’t find anything there.
Could you please help me out ?
Thanks
It’s mostly likely because utorrent isn’t running on your system. Use the systemd service to start uTorrent server.
Enable auto start at boot time.
hi, after running localhost:8080/gui i get this:
please help!
The “bash” in the beginning makes me think you are a comment spammer.
im really not , just a linux beginner x), can u help ?
You should type
localhost:8080/gui
in the web browser address bar, not in the terminal window.omg im so dumb, thnks a lot sorry for the trouble
after i type localhost:8080/gui in the web browser,web browser have problem to load page.
Forgive my stupidity but is there a way to have uT open magnet links when I click on them automatically?
I allowed ports still ufw is blocking and my torrent stopped everytime. 🙁
noddy kernel: [ 6714.159283] [UFW BLOCK] IN=enp3s0 OUT= MAC= SRC= DST=192.168.0.106 LEN=132 TOS=0x00 PREC=0x00 TTL=115 ID=38311 PROTO=UDP SPT=47723 DPT=6881 LEN=112
Hi,
Big thanks for the manual. I’m also a beginner at linux and can’t get it to work yet. I’ve downloadend and stilled libssl1.0.0_1.0.2n-1ubuntu5.3_arm64.deb. But when i wanna start this command i get an error:
marnix@server:~$ utserver -settingspath /opt/utorrent-server-alpha-v3_3/ -daemon
Command ‘utserver’ not found, did you mean:
command ‘ttserver’ from deb tokyotyrant (1.1.40-4.2build1)
command ‘uaserver’ from deb python-opcua-tools (0.98.6-3)
Try: sudo apt install
Any idea what i’m doing wrong?
oops… I replied to myself instead of you, like a dummy. Let’s try this again:
You should not need the -daemon switch. Are you running this on a raspberry pi or similar tiny PC? You seem to have the wrong version of libssl installed, unless the system actually does have an ARM processor. It seems that what you want is amd64. If you actually are using an ARM cpu, then I am just blowing smoke and I wish you well.
There is a well-documented bug of settings not persisting between service restarts (or system reboots) in the latest version, 3.3. This was remedied in 3.3.1, but that was a full desktop release, not server. Anyone have any hints on how to get around this issue?
Hey ,
I successfully installed utorrent server on my linux machine as a service and can access the web ui. However, everytime I try to download a torrent, it starts downloading at 5/10Mbps then after 4-5 seconds it immediately stops (no error reported). Anybody know how i can solve this?
Thanks in advance
Same problem here.
I noticed that if you flag “Pre-allocate all files”, it doesn’t start at all.
This let me think to a permission problem (w/o the flag, as long as it is in memory it goes, then it stops, w/ the flag, it doesn’t even start).
I checked the persmission and everything is assigned to utorrent:utorrent.
Any clue?
Update: I set everything back to “root” as the owner of the directory as the user that runs the server and now everything works.
So to me there’s some missing step to grant permission to the user “utorrent”.
P.S.: I’m running Ubuntu 19.10
P.S.2: I’m using an external USB HDD NTFS to store the data (where owner is root, but chmod is 777)
Newb question. Got it up and running fine with my login. Then I set up the utorrent/utorrent accounts. Now I can’t login to utorrent, either with my own account, nor with the utorrent account. It’s asking for a password that I don’t have. Any help would be greatly appreciated.
Sry, just noticed that it reverted back to admin. I’ll fix that in the gui. Thanks for a great tutorial. Learn enough to get myself in trouble.
thank you broo! <3
I have noticed that when you reboot it wipes out all of your settings/preferences. Is this normal behavior for everyone else? Is there a way to fix it? I would like the settings to persist, if not, then the auto restart via systemctl on reboot is probably not a good idea. After any random reboot your utorrent server will be open to the public until you can log back in and secure it with a password again.
It seems you need to supply a config file to utserver to store the settings. In the systemd service file, change
To
Save and close the file. Then download a template config file.
Delete the settings.dat file, or the utserver.conf file won’t be loaded.
Reload systemd.
You need to edit the utserver.conf file to save your settings. Changes made in the Web UI won’t be saved. After that, restart utserver.
Hi, if i start the download, 2 sec later the download stopped, could it be a permission problem?
Hey, I had not changed the default directory. Where is the downloaded data has been saved?
Thx for very good instructions!
Well, everything work fine on my machine. I am sure that everybody here will setup their uTorrent server one day like me, but what after that?
Question of the questions is: How put torrent in uTorrent if it is magnet link?
How to associate .torrent to always open in a program as is the case with the desktop version of the uTorrent client?
I haven’t found a way to do that.
good, thanks
After following the instructions for securing via https and creating a sub domain. Everything works so far except i cant download via web ui. after clicking the link to download via web ui i get a 404 error from nginx,
Hi, i have installed utorrent but when i when it is giving me 404 Not Found,
Not properly explained
Howdy! Someone in my Myspace group shared this site with us so
I came to check it out. I’m definitely loving the information. I’m book-marking and will be
tweeting this to my followers! Superb blog and wonderful design.
I install utorrent server on ubuntu server. Process is active. I can login after going to localhost:8080/gui, but I cant add any torrents. I copy/pasted link and nothing happens. I tried reinstalling again and Im having this same problem. Can somebody help? I have no idea what I did wrong.