A Tracker which will "chuang" you
A high-performance BitTorrent Tracker implemented in Go. Using Hertz from cloudwego, with observability.
This tracker is hosted as https://btn-prod.ghostchu-services.top/announce
For benchmark, please refer to the Benchmark section.
./build.sh
cd output
./bootstrap.sh
or
docker run -d --name trunker -e ADMIN_KEY=aabbcc -p 8888:8888 gaojianli2333/trunker:latest
- BEP-0003
- BEP-0007 (IPv6 Tracker Extension)
- BEP-0023 (Compact Peer Lists)
- BEP-0024 (External IP)
- BEP-0031 (Failure Retry Extension)
- BEP-0048 (Scrape)
- LT-Extension (aka. complete,incomplete)
- Switchable Mode (Memory or MySQL)
- Load and store persist from disk
- Blacklist for info_hash and peer_id
- Eventbus support
Trunker provides much config and observability capabilities, if you want to run trunker in production, please see the Wiki.
Trunker has very strong performance. Here's a record of a real peak.
- CPU:
4 Cores AMD EPYC-Milan
- Average response time:
100us
when1267703
torrents and2406393
peers are online. - QPS:
2736
(can be higher, but we don't have such many peers connect to our tracker) - Memory Cost:
2635MB
.