2 KiB
Peer-ID
Transmission's peer-ids follow Azureus' style with code TR
. Peer-id prefix is -TR????-
, where ????
are four bytes encoding the client's version. Client version encoding changed over the client's history.
Current scheme
Starting from version 3.00, peer-ids are formatted -TRXYZR-
where X
, Y
, Z
are base62 major, minor, patch version numbers, and R
is one of 0
(stable release), B
(beta release), or Z
(dev build). For example:
-TR40aZ-
— 4.0.36 Dev-TR400B-
— 4.0.0 Beta-TR4A00-
— 4.11.0
The suffix scheme was changed after 3.00 for consistency with other clients.
0.80 up to 3.00
From version 0.80 up to 3.00, Transmission's peer-ids were formatted -TRXYYR-
, where X
was one base10 digit for the major version and YY
were two base10 digits for the minor version. R
was a suffix denoting a stable release (0
), nightly build (Z
), or prerelease beta (X
). For example:
-TR133Z-
— Nightly build between 1.33 and 1.34-TR133X-
— 1.34 Beta-TR1330-
— 1.33
Rationale at the time: this differentiates between official and unofficial releases in a way which is easy for trackers to detect with simple string comparison. An official release (-TR1330-
) is lexicographically smaller than its post-release unsupported versions (-TR133Z-
and -TR133X-
), which in turn are lexicographically smaller than the next official release (-TR1340-
).
Before 0.80
Before 0.80, Transmission used two base10 digits for the major version and two base10 digits for the minor version. For example:
-TR0072-
— 0.72-TR0006-
— 0.6
User-Agent
Its User-Agent header follows a similar format, plus the VCS revision in parentheses:
- Transmission/1.30X (6416) — Beta release leading up to version 1.30
- Transmission/1.32 (6455) — Official 1.32 release
- Transmission/1.32+ (6499) — Nightly build between 1.32 and 1.33