Skip to Content
Transmission

Transmission

Lightweight BitTorrent client that “just works”

Transmission is a fast, easy-to-use BitTorrent client designed with sensible defaults that work out of the box. Ubuntu chose Transmission as its default BitTorrent client largely due to its easy learning curve. QuickBox Pro installs the modern v4 (4.x+, Qt6-based) build by default on every supported distro, with the legacy v3 (3.00) available as an opt-in where it is still compiled. Every install ships per-user systemd services, an nginx reverse proxy, and pre-configured RPC access.

Just Works

Sensible defaults with minimal configuration needed out of the box

Web Interface

Clean, responsive web UI via nginx reverse proxy with RPC authentication

Watch Directories

Auto-add torrents from watch folder for automated workflows

Dynamic Versions

Available versions resolved from the compiled-packages manifest with dual packaging support

RPC Whitelist

Secure RPC access with authentication and IP whitelist (127.0.0.1)

Peer Blocklists

Support for bad peer blocklists to enhance privacy and security


Installation

Install from the Dashboard

Open App Dashboard → Package Management (/dashboard?mode=packages), find Transmission in the catalog (browse Download Clients or search), and click Install. The version selector defaults to the latest (v4) build for a new install; the legacy 3.x series appears as a choice only on distros where it is still compiled (Debian 12 and Ubuntu 22). The dashboard streams the install log live and Transmission appears in your Application Control panel when it finishes. Reinstall, Update, and Remove are available from the same panel.

When you update an existing install, the dashboard keeps the major you already have — a v3 install stays on v3 unless you explicitly pick v4 in the selector. Picking v4 migrates the install for all users.

What you see and can manage is gated by your account: admins manage any user’s apps; regular users manage their own. For the full package flow see App Management.

Transmission is a system-level binary

Transmission installs as a system-wide binary, so switching between the legacy 3.x and modern 4.x+ series replaces the installation for all users on the server. User configurations and torrent data are preserved, but plan the switch with all users in mind.

Install from the CLI (automation)

The CLI runs the same install and is suited to automation and scripting. By default it installs the latest modern v4 (4.x+, Qt6) build. Use -o '<version>' to pin an exact build resolved from the compiled-packages manifest; the version’s major decides the packaging branch — 4.x+ installs the modern single-package build, 3.x installs the legacy multi-part build. --v3 and --v4 remain as aliases that install the latest build within that major:

qb install transmission -u username # latest modern v4 (default) qb install transmission -u username --v4 # latest v4 (explicit alias) qb install transmission -u username --v3 # latest legacy 3.x (Debian 12 / Ubuntu 22 only) qb install transmission -u username -o '4.0.6' # pin an exact build from the manifest
Update keeps the major you already have

qb update transmission -u username preserves the installed major — a v3 install stays on v3 and a v4 install stays on v4. To migrate an existing v3 install to v4, pass the flag explicitly: qb update transmission -u username --v4. Passing an explicit -o '<version>' whose major differs from the installed one also migrates, because you asked for that exact build. Switching branch removes the other branch for all users on the server.

Version availability by distro

The legacy v3 (3.00) build ships only where QuickBox provides compiled 3.00 packages:

DistroDefault install--v3 available?
Debian 12 (bookworm)v4Yes
Ubuntu 22 (jammy)v4Yes
Ubuntu 24 (noble)v4No — v4 installs instead, with a notice
Debian 13 (trixie)v4No — v4 installs instead, with a notice

On distros where v3 is unavailable, --v3 falls back to installing v4 and prints a notice explaining that the legacy build is not compiled for that distro.

CLI Commands

CommandDescription
qb install transmission -u usernameInstall Transmission v4 (modern, Qt6, latest from manifest)
qb install transmission -u username --v4Install Transmission v4 explicitly (same as default)
qb install transmission -u username --v3Install latest legacy Transmission 3.x (Debian 12 / Ubuntu 22 only)
qb install transmission -u username -o '4.0.6'Install an exact build from the manifest
qb reinstall transmission -u usernameReinstall the current major while preserving QuickBox integration
qb reinstall transmission -u username -o '4.0.6'Reinstall a specific build from the manifest
qb update transmission -u usernameUpdate Transmission, keeping the installed major
qb update transmission -u username --v4Migrate an existing v3 install to v4 (affects all users)
qb update transmission -u username -o '4.1.3'Update to an exact build (a different major migrates all users)
qb remove transmission -u usernameRemove Transmission and clean up files
qb help transmissionDisplay comprehensive help information

Dual Packaging Model

Transmission uses different packaging depending on the version series:

  • Modern v4 (4.x+) — installed as a single +allmods .deb that bundles all components. Qt6 dependencies are resolved and installed from the compiled-packages manifest alongside the main package. This is the default.
  • Legacy v3 (2.x/3.x) — installed as separate subpackages: transmission-daemon, transmission-cli, transmission-common, transmission-gtk, and transmission-qt. All are held at the installed version to prevent accidental upgrades.

This means --v3/--v4 does not just change the version number; it changes the entire packaging structure — which is why switching branch replaces the installation for all users.

CLI Options

-u, --usernameRequired

Target QuickBox username for install/reinstall/remove operations. Supply Admin username for version updates affecting all users.

--v4

Explicitly install or update to the latest Transmission 4.x+ build (Qt6-based, single +allmods package). This is the default; pass it on update to migrate an existing v3 install. Affects all users on the server.

--v3

Install the latest legacy Transmission 3.x build (multi-part packaging). Available only on Debian 12 and Ubuntu 22; on other distros v4 installs instead with a notice. Affects all users on the server.

-o

Pin an exact build from the compiled-packages manifest, e.g. -o '4.0.6'. The version's major selects the packaging branch (4.x+ modern, 3.x legacy), so it also serves as an explicit version pick without --v3/--v4. On update/reinstall, a key whose major differs from the installed one migrates all users.

Automatic Port Assignment

QuickBox automatically assigns ports:

  • RPC port: Starting at 15105 (auto-incremented per user)
  • Peer port: Random from 49152-65535

Find your assigned RPC port in the QuickBox dashboard or in ~/.config/Transmission/settings.json.


Accessing Transmission

After installation, access Transmission at:

https://your-server-ip/transmission/
QuickBox Dashboard Integration

Transmission is automatically integrated into your QuickBox dashboard. Find it on the App Dashboard (the default control view), expand its row for port and status, and click Open to launch the web interface.

Login credentials:

  • Username: Your QuickBox username
  • Password: Your QuickBox password (RPC authentication)

Browser Download Index

In addition to the Transmission Web UI, QuickBox installs a per-user browser file index that lists your Transmission download folder in a dark-themed fancyindex view. Useful for quickly grabbing a single finished file without loading the torrent client.

https://your-server-ip/username.transmission.downloads
How it works

The nginx config at /etc/nginx/software/username.dlindex.conf serves your Transmission download folder through the shared fancyindex snippet. By default that is /home/username/torrents/transmission. Access is protected by auth_basic against /etc/htpasswd.d/htpasswd.username, which is the same credential file used for other QuickBox user endpoints.

  • The listing is the folder set as download-dir in the Transmission settings. With the default folder it also contains the watch/ folder. Change the download folder in Transmission and QuickBox re-renders the index on its own, usually within seconds, with an hourly check as a safety net. If the folder can’t be served (it is a symlink, it is outside your home folder, /mnt and /media, it doesn’t exist, or the web server can’t read it), the index keeps serving the default folder and the dashboard shows a note beginning “Showing the default folder.” See Open download folder for each note.
  • Removing Transmission keeps your finished downloads. qb remove transmission deletes the client’s configuration and data but never the download folder or what is inside it, and the remove output names the folder it kept. With the default folder, that includes watch/. Reinstalling writes your download-dir back into the fresh settings.
  • The index is stitched together per user: if you also have qBittorrent, rTorrent, Deluge, NZBGet, or SABnzbd installed, their completed-download locations are appended into the same username.dlindex.conf so each client gets its own URL. It is one shared browse-index config covering all of that user’s download clients.
  • The feature has no service of its own — it is pure nginx. If the page fails to load — returns a 502 or 404, shows blank, or errors — while the rest of the dashboard works normally, the per-user config is broken or missing. Rebuild it with qb fix dlindex -u username (one user) or qb fix dlindex (all users). See the Download Clients overview and the qb fix reference.

Initial Configuration

1. Web Interface Setup

On first access, the web interface is pre-configured:

  • RPC authentication: Enabled with your QuickBox credentials
  • RPC whitelist: Restricted to 127.0.0.1 for security
  • Download directory: /home/username/torrents/transmission/downloads
  • Watch directory: /home/username/torrents/transmission/watch

No additional setup required—Transmission is ready to use immediately.

2. Configure Watch Directory (Optional)

Enable automated torrent loading:

  1. Navigate to Preferences (gear icon) → Network
  2. Verify watch directory is enabled: /home/username/torrents/transmission/watch
  3. Drop .torrent files into the watch folder—they’ll be added automatically

3. Connect to *arr Applications (Optional)

If using Sonarr, Radarr, or other *arr applications:

  1. In your *arr app, go to Settings → Download Clients → Add (+)
  2. Select Transmission from the list
  3. Enter connection details:
    • Host: 127.0.0.1
    • Port: Your RPC port (check ~/.config/Transmission/settings.json → rpc-port)
    • URL Path: /transmission/
    • Username: Your QuickBox username
    • Password: Your QuickBox password
  4. Test and save

Service Management

Transmission runs as a systemd service for reliability and automatic startup.

systemctl status transmission@username # Check status systemctl restart transmission@username # Restart service journalctl -u transmission@username -f # View live logs systemctl enable transmission@username # Start on boot systemctl disable transmission@username # Prevent auto-start

Troubleshooting

Transmission Won’t Start

journalctl -u transmission@username -f

Check for port conflicts:

grep -i 'rpc-port' ~/.config/Transmission/settings.json # Default: 15105

Web Interface Not Accessible

Symptoms

  • Cannot access Transmission web interface
  • 403 Forbidden or authentication errors
  • RPC connection refused from `*arr` apps
  • nginx proxy not working

Resolution

  • Verify service is running: systemctl status transmission@username
  • Check RPC whitelist in settings.json includes 127.0.0.1
  • Ensure nginx configuration exists: /etc/nginx/conf.d/username.transmission.conf
  • Reload nginx: systemctl reload nginx

Configuration File Corruption

# Stop service systemctl stop transmission@username # Backup current configuration cp ~/.config/Transmission/settings.json ~/.config/Transmission/settings.json.backup # Edit or regenerate configuration nano ~/.config/Transmission/settings.json # Restart service systemctl start transmission@username

Permission Issues

qb fix permissions -u username systemctl restart transmission@username

Version Switch Issues

A bare qb update transmission keeps the installed major, so migrating a v3 install to v4 needs the explicit flag. If the in-place migration fails, do a clean reinstall:

# Migrate v3 → v4 in place qb update transmission -u username --v4 # If the migration fails, clean reinstall on v4 (the default) qb remove transmission -u username qb install transmission -u username

VPN routing

Transmission can route all of its torrent traffic through a VPN tunnel using QuickBox Pro’s app-scoped routing, with either a WireGuard or an OpenVPN backend. When routing is enabled, Transmission downloads, seeds, and announces to trackers from the VPN peer’s exit IP instead of your server’s real IP.

Transmission downloads, seeds, and announces its ratio from the VPN exit IP, and all of that keeps working whatever your provider. Whether other peers can start a connection to you depends on the provider, and the routing card shows a Port forwarding section for it: with ProtonVPN (NAT-PMP) or AirVPN (a port from your account) the dashboard keeps Transmission’s peer port on the provider’s forwarded port; with a provider that forwards none (like NordVPN) your tracker may show you as not connectable, which only means other peers can’t start a connection to you. You may seed to slightly fewer peers, because two peers that are both not connectable can’t reach each other. A provider that forwards a port (ProtonVPN, AirVPN) removes that limit. The section works the same for every torrent client; see qBittorrent routing for the full walkthrough. Port forwarding works with the WireGuard backend. A client routed over OpenVPN works the same way as the NordVPN case above: downloading, seeding and ratio are unaffected.

Transmission is a per-user template service (transmission@<user>), so several users can each route their own instance independently. Its WebUI stays reachable at its usual https://yourserver.com/username/transmission/ address through the dashboard proxy while routed. It appears in the App-Scoped Routing card once Transmission is installed and its service is running.

Update Transmission before enabling routing

Transmission must have its remote-access whitelist migrated for VPN routing first. If it has not been updated, the dashboard refuses to enable routing and tells you to update Transmission first, because a routed Transmission would otherwise reject the dashboard’s own RPC connection arriving from the routing subnet. Run qb update transmission once, then enable routing.

How to enable VPN routing for Transmission:

  1. Go to System > VPN Control (/system/vpn) in the dashboard
  2. Upload at least one WireGuard .conf or OpenVPN .ovpn file if you have not done so already
  3. Scroll to the App-Scoped Routing card on the VPN Control page
  4. Select Transmission from the app list
  5. Choose the tunnel backend and a peer configuration from the dropdown
  6. Click Enable Routing

Transmission restarts inside its VPN network namespace and its torrent traffic exits through the VPN peer from that point forward.

The default kill-switch stale threshold for Transmission is 30 minutes, matching qBittorrent and the other downloaders. You can adjust it between 60 seconds and 24 hours on the app row inside the App-Scoped Routing card.

For full details on routing configuration, kill switch settings, and live metrics, see the VPN Control dashboard page.


Best Practices

Do

  • Use qb update transmission to keep Transmission updated safely
  • Monitor service health with systemctl status transmission@username
  • Use the watch folder for automated torrent loading
  • Configure speed limits during peak hours if needed
  • Set appropriate peer limits based on your connection
  • Enable blocklists for enhanced privacy and security
  • Create categories for different `*arr` applications
  • Regularly check disk space—torrents can grow quickly

Don't

  • Don't install Transmission from system package managers—use QuickBox only
  • Don't manually edit systemd or nginx configs without backing up first
  • Don't expose the RPC port directly to the internet without nginx in front
  • Don't edit settings.json while service is running—stop it first
  • Don't mix v3 and v4 installations—choose one for all users
  • Don't delete .config/Transmission directory manually—use qb remove
  • Don't ignore RPC whitelist—keep it restricted to 127.0.0.1
  • Don't use Transmission for high-performance seeding—consider rTorrent instead

FAQ

A fresh install gets the modern v4 (4.x+, Qt6) build on every supported distro — the CLI resolves the latest available 4.x+ version from the packages.lst manifest in the QuickBox/compiled-packages repository, filtered by your distro codename. Add --v3 to install the legacy 3.00 build where it is compiled.
Only where QuickBox provides compiled 3.00 packages: Debian 12 (bookworm) and Ubuntu 22 (jammy). On Ubuntu 24 (noble) and Debian 13 (trixie), --v3 is unavailable, so v4 installs instead and a notice explains why.
Yes. Pass -o '<version>' with an exact version key from the compiled-packages manifest, for example qb install transmission -u username -o '4.0.6'. The version's major decides the packaging branch, so -o alone selects the branch without --v3/--v4. Without -o, the CLI installs the latest build within the selected major. In the dashboard, pick the version in the install dialog on the Packages tab, or change an already-installed app's version from its row's version popover on the App Dashboard.
No. qb update transmission preserves the installed major — a v3 install stays on v3 and a v4 install stays on v4. To migrate an existing v3 install to v4, run qb update transmission -u username --v4 explicitly (or pick v4 in the dashboard version selector).
Modern v4 (4.x+) installs as a single +allmods .deb that bundles all components. Legacy v3 (2.x/3.x) installs as separate subpackages (transmission-daemon, transmission-cli, transmission-common, transmission-gtk, transmission-qt).
Yes. Transmission is a system-level binary — switching between legacy and modern (or vice versa) replaces the installation for all users on the server. User configurations and torrent data are preserved, but plan the switch with all users in mind.

Other Download Clients

Web Interfaces


Additional Resources


Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server
Last updated on