LinuxCommandLibrary

transmission-remote

Control remote Transmission BitTorrent client

TLDR

Add a torrent file or magnet link to Transmission and download to a specified directory

$ transmission-remote [hostname] [[-a|--all]] [torrent|url] [[-w|--download-dir]] /[path/to/download_directory]
copy

Change the default download directory
$ transmission-remote [hostname] [[-w|--download-dir]] /[path/to/download_directory]
copy

List all torrents
$ transmission-remote [hostname] [[-l|--list]]
copy

Start torrent 1 and 2, stop torrent 3
$ transmission-remote [hostname] [[-t|--torrent]] "1,2" [[-s|--start]] [[-t|--torrent]] 3 [[-S|--stop]]
copy

Remove torrent 1 and 2, and also delete local data for torrent 2
$ transmission-remote [hostname] [[-t|--torrent]] 1 [[-r|--remove]] [[-t|--torrent]] 2 [[-rad|--remove-and-delete]]
copy

Stop all torrents
$ transmission-remote [hostname] [[-t|--torrent]] [all] [[-S|--stop]]
copy

Move torrents 1-10 and 15-20 to a new directory (which will be created if it does not exist)
$ transmission-remote [hostname] [[-t|--torrent]] "1-10,15-20" --move /[path/to/new_directory]
copy

SYNOPSIS

transmission-remote [host:port] [options] [torrent-IDs]
transmission-remote [options]

PARAMETERS

-a
    Add a new torrent from a .torrent file path or a magnet URI. E.g., -a /path/to/file.torrent or -a 'magnet:?xt=urn:btih:...'

-r
    Remove specified torrents from the daemon. Use 'all' to remove all torrents. E.g., -r 1,3,5 or -r all

-s
    Show session statistics for the daemon, including global download/upload speeds, active torrent count, and total transferred data.

-l
    List all torrents managed by the daemon, displaying their status, size, progress, and current speeds.

-f
    List files for the specified torrents. Add --files to see detailed file information within the torrent, including their download progress.

-t
    Select torrents for subsequent operations. Can be a single ID, a range (e.g., 1-5), a comma-separated list (e.g., 1,3,5), or the word 'all'.

-p
    Pause specified torrents, stopping all transfers (download and upload) for them.

-S
    Start specified torrents, resuming transfers if they were paused or stopped.

-v
    Display the version of the transmission-remote client.

-g
    Get global Transmission daemon settings, such as download directory, speed limits, and port settings.

-G
    Set global Transmission daemon settings. E.g., -G download-dir=/path/to/downloads or -G dlimit-down=100.

--auth
    Authenticate with the daemon using the provided username and password for RPC access.

--exit
    Gracefully shut down the Transmission daemon that transmission-remote is connected to.

--incomplete-dir


    When setting global options, specify the directory for incomplete downloads.

--bandwidth-limit-down
    When setting global options, set the global download speed limit in KB/s (kilobytes per second).

--bandwidth-limit-up
    When setting global options, set the global upload speed limit in KB/s (kilobytes per second).

--port
    Specify the RPC port to connect to on the host, overriding the default 9091.

--ssl
    Use SSL/TLS for the RPC connection, encrypting communication with the daemon.

DESCRIPTION

transmission-remote is a powerful command-line tool designed to interact with and control a running Transmission BitTorrent daemon. It provides a flexible way to manage torrents, view their status, add new downloads, remove completed ones, and configure global settings without needing a graphical user interface. This makes it ideal for headless servers, automation scripts, or users who prefer a terminal-based workflow. It communicates with the daemon via its RPC (Remote Procedure Call) interface, allowing for both local and remote management of your BitTorrent activity, offering comprehensive control over your downloads and uploads.

CAVEATS

transmission-remote requires a running transmission-daemon instance to connect to. Ensure the daemon is configured to accept RPC connections, and if necessary, whitelist the IP address of the client running transmission-remote or provide correct authentication credentials. If the daemon is not running or not accessible (e.g., due to firewall rules), the command will fail to connect.

CONNECTING TO THE DAEMON

By default, transmission-remote attempts to connect to localhost:9091. You can specify a different host and port as the first argument, e.g., transmission-remote myhost.example.com:9091, or simply transmission-remote 192.168.1.10 (defaults to port 9091).

TORRENT ID SPECIFICATION

Many commands that operate on specific torrents (e.g., pause, start, remove) accept torrent-IDs. This can be a single number (e.g., 1), a comma-separated list of numbers (e.g., 1,3,5), a range of numbers (e.g., 1-5), or the keyword all to apply the command to every torrent currently managed by the daemon.

AUTHENTICATION

If the transmission-daemon is configured to require authentication (username and password), you must provide these credentials. This can be done using the --auth option (e.g., --auth myuser:mypassword) or by setting the TR_AUTH environment variable. For convenience, you can also use a .netrc file for stored credentials.

HISTORY

transmission-remote is an integral part of the Transmission BitTorrent client project, which began development in 2005. It was created to provide a lightweight, cross-platform client that is easy to use and manage. The remote control functionality, including transmission-remote, has been a core feature from early on, allowing users to run the daemon on a server (e.g., a home media server or a VPS) and control it from various devices or through scripts, significantly enhancing its utility for server environments and automation.

SEE ALSO

transmission-daemon(1), transmission-cli(1), transmission-qt(1), transmission-gtk(1)

Copied to clipboard