I'm looking for documentation about how the URL for HTTP Announce Request should be on private trackers.
Related: https://github.com/torrust/torrust-tracker/discussions/476#discussioncomment-7229133
I've seen these options:
- http://tracker:port/announce/key?param=value
- http://tracker:port/key/announce?params=value
- http://tracker:port/announce?param=value&key=KEY
- http://tracker:port/announce?param=value&passkey=KEY
I have not seen any BEP mentioning it.
BEP3 doesn't have many requirements for announce URLs because all it needs is to be able to add the specified query parameters, the path is irrelevant. Though BEP 48 adds the requirement that the path contains the substring "announce" so it can be replaced with "scrape".
This you should avoid. Some clients already add a randomized key to allow trackers to coalesce multiple announces arriving different ways (ipv4/ipv6, multi-homing etc.), it's quite similiar to the peer_id
This one I would recommend since it's unlikely to get broken by naive URL manipulation