Best Torrent Client for Linux and Home Servers in 2026

Linux is the best-served platform for torrenting. Every major open-source client runs on it, most are in your distribution's own repositories, and three of them have a headless version made for servers. So the choice comes down to two questions:
- Which desktop do you use? GTK apps fit best on GNOME, Cinnamon and Xfce. Qt apps fit best on KDE Plasma and LXQt. Either kind runs anywhere; this is about looks and integration.
- Does the machine have a screen? A home server, NAS or Raspberry Pi needs a daemon you control from a browser, and that changes what you install.
For the cross-platform comparison, including Windows and Mac clients, see the best torrent clients overall.
Quick picks
- GNOME, Cinnamon, Xfce: Transmission (GTK), or Fragments if you want a minimal GNOME app.
- KDE Plasma: qBittorrent, or KTorrent if you want an app from KDE itself.
- Most features on any desktop: qBittorrent, with search plugins, RSS rules, categories and sequential download.
- Headless server, full features: qbittorrent-nox, which gives you qBittorrent's web UI including RSS and search.
- Headless server, lightest option: transmission-daemon, controlled from a browser, the command line, or a desktop app.
- Headless with plugins and thin clients: Deluge (
delugedplusdeluge-web). - Watching video on the desktop: TorrentPlayer, a streaming player, not a download manager.
Desktop clients compared
| Client | Toolkit | Fits best on | Debian and Ubuntu | Fedora |
|---|---|---|---|---|
| Transmission | GTK | GNOME, Cinnamon, Xfce | transmission-gtk | transmission-gtk |
| Transmission | Qt | KDE Plasma, LXQt | transmission-qt | transmission-qt |
| qBittorrent | Qt | Any, especially Plasma | qbittorrent | qbittorrent |
| Fragments | GTK | GNOME | fragments | fragments |
| KTorrent | Qt (KDE) | KDE Plasma | ktorrent | ktorrent |
| Deluge | GTK | Any, best with its daemon | deluge-gtk | deluge-gtk |
| BiglyBT | Java with GTK | Any | biglybt | Official installer |
All of them are free and open source, and all show no ads. On Arch, the package names match the Fedora column, except that transmission-cli holds Transmission's daemon and command-line tools.
GNOME and other GTK desktops
Transmission's GTK app is the safe default. It opens to a plain list of torrents, keeps its settings simple, and stays out of the way. It has a built-in web interface you can switch on, speed limits with a schedule, and a watch folder. What it lacks is a search tab and an RSS reader. qBittorrent vs Transmission compares the two in detail.
Fragments is a GNOME app that uses Transmission internally, wrapped in a modern GNOME interface. It groups torrents by status, has a download queue, notices torrent and magnet links you copy to the clipboard, and lets you pick individual files. It can also connect to a remote Fragments or Transmission session, which makes it a tidy front end for a transmission-daemon running on your home server. Note that its last release was 3.0.1 in May 2024, although translation updates still land in its repository.
KDE Plasma and Qt desktops
qBittorrent is built on Qt, so it looks at home on Plasma, and it has the longest feature list of the free clients: search plugins (small Python scripts, so you need Python installed), RSS feeds with download rules, categories and tags, a bandwidth scheduler, and sequential download from the right-click menu. Version 5.3.0 came out on 19 October 2026. The project also publishes an AppImage, built on Ubuntu 22.04, for any similarly recent distribution.
KTorrent is KDE's own client, released with KDE Gear; version 26.08.2 is dated 8 October 2026. It has a search tab, an RSS syndication widget, previews for audio and video files, an IP filter, and a set of plugins. If you want every app on your desktop to come from KDE, it is the natural pick.
Transmission's Qt app has one feature worth knowing about: under Change Session it can connect to a remote Transmission session instead of running its own, so you can manage a server's transmission-daemon from a desktop window.
Deluge and BiglyBT
Deluge's GTK app can run on its own or act as a thin client for a Deluge daemon on another machine, which is why it is more interesting on a server (see below). The latest stable release is 2.2.0, from April 2025.
BiglyBT is the most feature-packed client for Linux, with swarm merging, I2P support and a large plugin catalogue. It is a Java application: the official installer script needs GTK and a headless Java runtime. Debian packages it as biglybt, and there is a Flatpak.
Headless clients for servers and NAS
A server with no screen runs the client as a background daemon and you control it from a browser or a remote app. Three daemons dominate.
| Daemon | Debian and Ubuntu | Fedora | Web UI port | First login |
|---|---|---|---|---|
| qbittorrent-nox | qbittorrent-nox | qbittorrent-nox | 8080 | admin plus a temporary password printed at startup |
| transmission-daemon | transmission-daemon | transmission-daemon | 9091 | Debian package: transmission / transmission |
| Deluge | deluged and deluge-web | deluge-daemon and deluge-web | 8112 | Password deluge |
qbittorrent-nox
This is qBittorrent with no graphical interface, only the web UI. Because that web UI includes RSS rules and search, you get the whole feature set on the server, which is the main reason to choose it. Since version 4.6.1 there is no fixed default password: until you set one, qbittorrent-nox prints a temporary password to its output each time it starts. The project also publishes an official Docker image (below).
transmission-daemon
The lightest of the three. It serves Transmission's web interface and its RPC API on port 9091, and you can drive it from transmission-remote on the command line, from Transmission's Qt app or Fragments on a desktop, or from many third-party remotes. Transmission's download page links install guides for Synology, QNAP, TrueNAS, OpenWrt, OpenMediaVault and other NAS and router systems, which reflects how often it ships on that kind of hardware.
Debian's package (which Ubuntu builds on) runs the daemon as a debian-transmission system user, keeps its settings in /etc/transmission-daemon/settings.json, and saves downloads to /var/lib/transmission-daemon/downloads. It ships with the username and password both set to transmission and a whitelist that only allows connections from the machine itself (127.0.0.1), so you will need to change both before using it from another computer. The service section below shows how.
Deluge
Deluge splits the client in two: deluged does the downloading, and you connect to it from the web UI (deluge-web), the GTK app in thin-client mode, or a console UI. Its bundled plugins include AutoAdd for watch folders, Label, Scheduler and Blocklist. Choose it if you want to manage a server from a full desktop app rather than a browser tab. The web UI's default password is deluge, and Deluge's FAQ tells you to change it on first login.
Distro packages, Flatpak, or AppImage
Distribution packages are the default for good reason. They get your distribution's security updates, they are the only option for the daemons, and on Debian and Ubuntu they include ready-made systemd units. The catch is age on stable releases. On Debian 13, for example, the main repository has qBittorrent 5.1.0 and a Transmission 4.1.0 beta build, while the projects themselves are on 5.3.0 and 4.1.3; the trixie-backports repository carries newer builds. Rolling distributions such as Arch are current. On Ubuntu, the qBittorrent team runs its own stable PPA (ppa:qbittorrent-team/qbittorrent-stable) if you want the newest release.
sudo apt install transmission-gtk # Debian, Ubuntu, Mint
sudo dnf install transmission-gtk # Fedora
sudo pacman -S transmission-gtk # Arch
Flatpak gives you the same recent version on any distribution. The Flathub IDs are org.qbittorrent.qBittorrent (verified by the qBittorrent project), com.transmissionbt.Transmission, org.deluge_torrent.deluge, de.haeckerfelix.Fragments, org.kde.ktorrent and com.biglybt.BiglyBT. For example:
flatpak install flathub org.qbittorrent.qBittorrent
Flatpak apps run in a sandbox that can only reach the folders their manifest or a file-chooser portal allows. If a client cannot save to a second drive, grant it access to that path:
flatpak override --user --filesystem=/mnt/media org.qbittorrent.qBittorrent
Flatpak is for desktop apps. For a headless daemon, use your distribution's package or Docker.
AppImage is a single file you make executable and run. qBittorrent offers one, and so does TorrentPlayer. Most distributions run AppImages out of the box. If one fails with a FUSE error, install FUSE 2: on Ubuntu 24.04 the package is libfuse2t64, and on older Ubuntu and Debian it is libfuse2.
Docker
For qBittorrent, the project's download page says "Official docker images are provided": qbittorrentofficial/qbittorrent-nox, built from the docker-qbittorrent-nox repository. A trimmed version of its documented command looks like this (set QBT_LEGAL_NOTICE=confirm only after reading the legal notice it refers to, and use full host paths):
docker run -dt --name qbittorrent-nox \
--stop-timeout 1800 \
-e QBT_LEGAL_NOTICE=confirm \
-e QBT_TORRENTING_PORT=6881 \
-e QBT_WEBUI_PORT=8080 \
-p 6881:6881/tcp -p 6881:6881/udp -p 8080:8080/tcp \
-v /srv/qbittorrent/config:/config \
-v /srv/qbittorrent/downloads:/downloads \
qbittorrentofficial/qbittorrent-nox:latest
Then run docker logs qbittorrent-nox to read the temporary password, log in at port 8080, and set a real one under Tools → Options → WebUI → Authentication. The long stop timeout gives qBittorrent time to shut down cleanly. The repository also has a Docker Compose example.
Transmission's download page links to linuxserver/transmission, an image from the linuxserver.io community project rather than from the Transmission developers.
Running a client as a systemd service
On a server you want the daemon to start at boot and restart cleanly. The commands below are for Debian and Ubuntu; other distributions are similar.
qbittorrent-nox
The package installs a systemd template, qbittorrent-nox@.service, which runs qbittorrent-nox as whichever user you name after the @. Create a user, run the program once by hand to accept the legal notice, then enable the service:
sudo apt install qbittorrent-nox
sudo adduser qbtuser
sudo -u qbtuser qbittorrent-nox
Read the legal notice and confirm it, note the web UI address and temporary password, and press Ctrl+C. Then:
sudo systemctl enable --now qbittorrent-nox@qbtuser
journalctl -u qbittorrent-nox@qbtuser
The second command shows the service's output, including a fresh temporary password if you have not set your own yet.
transmission-daemon
Transmission rewrites its settings file when it exits, so edits made while the daemon is running are lost. Stop it first:
sudo apt install transmission-daemon
sudo systemctl stop transmission-daemon
sudoedit /etc/transmission-daemon/settings.json
sudo systemctl start transmission-daemon
sudo systemctl enable transmission-daemon
In the file, set rpc-password to a new password in plain text (Transmission replaces it with a salted hash on the next start), and add your local network to rpc-whitelist, for example "127.0.0.1,192.168.*.*". Change download-dir if you want downloads on another disk, and make sure the debian-transmission user can write there. Debian's notes also mention sudo systemctl reload transmission-daemon as a way to make a running daemon re-read the file.
Deluge
Debian's deluged and deluge-web packages include systemd units, and the daemon runs as a debian-deluged system user:
sudo apt install deluged deluge-web
sudo systemctl enable --now deluged deluge-web
On distributions without packaged units, Deluge's documentation has unit files to copy: a deluge system user, ExecStart=/usr/bin/deluged -d for the daemon, and a second unit for deluge-web.
Keep the web UI private
Whichever daemon you run, change the default password before anything else, and keep the web UI on your home network. If you need it from outside, reach it through a VPN or an SSH tunnel (for example, ssh -L 8080:localhost:8080 you@server) rather than forwarding the port to the internet. Separately, remember that peers in a swarm see the IP address of the machine doing the downloading. VPNs for torrenting covers how to change that.
Streaming on Linux
Torrent clients can play a video before it finishes. In qBittorrent, turn on Download in sequential order and Download first and last pieces first, then open the file in VLC or mpv. Skipping ahead is the weak spot, because the client keeps fetching pieces in order from the start.
TorrentPlayer is a free, open-source player built for that. It streams video and audio straight from the swarm: you press play and it starts in seconds, and when you skip, it fetches that exact spot first and sends the most urgent blocks to two peers so one slow peer cannot stall playback. In its own benchmark on a public swarm (the Ubuntu 24.04 ISO, about 600 peers), the median time from a skip to data being ready was 0.70 seconds. Public swarms vary.
The GitHub releases page has an AppImage, a .deb and an .rpm, all for 64-bit x86 PCs:
chmod +x TorrentPlayer_*_amd64.AppImage && ./TorrentPlayer_*_amd64.AppImage
sudo apt install ./TorrentPlayer_*_amd64.deb # Debian, Ubuntu, Mint
sudo dnf install ./TorrentPlayer-*.x86_64.rpm # Fedora
Be clear about what it is not. It is a desktop app with no web UI, RSS or scheduler, so it does not replace a server daemon, and there is no ARM build for a Raspberry Pi. It is an early preview, and its built-in player cannot yet decode some audio formats such as AC-3 and DTS. It does include a download queue, no telemetry, and optional WireGuard or SOCKS5 routing with a kill switch. A good split for a home setup is a daemon on the server for downloading and TorrentPlayer on your laptop for watching. The torrent streaming apps comparison covers the alternatives.
Linux users have plenty of legal material to test with: distribution ISOs, Blender's open movies such as Sintel and Tears of Steel, public-domain films from the Internet Archive, and Academic Torrents datasets. BitTorrent is legal; downloading copyrighted material without permission usually is not.
Sources
- Transmission: downloads (distribution packages, Flathub, Docker, NAS guides)
- Transmission: editing configuration files
- Transmission: Qt session dialog source (remote sessions)
- Debian: transmission-daemon file list
- Debian: transmission packaging (default settings, README.config, system user)
- Debian: transmission versions by release
- Debian: qbittorrent versions by release
- Debian: qbittorrent-nox file list
- Debian: deluge packaging (system user, web UI notes)
- Fedora packages: transmission
- Fedora packages: qbittorrent
- Fedora packages: deluge
- Arch Linux packages
- qBittorrent: downloads (AppImage, packages, PPA, Docker, Flatpak)
- qBittorrent wiki: running qbittorrent-nox as a systemd service
- qBittorrent wiki: Web UI password locked (temporary password since 4.6.1)
- qBittorrent: systemd unit template
- qBittorrent: official Docker image
- Deluge: installation documentation
- Deluge: systemd services
- Deluge: FAQ (web UI password)
- Fragments on Apps for GNOME
- Fragments: repository and releases
- KTorrent on KDE Applications
- BiglyBT: downloads
- Flathub: qBittorrent
- Flathub: Transmission
- Flatpak: sandbox permissions
- Flatpak: command reference (flatpak override)
- AppImage: FUSE troubleshooting
- TorrentPlayer: releases
- TorrentPlayer on GitHub
Checked on 20 October 2026.