A Tracker which will "chuang" you
A BitTorrent Tracker implemented in Go. Using Hertz from cloudwego.
This tracker is hosted as https://btn-prod.ghostchu-services.top/announce
./build.sh
cd output
./bootstrap.sh
or
docker pull gaojianli2333/trunker:latest
- BEP-0003
- BEP-0007
- BEP-0023
- BEP-0024
- BEP-0031
- BEP-0048
- LT-Extension(complete,incomplete)
- Full-Memory Mode
- Load from Persist
- MySQL Mode
Name | Description | Default |
---|---|---|
ttl | The time of a peer announce next time. | 3600s |
invervalTask | The interval of the task to clean the expired peers. | 600s |
useDB | Use the database to store the data. (currently no usable) | false |
enablePersist | Save the peers to the disk and load them while launching. | true |
maxPeersPerTorrent | The max number of peers per torrent. | 100 |
shard | The number of shards. More shards will improve response time, by cost more memory. | 16 |
useUnixSocket | Use Unix Socket instead tcp | false |
hostPorts | The host and port of the server, For unix socket mode, this is the file name of the sock file. | 127.0.0.1:8888 |
useAnnounceIP | Allow peer to announce its IP in the query string. | true |
enableEventProducer | Send peer event to the mq. Caution: This will produce tons of message. | false |
JSON config is also supported with env TRUNKER_CONFIG
.
CPU: 4 Cores ARM64 Oracle Cloud
Average response time: 600ms when 30K torrents and 27K peers are online.
QPS: 700~
Memory Cost: 348MB.