Skip to content

PBH-BTN/trunker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Trunker

A Tracker which will "chuang" you

image

Introduction

A high-performance BitTorrent Tracker implemented in Go. Using Hertz from cloudwego, with observability.

For benchmark, please refer to the Benchmark section.

Official Instance

HTTPS https://tracker.ghostchu-services.top/announce
WebSocket (for WebTorrent Protocol) wss://tracker.ghostchu-services.top/announce
UDP udp://utracker.ghostchu-services.top:6969

How to run

make install_tool
make update_idl
./build.sh
cd output
./bootstrap.sh

or

docker run -d --name trunker -e ADMIN_KEY=aabbcc --cap-add=NET_ADMIN --network=host -p 8888:8888 gaojianli2333/trunker:latest

Features

  • 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

Wiki

Trunker provides much config and observability capabilities, if you want to run trunker in production, please see the Wiki.

Benchmark

Trunker has very strong performance. Here's a record of a real peak.

  • CPU: 4 Cores AMD EPYC-Milan
  • Average response time: 100us when 1267703 torrents and 2406393 peers are online.
  • QPS: 2736 (can be higher, but we don't have such many peers connect to our tracker)
  • Memory Cost: 2635MB.

image

image

Packages

No packages published

Contributors 3

  •  
  •  
  •