A Tracker which will "chuang" you
A high-performance BitTorrent Tracker implemented in Go. Using Hertz from cloudwego, with observability.
For benchmark, please refer to the Benchmark section.
HTTPS https://tracker.ghostchu-services.top/announce
WebSocket (for WebTorrent Protocol) wss://tracker.ghostchu-services.top/announce
UDP udp://utracker.ghostchu-services.top:6969
make install_tool
make update_idl
./build.sh
cd output
./bootstrap.shor
docker run -d --name trunker -e ADMIN_KEY=aabbcc --cap-add=NET_ADMIN --network=host -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)
- BEP-0015 (UDP Tracker Protocol)
- 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
- Websocket support
- Prometheus based metrics
- RPC mode to support cluster. Powered by Kitex
- eBPF-based blacklist
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:
100uswhen1267703torrents and2406393peers are online. - QPS:
2736(can be higher, but we don't have such many peers connect to our tracker) - Memory Cost:
2635MB.


