Skip to content

PBH-BTN/trunker

Repository files navigation

Trunker

A Tracker which will "chuang" you

image

Introduce

A BitTorrent Tracker implemented in Go. Using Hertz from cloudwego.

This tracker is hosted as https://btn-prod.ghostchu-services.top/announce

How to run

./build.sh
cd output
./bootstrap.sh

or

docker pull gaojianli2333/trunker:latest

Features

  • BEP-0003
  • BEP-0007
  • BEP-0023
  • BEP-0024
  • BEP-0031
  • BEP-0048
  • LT-Extension(complete,incomplete)
  • Full-Memory Mode
  • Load from Persist
  • MySQL Mode

Configuration

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.

Benchmark

CPU: 4 Cores ARM64 Oracle Cloud

Average response time: 600ms when 30K torrents and 27K peers are online.

QPS: 700~

Memory Cost: 348MB.

image

Releases

No releases published

Packages

No packages published

Languages