mkbrr modify command allows you to update metadata in existing .torrent files without needing access to the original content files. This is useful for mass-updating trackers, source tags, comments, or other metadata.
Arguments
Required command arguments
Flags
Available modification options
Examples
Common usage examples
By default, the original torrent files are preserved. New, modified files are created with a prefix based on the tracker domain (e.g.,
tracker-domain_original-name.torrent). You can customize the output filename or directory.The
modify command changes only the fields that you set (name, tracker, source, comment, private flag, entropy). It keeps the other keys in the info dictionary, including custom keys. It drops unknown top-level keys, which are keys outside the info dictionary that mkbrr does not know. When modify changes something, it sets the creation date to now, unless you remove the date with --no-date or a preset.The announce-list is a list of more trackers in the torrent. If you give one tracker,
modify writes no announce-list and removes the old list. If you give more than one tracker, modify writes all of them to the announce-list.Arguments
string[]
required
One or more paths to the
.torrent files you want to modify. Glob patterns (like *.torrent) can be used if your shell supports them.Flags
Input & Output
string[]
Tracker URLs (can be specified multiple times).
string
Set the torrent’s internal name.
string
Output directory for modified files.
string
Custom output filename (without extension).
Advanced Input (Presets)
string
Use preset from config.
For reusing common settings across torrents. See the Presets documentation for details.
string
Preset config file (default
~/.config/mkbrr/presets.yaml).Set custom path to presets.yaml. See the Presets documentation for details.
Torrent Internals
boolean
default:true
Make torrent private.
Private flag is enabled by default for tracker compliance. Only disable if you’re creating a public torrent.
boolean
default:false
Remove the private flag entirely.
boolean
default:false
Randomize the torrent’s info hash by adding or updating a unique, random
entropy key in the info dictionary before hashing.Cross-seeding is the practice of seeding the same content on multiple trackers. Using the entropy flag helps avoid conflicts between trackers.
boolean
default:false
Remove the
entropy key from the info dictionary. The info hash changes. If the torrent has no entropy key, mkbrr does not change the file. You cannot use this flag together with --entropy.Seeding & Metadata
array
Specify web seed URLs. Can be used multiple times.
Web seeds provide an HTTP fallback source for the torrent content, improving availability.
string
Specify the source string.
Some trackers require or recommend specific source tags. Check your tracker’s rules.
string
Specify a comment.
boolean
default:false
Omit the creation date from the torrent metadata.
If you do not use this flag,
modify sets the creation date to the current time only when another field changes.boolean
default:false
Omit the creator string from the torrent metadata.
Execution & Output Control
boolean
default:false
Be verbose.
boolean
default:false
Enable quiet mode. mkbrr prints only the path of each torrent file that it writes, and writes errors to stderr. Use it in scripts.
boolean
default:false
Leave out the filename prefix from the output filename. The filename prefix is the preset name when you give a preset. Otherwise, it is the domain of the first
--tracker URL, or modified when you give no --tracker. A preset skip_prefix: true also leaves it out.boolean
default:false
Show what would be modified without making changes.
Examples
- Basic Usage
- Advanced Usage
Update the tracker for a single torrent:Make multiple torrents public:
Outputs:
new-tracker_original.torrentOutputs:
modified_file1.torrent, modified_file2.torrent, etc.If no value changes,
modify writes no file and prints “no changes needed”. A value that the torrent already has is not a change. --dry-run uses the same rule.
