21 lines
No EOL
1.3 KiB
Text
21 lines
No EOL
1.3 KiB
Text
The purpose of retracker is to be tracker and an announce proxy at the same time.
|
|
|
|
retracker shall expose it's internal tracker cache as standalone tracker,
|
|
implementing HTTP and UDP announces. Available for non-proxied peers, serving as regular tracker.
|
|
|
|
Then, server another HTTP and UDP endpoints as announce proxy. Local peer requesting announce
|
|
to proxied tracker shall be matched by announce URL and tracker key (if there is), or another identifier
|
|
like peer_id. Proxy endpoint is available only for requests that match forementioned tracker key.
|
|
When request is made to proxy endpoint and it matches key - re-announce to destination trackers should be made and
|
|
on successful peer list retrieval - local tracker cache updated. If not, peers from cache should be returned.
|
|
|
|
On re-announce to destination trackers, proxied peer's real IP must be injected into announce request and
|
|
other parameters should remain same as in original request.
|
|
|
|
Whether retracker exposes its cache as tracker or not, the local tracker data shall be present all time.
|
|
When there is need to expose local tracker a tracker endpoint should be declare in config. Tracker endpoint
|
|
is HTTP or UDP server responsing to BitTorrent announces just like if it was any other regular torrent tracker.
|
|
|
|
|
|
Maven exec with args:
|
|
mvn exec:java -Dexec.args='' |