trunker

command module
v0.0.0-...-1afe7ff Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2025 License: BSD-3-Clause Imports: 25 Imported by: 0

README

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 -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

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

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL