Skip to main content
mkbrr automatically detects tracker requirements based on the announce URL and applies the appropriate rules to ensure your torrents are compliant.

How it Works

When creating a torrent, mkbrr compares the provided tracker URL against an internal list of configurations. If a match is found, it applies the corresponding rules:

Piece Length

Enforces maximum piece size limits specific to each tracker (e.g., 16 MiB, 8 MiB).

Size Ranges

Selects optimal piece sizes based on content size using tracker-specific guidelines. Trackers with custom ranges can use piece sizes from 16 KiB to 128 MiB.

File Size

Ensures the .torrent file stays within tracker size limits by adjusting piece length.
Tracker rules set the limits for the -l and -m flags:
  • If a -l value is outside the bounds of the tracker, mkbrr stops with an error.
  • If a -m value is above the maximum of the tracker, mkbrr stops with an error. If you also give -l, mkbrr does not compare -m with the tracker maximum.
  • If a -l value is inside the bounds, mkbrr uses it. When the value is different from the recommendation of the tracker, mkbrr shows a warning only in verbose (-v) mode.
  • If the tracker has a maximum .torrent size, mkbrr increases the piece length until the .torrent file fits. This also changes a -l value. If the file does not fit at the largest piece length, mkbrr stops with an error.

Default piece sizes

If the tracker URL does not match a known tracker and you do not give -l or --target-piece-count, mkbrr selects the piece size from the total size of the content: Each range includes its upper limit. For example, content of exactly 1 GiB gets 512 KiB pieces. By default, the automatic piece size is not more than 16 MiB. Thus content of more than 16 GiB gets 16 MiB pieces. To use the last three rows, set -m to a higher value, for example -m 27 for 128 MiB. To see the piece size for your content before you create the torrent, run mkbrr create with --plan.

Implemented Trackers

Below is a list of implemented trackers and their specific requirements:
The tracker rules are maintained in the mkbrr source code. Contributions to keep rules updated are welcome via pull requests.