transmission-create
Create torrent files from specified content
TLDR
Create a torrent with a specific piece size (in KB)
Create a private torrent with a specific piece size (in KB)
Create a torrent with a comment
Create a torrent with multiple trackers
Display help page
SYNOPSIS
transmission-create [OPTIONS] <source-path>
PARAMETERS
<source-path>
The path to the file or directory that you want to create a torrent for. This is a mandatory argument and must point to valid content.
-o, --output <file>
Specify the name and path for the generated .torrent file. If this option is omitted, the output file name will be derived from the source path with a .torrent extension (e.g., 'MyMovie.torrent' for 'MyMovie.mp4').
-c, --comment <comment>
Add a descriptive comment string to the .torrent file's metadata. This comment is often displayed by BitTorrent clients.
-p, --private
Mark the torrent as 'private'. Private torrents disable DHT (Distributed Hash Table), PEX (Peer Exchange), and LSD (Local Peer Discovery) to enforce tracker-only peer discovery. This is commonly used on private trackers to ensure all traffic goes through the tracker for statistics and access control.
-t, --tracker <url>
Add a tracker URL to the torrent. This option can be used multiple times to include multiple trackers or tracker tiers. The URL should be a valid HTTP or UDP announce URL (e.g., 'http://tracker.example.com/announce').
-a, --announce-list <file>
Read a list of announce URLs from the specified file. Each URL should be on a new line, and tiers can be separated by a blank line.
-s, --piece-size <size>
Set the size of each piece in the torrent. Common sizes include '256KB', '512KB', '1MB', '2MB', '4MB'. A larger piece size results in a smaller .torrent file but can make data integrity checks less granular and may impact sharing efficiency for very small files.
-n, --name <name>
Override the default name of the torrent. By default, the torrent name is derived from the source file or directory name.
-h, --help
Display a brief help message showing command usage and options, then exit.
-v, --version
Display the version information for the transmission-create utility and exit.
DESCRIPTION
The transmission-create command is a utility bundled with the Transmission BitTorrent client. Its primary function is to generate new .torrent files. These files contain essential metadata about the content being shared (files or directories), including their names, sizes, checksums of their pieces, and the addresses of tracker servers that help peers discover each other. This command is indispensable for anyone wishing to distribute content via the BitTorrent protocol, as it allows users to specify various parameters such as tracker URLs, comments, and whether the torrent should be private. It operates by scanning the specified files or directories and computing the necessary cryptographic hashes to include in the .torrent file, making the content discoverable and verifiable by other BitTorrent clients.
CAVEATS
When creating torrents for very large files or extensive directories, the transmission-create command may take a significant amount of time to compute the checksums of all data pieces. Ensure the source files are not modified during this process, as any changes could result in an invalid .torrent file or corrupt data for peers. Private torrents (using --private) should only be used if explicitly required or supported by a specific tracker, as they intentionally limit peer discovery mechanisms that can otherwise improve availability.
PIECE SIZE SELECTION BEST PRACTICES
Choosing an appropriate piece size is a critical decision. Smaller piece sizes result in larger .torrent files but allow for more granular verification and re-downloading of corrupt data, which can be beneficial for unreliable connections. Larger piece sizes create smaller .torrent files and are often suitable for very large single files or stable network environments. As a general rule, try to keep the .torrent file size manageable, but don't make pieces so large that minor corruptions require re-downloading huge blocks of data.
TRACKER URLS IMPORTANCE
At least one tracker URL (using -t) is almost always required for the torrent to function correctly and for peers to find each other, unless it's intended exclusively for a DHT-only network (which is uncommon for new torrents). Including multiple trackers (or tracker tiers) can significantly improve redundancy and availability, especially if one tracker goes offline. Public trackers are widely available online, while private sharing often utilizes dedicated, invite-only trackers.
HISTORY
The Transmission BitTorrent client project began its development in 2005, aiming to be a lightweight, cross-platform, and powerful client. The transmission-create command-line utility has been a fundamental component of the Transmission suite since its early versions, providing users with the essential capability to generate new torrent files, which is crucial for initiating content distribution within the BitTorrent ecosystem.
SEE ALSO
transmission-remote(1), transmission-daemon(1), transmission-cli(1), transmission-show(1), transmission-edit(1)