How to use the command 'transmission-cli' (with examples)
- Linux , Macos , Windows , Android , Transmission
- December 17, 2024
Transmission-cli is a lightweight, command-line BitTorrent client designed for users who prefer minimalistic and powerful tools to manage torrent downloads without a graphical interface. Although it has been deprecated in favor of transmission-remote
, it still serves as a simple example of how command-line torrent clients can be used to manage downloads efficiently and flexibly from the terminal.
Use case 1: Download a specific torrent
Code:
transmission-cli url|magnet|path/to/file
Motivation:
Downloading a torrent via a URL, magnet link, or a local torrent file is the most basic and essential function of a torrent client. Using the command line to do so offers a straightforward way to manage downloads without the clutter and overhead of graphical interfaces, making it ideal for minimalistic setups or automation scripts.
Explanation:
transmission-cli
: The command used to invoke the Transmission command-line client.url|magnet|path/to/file
: This is the source of the torrent file. It can be a direct URL to a torrent file on the internet, a magnet link that facilitates peer-to-peer download without a physical file, or a path to a file saved on your local machine.
Example Output:
Connected to 5 peers. Download speed: 150 KB/s. Upload speed: 50 KB/s.
Downloading 45% complete. ETA: 10 minutes.
Use case 2: Download a torrent to a specific directory
Code:
transmission-cli --download-dir path/to/download_directory url|magnet|path/to/file
Motivation:
Specifying a download directory can be vital when organizing content, ensuring that files are stored directly in your preferred location. This minimizes the need for additional file management tasks and automations post-download.
Explanation:
--download-dir path/to/download_directory
: This argument specifies the directory where the downloaded files should be saved. It overrides any default directories set in the transmission configuration.url|magnet|path/to/file
: As before, this is the source of the torrent, allowing you to use URLs, magnet links, or local files.
Example Output:
Starting download to /home/user/Movies.
Connected to 8 peers. Download speed: 200 KB/s. Upload speed: 50 KB/s.
Downloading 20% complete. ETA: 1 hour.
Use case 3: Create a torrent file from a specific file or directory
Code:
transmission-cli --new path/to/source_file_or_directory
Motivation:
Creating a torrent allows you to share files with friends or the broader internet. Using the command line to generate a torrent file can automate this process, especially useful in scripts or bulk operations.
Explanation:
--new
: This flag tells transmission-cli to create a new torrent file instead of downloading one.path/to/source_file_or_directory
: This is the file or directory you wish to share as a torrent. The command will create a .torrent file that can be distributed.
Example Output:
Created torrent "holiday_photos.torrent" for directory "/home/user/Pictures/Holidays".
Announce URL: http://tracker.example.com/announce
Use case 4: Specify the download speed limit (in KB/s)
Code:
transmission-cli --downlimit 50 url|magnet|path/to/file
Motivation:
Setting a download speed limit is crucial in a shared network environment where you want to prevent your torrent download from consuming all available bandwidth. This ensures other network activities can function smoothly.
Explanation:
--downlimit 50
: This argument sets a cap of 50 KB/s on the download speed, helping to manage network resource usage.url|magnet|path/to/file
: The torrent source as detailed previously.
Example Output:
Download speed limited to 50 KB/s. Downloading: 60% complete. ETA: 30 minutes.
Use case 5: Specify the upload speed limit (in KB/s)
Code:
transmission-cli --uplimit 50 url|magnet|path/to/file
Motivation:
Limiting upload speed is just as important as limiting download speed, especially if your internet service provider imposes strict upload limits or if you want to avoid overwhelming your connection.
Explanation:
--uplimit 50
: This sets a limit of 50 KB/s on the upload speed, facilitating better control over network traffic.url|magnet|path/to/file
: Again, this is your torrent source.
Example Output:
Upload speed limited to 50 KB/s. Uploading: 25% complete. Peers connected: 12.
Use case 6: Use a specific port for connections
Code:
transmission-cli --port port_number url|magnet|path/to/file
Motivation:
Sometimes, network security, firewall configurations, or ISP restrictions necessitate the use of specific ports for your application traffic. Choosing a specific port can help you bypass such issues and ensure a smooth download process.
Explanation:
--port port_number
: This sets a particular port (e.g., 51413) for transmission-cli to use for peer connections, useful for configuring firewalls or adhering to ISP practices.url|magnet|path/to/file
: Your source for the torrent download.
Example Output:
Listening on port 51413. Connected to 10 peers.
Download and upload in progress.
Use case 7: Force encryption for peer connections
Code:
transmission-cli --encryption-required url|magnet|path/to/file
Motivation:
Requiring encryption in peer-to-peer connections enhances privacy and security, ensuring your torrent activities are protected against eavesdropping and are more difficult to track or throttle by ISPs.
Explanation:
--encryption-required
: This flag enforces encrypted connections with peers, contributing to a more secure torrenting experience.url|magnet|path/to/file
: This is your torrent source, as in the previous examples.
Example Output:
Encrypted connection established with peers. Download speed: 120 KB/s.
Use case 8: Use a Bluetack-formatted peer blocklist
Code:
transmission-cli --blocklist blocklist_url|path/to/blocklist url|magnet|path/to/file
Motivation:
Using a peer blocklist can enhance privacy and security by preventing connections with known harmful or monitoring addresses, providing an additional layer of protection during torrenting.
Explanation:
--blocklist blocklist_url|path/to/blocklist
: This adds Bluetack-formatted blocklists to your peer connections, either from a direct URL or from a local file. It is used to prevent unwanted connections.url|magnet|path/to/file
: The source of your torrent download.
Example Output:
Loaded blocklist with 5000 entries. Connected to 3 peers.
Conclusion:
While transmission-cli has been deprecated, its functionalities and use cases illustrate the efficiency of command-line torrent clients for managing downloads and torrent file creation. By understanding each option, users can tailor their downloads for a balanced network load, enhanced security, or organized file storage—all from the terminal.