TRANSMISSION-REMOTE(1)

πŸ“¦
version 4.1.4 Β· 3 versions
, in alpine 3.24, arch rolling, debian trixie, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ¦‹ TRANSMISSION-REMOTE(1) πŸ¦‹

okay bestie, sit down, hydrate, because this is the whole manual page for transmission-remote β€” a remote control utility for transmission-daemon(1) and transmission(1). Yes it's long. No we're not skipping anything. Periodt. πŸ’…


✨ NAME ✨

transmission-remote β€” a remote control utility for transmission-daemon(1) and transmission(1) 🫢


🌸 SYNOPSIS 🌸

transmission-remote [host:port | host | port] [-a filenames-or-URLs]
                    [-as] [-AS] [-asd number] [-asu number] [-asc]
                    [-ASC] [-b] [-c path | -C] [-d number | -D]
                    [-e size] [-er | -ep | -et] [--exit] [-f]
                    [-F filter] [-g files] [-G files] [-gisl number]
                    [-GISL number] [-gsr ratio] [-GSR] [-h] [-i] [-ic]
                    [-ids] [-if] [-ip] [-isl number] [-ISL number]
                    [-isld] [-it] [-j] [-l] [-m | -M] [-n user:pass]
                    [-ne] [-N netrc] [-o | -O] [-p port] [-Bh] [-Bn]
                    [-Bl] [-ph files] [-pl files] [-pn files]
                    [-pr peers] [-r] [-rad] [-s | -S] [-sr ratio] [-SR]
                    [-srd] [-si] [-st] [-t all | active | id | hash]
                    [-hl] [-HL] [-u number | -U] [-utp | -no-utp] [-v]
                    [-V] [-w download-dir] [-x | -X] [-y | -Y] [-pi]

πŸ’œ DESCRIPTION πŸ’œ

transmission-remote is a remote control utility for transmission(1) and transmission-daemon(1). it's giving "i run the whole torrent operation from my terminal" energy and honestly? iconic.

by default, transmission-remote connects to the transmission session at localhost:9091. other sessions can be controlled by specifying a different host and/or port. like, you can cheat on localhost, it's allowed πŸ¦‹


πŸŽ€ OPTIONS πŸŽ€

okay this is the part everyone actually came for. buckle up, it's a lot, but i got you πŸ’–

  • -a, --add filenames-or-URLs β€” Add torrents to transmission. new torrents, who dis ✨
  • -b, --debug β€” Enable debugging mode. the "why is it doing that" switch πŸ”
  • -as, --alt-speed β€” Use the alternate Limits.
  • -AS, --no-alt-speed β€” Don't use the alternate Limits. (yes, they're twins, one is the not twin πŸ’€)
  • -asd, --alt-speed-downlimit limit β€” Limit the alternate download speed to limit kilobytes per second.
  • -asu, --alt-speed-uplimit limit β€” Limit the alternate upload speed to limit kilobytes per second.
  • -asc, --alt-speed-scheduler β€” Use the scheduled on/off times. ⏰
  • -ASC, --no-alt-speed-scheduler β€” Don't use the scheduled on/off days and times.
  • --alt-speed-time-begin time β€” Time to start using the alt speed limits (in hhmm).
  • --alt-speed-time-end time β€” Time to stop using the alt speed limits (in hhmm).
  • --alt-speed-days days β€” Set the number of days on which to enable the speed scheduler, using a list such as "2,4-6". very "i only throttle on weekdays" of you 🌈
  • --torrent-done-script filename β€” Specify a file to run each time a torrent finishes πŸŽ‰
  • --no-torrent-done-script β€” Don't run any script when a torrent finishes. silence. peace. πŸ“
  • -c, --incomplete-dir dir β€” When adding new torrents, store their contents in directory until the torrent is done. a little waiting room for your files 🫢
  • -C, --no-incomplete-dir β€” Don't store incomplete torrents in a different directory. everybody in the same house, no separate rooms.
  • -d, --downlimit limit β€” Limit the maximum download speed to limit kB/s. If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting.
  • -D, --no-downlimit β€” Disable download speed limits. If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting. go fast, no brakes πŸ”₯
  • -e, --cache size β€” Set the session's maximum memory cache size in MiB. This cache is used to reduce disk IO.
  • -er, --encryption-required β€” Encrypt all peer connections. all of them. no exceptions πŸ’€
  • -ep, --encryption-preferred β€” Prefer encrypted peer connections.
  • -et, --encryption-tolerated β€” Prefer unencrypted peer connections.
  • --exit β€” Tell the Transmission to initiate a shutdown. say bye πŸ‘‹
  • -f, --files β€” Get a file list for the current torrent(s).
  • -g, --get all | file-index | files β€” Mark file(s) for download. all marks all of the torrent's files for downloading, file-index adds a single file to the download list, and files adds multiple files to the download list, such as "-g1,3-5" to add files #1, #3, #4, and #5 to the download list. cherry-picking, but make it torrents πŸ’
  • -F, --filter filter β€” Filter selected torrents. Further commands will use only torrents that satisfy the filter condition.
    • i - currently idle
    • u - currently uploading
    • d - currently downloading
    • n:str - torrent name includes str
    • l:label - has label
    • r:ratio - Minimum upload ratio
    • w - Have some unwanted files

Prefixing the filter by "~" negates the filter. -F may be specified more than once, and may be preceded by -t. Only torrents that satisfy all the conditions are selected. so like, the vibe check for your torrents ✨

  • -G, --no-get all | file-index | files β€” Mark file(s) for not downloading. the anti--g. 🚫
  • -gsr, --global-seedratio ratio β€” All torrents, unless overridden by a per-torrent setting, should seed until a specific ratio.
  • -GSR, --no-global-seedratio β€” All torrents, unless overridden by a per-torrent setting, should seed regardless of ratio.
  • -isl, --idle-seeding-limit minutes β€” Let the selected torrent(s) seed until a specific amount of idle time.
  • -isld, --default-idle-seeding-limit β€” Use the default idle-seeding-limit for the selected torrent.
  • -ISL, --no-idle-seeding-limit β€” Let the selected torrent(s) seed regardless of idle time.
  • -gisl, --global-idle-seeding-limit minutes β€” All torrents, unless overridden by a per-torrent, should stop seeding after spending the specified time idling.
  • -GISL, --no-global-idle-seeding-limit β€” All torrents, unless overridden by a per-torrent, should seed regardless of the time spent idle Let the selected torrent(s) seed regardless of idle time. (yes, that's exactly how the page says it, i'm just the messenger bestie 😭)
  • -h, --help β€” Print command-line option descriptions. hi hello here's how this works 🫢
  • -i, --info β€” Show details of the current torrent(s).
  • -if, --info-files β€” List the specified torrent's files.
  • -ip, --info-peers β€” List the specified torrent's peers.
  • -ic, --info-pieces β€” List the specified torrent's pieces.
  • -it, --info-trackers β€” List the specified torrent's trackers.
  • -j, --json β€” Return the RPC response as JSON. for when you wanna pipe it into something else πŸ’œ
  • -si, --session-info β€” List session information from the server.
  • -st, --session-stats β€” List statistical information from the server. numbers, but make them cute πŸ“Š
  • -l, --list β€” List all torrents. the whole roster πŸ‘‘
  • -ids, --print-ids β€” Print a list of the specified torrent's ids in a format suitable as a parameter for -t.
  • -L, --labels label1[,label2[,...]] β€” Set the specified torrent's labels. organize your chaos 🏷️
  • -m, --portmap β€” Enable portmapping via NAT-PMP or UPnP.
  • -M, --no-portmap β€” Disable portmapping.
  • -n, --auth username:password β€” Set the username and password for authentication.
  • -ne, --authenv β€” Set the authentication information from the TR_AUTH environment variable which must be formatted as username:password.
  • -N, --netrc filename β€” Set the authentication information from a netrc file. See netrc(5) for more information.
  • -o, --dht β€” Enable distributed hash table (DHT).
  • -O, --no-dht β€” Disable distributed hash table (DHT).
  • -p, --port port β€” Set the port for use when listening for incoming peer connections.
  • -Bh, --bandwidth-high β€” Give this torrent first chance at available bandwidth. main character energy πŸŽ€
  • -Bn, --bandwidth-normal β€” Give this torrent the bandwidth left over by high priority torrents.
  • -Bl, --bandwidth-low β€” Give this torrent the bandwidth left over by high and normal priority torrents. crumbs, but politely πŸ₯²
  • -ph, --priority-high all | file-index | files β€” Try to download the specified file(s) first. all marks all of the torrent's files as normal priority, file-index sets a single file's priority as normal, and files sets multiple files' priorities as normal, such as "-pn1,3-5" to normalize files #1, #3, #4, and #5. (the page literally says "normal" all through the high priority entry and i'm not editing that, no cap πŸ’€)
  • -pn, --priority-normal all | file-index | files β€” Try to download the specified files normally.
  • -pl, --priority-low all | file-index | files β€” Try to download the specified files last.
  • -pr, --peers number β€” Set the maximum number of peers. If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting.
  • -r, --remove β€” Remove the current torrent(s). This does not delete the downloaded data. ⚠️ the files stay, bestie, i promise
  • -rad, --remove-and-delete β€” Remove the current torrent(s) and delete their downloaded data. ⚠️ okay this one is the real one. the data is gone. be so serious before you run this 😭
  • --reannounce β€” Reannounce the current torrent(s). This is the same as the GUI's "ask tracker for more peers" button.
  • --move β€” Move the current torrents' data from their current locations to the specified directory.
  • --rename newname β€” Rename files or root folder of a torrent.
  • --path oldname β€” Provide original path for the rename command.
  • --unix-socket β€” Connect using a Unix domain socket. unix girlies rise 🐧
  • --find β€” Tell Transmission where to look for the current torrents' data.
  • -sr, --seedratio ratio β€” Let the current torrent(s) seed until a specific ratio.
  • -SR, --no-seedratio β€” Let the current torrent(s) seed regardless of ratio.
  • -srd, --seedratio-default β€” Let the current torrent(s) use the global seedratio settings.
  • -td, --tracker-add tracker β€” Add a tracker to a torrent.
  • -tr, --tracker-remove trackerId β€” Remove a tracker from a torrent.
  • -s, --start β€” Start the current torrent(s). go go go πŸš€
  • -S, --stop β€” Stop the current torrent(s) from downloading or seeding. nap time 😴
  • --start-paused β€” Start added torrents paused.
  • --no-start-paused β€” Start added torrents unpaused.
  • -t, --torrent all | active | id | torrent-hash β€” Set the current torrent(s) for use by subsequent options. The literal all will apply following requests to all torrents; the literal active will apply following requests to recently-active torrents; and specific torrents can be chosen by id or hash. To set more than one current torrent, join their ids together in a list, such as "-t2,4,6-8" to operate on the torrents whose IDs are 2, 4, 6, 7, and 8. this one is the "who are we even talking about" option, super important πŸ’…
  • --trash-torrent β€” Delete torrents after adding.
  • --no-trash-torrent β€” Do not delete torrents after adding.
  • -hl, --honor-session β€” Make the current torrent(s) honor the session limits. respect the house rules 🫢
  • -HL, --no-honor-session β€” Make the current torrent(s) not honor the session limits.

and that's part one bestie β€” there's more coming, don't go anywhere πŸ’œ

  • -u, --uplimit limit β€” caps your upload speed at limit kB/s 🐌✨. If you've got torrent(s) selected right now, it only touches those ones. No selection? Then it's changing the global setting, bestie.
  • -U, --no-uplimit β€” bye bye upload speed limit 🚫, no cap fr.
  • --utp β€” turns uTP on for peer connections πŸ’«.
  • --no-utp β€” turns uTP off for peer connections. Selected torrent(s)? It operates on those. Otherwise it changes the global setting 🌍.
  • -v, --verify β€” verify the current torrent(s) πŸ”, let's make sure everything's actually correct.
  • -V, --version β€” show the version number and dip out πŸ‘‹.
  • -w, --download-dir directory β€” used alongside --add, it sets the new torrent's download folder πŸ“. On its own? It sets the default download folder.
  • -x, --pex β€” enable peer exchange (PEX) πŸ”„.
  • -X, --no-pex β€” disable peer exchange (PEX) πŸ™….
  • -y, --lds β€” enable local peer discovery (LPD) 🏘️✨.
  • -Y, --no-lds β€” disable local peer discovery (LPD) 🚫.
  • -pi, --peer-info β€” lists the current torrent's connected peers πŸ‘€. In the status section of the list, here's the shorthand they use:
    • D: Downloading from this peer
    • d: We would download from this peer if they would let us
    • E: Encrypted connection
    • H: Peer was found through DHT
    • I: Peer is an incoming connection
    • K: Peer has unchoked us, but we're not interested
    • O: Optimistic unchoked
    • T: Peer is connected over uTP
    • U: Uploading to peer
    • u: We would upload to this peer if they asked
    • X: Peer was discovered through Peer Exchange (PEX)
    • ?: We unchoked this peer, but they're not interested
  • --blocklist-update β€” update the blocklist from the URL specified in the remote client's settings with the blocklist-url key πŸ”—πŸ›‘οΈ.

🌈 EXAMPLES 🌈

Okay bestie, this is the fun part, the actual doing stuff section πŸ’….

List all torrents:

$ transmission-remote -l

List all active torrents:

$ transmission-remote -tactive -l

List all torrents with label "abc":

$ transmission-remote -F l:abc -l

List all torrents with name containing "def" or with label "abc":

$ transmission-remote -t $( transmission-remote -F n:def -ids )$( transmission-remote -F l:abc -ids ) -l

Rename torrent root folder from "test1/examplefile.txt" to "test2/examplefile.txt":

$ transmission-remote -t1 --path test1 --rename test2

Set download and upload limits to 400 kB/s and 60 kB/s:

$ transmission-remote -d400 -u60
$ transmission-remote --downlimit=400 --uplimit=60

Set alternate download and upload limits to 100 kB/s and 20 kB/s:

$ transmission-remote -asd100 -asu20
$ transmission-remote --alt-speed-downlimit=100 --alt-speed-uplimit=20

Set the scheduler to use the alternate speed limits on weekdays between 10AM and 11PM:

$ transmission-remote --alt-speed-time-begin=1000
$ transmission-remote --alt-speed-time-end=2300
$ transmission-remote --alt-speed-days=1-5
$ transmission-remote --alt-speed-scheduler

List all torrents' IDs and states:

$ transmission-remote -l

List all torrents from a remote session that requires authentication:

$ transmission-remote host:9091 --auth=username:password -l

Start all torrents:

$ transmission-remote -tall --start

Add two torrents:

$ transmission-remote -a one.torrent two.torrent

Add all torrents in ~/Desktop:

$ transmission-remote -a ~/Desktop/*torrent

Get detailed information on the torrent whose ID is '1':

$ transmission-remote -t1 -i

Get a list of a torrent's files:

$ transmission-remote -t1 -f

Download only its second and fourth files:

$ transmission-remote -t1 -Gall -g2,4

Set all torrents' first two files' priorities to high:

$ transmission-remote -tall -ph1,2

Set all torrents' files' priorities to normal:

$ transmission-remote -tall -pnall

🌍 ENVIRONMENT 🌍

  • http_proxy β€” sets the proxy to use for http tracker announces πŸ•΅οΈβ™€οΈ.

πŸ‘‘ AUTHORS πŸ‘‘

Charles Kerr, Josh Elsasser, Eric Petit, Mitchell Livingston, and Mike Gelfand. Legends, all of them 🫢.


πŸ” SEE ALSO πŸ”

transmission-create(1), transmission-daemon(1), transmission-edit(1), transmission-gtk(1), transmission-qt(1), transmission-remote(1), transmission-show(1)

https://transmissionbt.com/


and that's the whole page, bestie πŸ’– this Debian flavour dropped way back on July 21, 2008, filed under TRANSMISSION-REMOTE(1) β€” iconic behaviour, honestly, it ate and left no crumbs βœ¨πŸŽ€πŸ¦‹