qBittorrent is an open-source project that was created as an alternative to µTorrent and most other torrent clients. It’s available on any operating system, so you may have already used it on your computer. In this tutorial, I’ll show you how to install and configure it on Linux.
qBittorrent can be installed with the package manager on most Linux distributions. It’s also available in the app store (Ubuntu Software, for example), or can be installed manually when the other options don’t work.
According to my tests, qBittorrent is probably the most advanced solution to manage torrent downloads. I will compile in this article all the important information I noted from my tests, so you can easily test it on your own.
How to install qBittorent on Linux?
As explained in the introduction, qBittorrent is available in the default repositories, and you can often find it in the app store. This makes the installation pretty straightforward. I will show you both methods anyway (with a desktop environment or command lines).
If you have a desktop environment, and especially if you use a modern distribution like Ubuntu, you should probably check the app store first.
qBittorrent is so popular that you’ll always find it there, even for distributions where the number of applications available is pretty low.
On Ubuntu, you can open the “Ubuntu Software” app, and search for “qbittorrent” in it. You’ll find a page like this:
Click on “Install”, type your password if asked, and wait a few seconds for the installation.
Once installed, you’ll find the shortcut to start qBittorrent in the main menu. Here is, once again, the example with Ubuntu:
From there, using the application is not complicated. qBittorrent has a simple and intuitive interface. There are icons in the top bar with the most important features, so you don’t even need to use the menus.
Find a link to a torrent (or direct download the .torrent file), and use the qBittorrent interface to add it to your download list (by using one of the first two buttons).
qBittorent supports HTTP links, magnet links and info-hashes. Paste the link in the form, and click “Download” to start downloading your file. You can then monitor it from the main interface.
Command line installation
If you run a minimal version of Linux (or the desktop installation doesn’t work), you can install BitTorrent manually, with the package manager.
Two packages are available on Debian/Ubuntu, one with GUI support (“qbittorrent“) and the other one without (“qbittorrent-nox“). So, we’ll install the second one if you don’t have a desktop environment.
Like with any other application, you can use the APT command:
sudo apt update
sudo apt install qbittorrent-nox
Once installed, you need to specify either the torrent file location or the direct link after the command.
Here is the basic syntax:
By default, this will start the download in the current folder, but there are many options that you can use in order to do exactly what you want. Use “–help” to see all the options.
Please note that qbittorrent-nox will spawn a web server, with an interface to manage your downloads. This is really convenient when you don’t have a GUI but can use a web browser from another computer on the network to monitor your Torrent downloads.
The default login for the web interface with qbittorent-nox is “admin”, and the password is “adminadmin”.
The URL is mentioned when you run the command. By default, it uses port 8080, in HTTP, and it’s open to the other devices on the same network, so you can type the Linux server IP address instead of “localhost”:
The web interface and the GUI are very similar, so you shouldn’t need more explanation for using it. You can monitor your downloads, but also add new ones from there easily.
Are you a bit lost in the Linux command line? Check this article first for the most important commands to remember and a free downloadable cheat sheet so you can have the commands at your fingertips.
You are now set up with the basic app, but the power of qBittorrent is hidden in its settings. So, I recommend checking your settings to see if there is something useful for you.
On Desktop, you can open the configuration interface from the “Tools” submenu, and click on “Preferences”. With the command line, you can either select as many parameters as needed or create a configuration file with your preferences.
Enable the web interface
The web interface is one of the best features of qBittorrent, especially when installed on a NAS or home server that you can keep running without any monitor or keyboard.
On desktop, the web interface is not enabled by default, so to start it, go to the Preferences and Web UI. Then check the first box and define a login and password, it looks like this:
Depending on how you use your torrent box, you can choose to disable the authentication for clients on the same network or for specific IP addresses (your phone or your computer, for example). If you have other services using port 8080 (like Domoticz), don’t forget to change it in this window too.
Once done, you can open your web browser on your computer, and have direct access to the web interface by typing:
The interface is almost the same as the desktop:
If you have a minimal distribution running on your Pi, you can still enable the web interface and then only use this to easily get access to all the other options without having to use the command line at all. Simply execute this command without any parameters:
qbittorrent-noxYou’ll need to accept the disclaimer, and you’ll then get the Web UI address.
qBittorrent includes all the basic configuration options you’ll find in any downloaded app, like the download path, speed limits, etc. But I also loved that they included advanced options. Here are a few examples:
- Notifications: you can configure a mail server to send email notifications when a download is completed.
- Run a script on completion: the same thing, when a download is completed, you can run your own script (or any program). If you have read my book about Python, you can, for example, create a push notification in Python, that you’ll get on your phone at the end of each download.
- No-IP updater: If, like me, you use a dynamic domain name like No-IP or DynDNS, you can configure your account into qBittorrent, it will automatically update your IP address when it changes.
Even if these options are not mandatory, it’s the main reason why I chose this app as my favorite. It goes further than any other alternatives, and so it should be a good fit for almost everyone.
There is also a search engine included in qBittorrent (use the “Search” tab and install one of the plugins to use it). The official plugins are not excellent, but I’m pretty sure you’ll find one that fits your needs.
Start qBittorrent on boot
One thing missing in the settings is a way to automatically start qBittorrent on boot. And this is an issue, as the web interface doesn’t work when the app is not open. I tried a few things, and the easiest way to avoid this issue is to create a crontab to start the app on boot.
I know that the best practice (and the wiki) is to create a service for qBittorrent, but I find this a bit too complicated for an app like that. So, here is how to do the same thing faster:
- First, you need the qBittorent-nox package, even if you have a desktop environment:
sudo apt install qbittorent-nox
- Then, edit the crontab file:
- Finally, add this line at the end of the file, to automatically start qBittorent on boot:
- Save and exit (CTRL+O, CTRL+X).
After the next reboot, you should get access to the web interface directly. It would have been nice to have this option directly in the GUI settings, but it’s not a big deal.
If the crontab is not your friend, you can find other ways to start something on boot in this tutorial. Pick the one you prefer, or create a service if you want to follow the best practices.
Want to chat with other Raspberry Pi enthusiasts? Join the community, share your current projects and ask for help directly in the forums.
Overwhelmed with Linux commands?
My e-book, “Master Linux Commands”, is your essential guide to mastering the terminal. Get practical tips, real-world examples, and a bonus cheat sheet to keep by your side.
Grab your copy now.
If you just want to hang out with me and other Linux fans, you can also join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.
More details here.
Need help building something with Python?
Python is a great language to get started with programming on any Linux computer.
Learn the essentials, step-by-step, without losing time understanding useless concepts.
Get the e-book now.