The 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.

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 strips all non-standard metadata during the process to ensure clean output.

Arguments

torrent files...
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

--tracker, -t
string

Set a new tracker URL (replaces existing).

--output-dir
string

Output directory for modified files.

--output, -o
string

Custom output filename (without extension).

When modifying multiple torrents, using --output with a fixed filename will cause subsequent files to overwrite the previous ones. Use --output-dir instead for batch modifications to preserve all modified files with unique names.

Advanced Input (Presets)

--preset, -P
string

Use preset from config.

For reusing common settings across torrents. See the Presets documentation for details.

--preset-file
string

Preset config file (default ~/.config/mkbrr/presets.yaml).

Set custom path to presets.yaml. See the Presets documentation for details.

Torrent Internals

--private, -p
boolean
default:true

Make torrent private.

Private flag is enabled by default for tracker compliance. Only disable if you’re creating a public torrent.

--entropy, -e
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.

--entropy, -e
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.

Seeding & Metadata

--web-seed, -w
array

Specify web seed URLs. Can be used multiple times.

Web seeds provide an HTTP fallback source for the torrent content, improving availability.

--source, -s
string

Specify the source string.

Some trackers require or recommend specific source tags. Check your tracker’s rules.

--comment, -c
string

Specify a comment.

--no-date, -d
boolean
default:false

Omit the creation date from the torrent metadata.

If omitted, the creation date is updated to the current time during modification.
--no-creator
boolean
default:false

Omit the creator string from the torrent metadata.

Execution & Output Control

--verbose, -v
boolean
default:false

Be verbose.

--quiet
boolean
default:false

Enable quiet mode, printing only the final torrent file path upon success. Useful for scripts.

--dry-run, -n
boolean
default:false

Show what would be modified without making changes.

Examples

Update the tracker for a single torrent:

mkbrr modify original.torrent --tracker https://new-tracker.com/announce
Outputs: new-tracker_original.torrent

Make multiple torrents public:

mkbrr modify *.torrent --private=false
Outputs: modified_file1.torrent, modified_file2.torrent, etc.
mkbrr modify [torrent files...] [flags]

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 strips all non-standard metadata during the process to ensure clean output.