XBT Tracker

Home

Overview

XBT Tracker is a BitTorrent tracker written in C++. It's designed to offer high performance while consuming little resources (CPU and RAM). It's a pure tracker, so it doesn't offer a frontend. You can use any (PHP) frontend you want.

XBT Tracker listens on port 2710. The announce URL is http://...:2710/announce. The debug URL is http://...:2710/debug. The scrape URL is http://...:2710/scrape. The statistics URL is http://...:2710/statistics. An experimental UDP tracker extension is also supported via announce URL udp://...:2710.


MySQL

The tracker stores stats in a MySQL database/table. Version >= 4.1 is required if you want to use per user stats (in the xbt_files_users and xbt_users tables). Otherwise, version >= 4 is sufficient. Create a database (xbt) and a user (xbt) with password for the tracker and use these in the next step. Create the tables defined in xbt_tracker.sql.

Installing under Windows

  1. Download XBT Tracker from http://sourceforge.net/project/showfiles.php?group_id=94951&package_id=113737.
  2. Run the executable.
  3. Update xbt_tracker.conf with the database, host, user and pass of your MySQL setup.

There are two ways to run the tracker under Windows (NT, 2000, XP and 2003). The first way is to run the tracker manually, like every other application. The second way is to run the tracker as service. The advantage of this way is that it also runs when no user is logged in.

  1. Open a command window (Start - Run - cmd).
  2. Run net start "XBT Tracker"

Starting under Windows

Just start the executable. An empty DOS window should appear.

Installing under Linux

Enter the following commands in a terminal. Replace the "database host user pass" line with details that apply to your setup.
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/xbtt co xbt/misc xbt/XBT\ Tracker
cd xbt/XBT\ Tracker/
chmod 755 make.sh
./make.sh
cat>xbt_tracker.conf
database host user pass table_prefix
<Ctrl+D>

Starting under Linux

Enter the following commands in a terminal.
./xbt_tracker

Stopping under Linux

Enter the following commands in a terminal.
kill `cat xbt_tracker.pid`

Configuration

The tracker reads it's configuration from the SQL table xbt_config.

name default value
announce_interval 1800
anonymous_connect 1
anonymous_announce 1
anonymous_scrape 1
auto_register 1
clean_up_interval 60
daemon 1
debug 0
gzip_announce 1
gzip_debug 1
gzip_scrape 1
listen_check 0
listen_ipa *
listen_port 2710
log_access 0
log_announce 0
log_scrape 0
pid_file xbt_tracker.pid
read_config_interval 300
read_db_interval 60
redirect_url
scrape_interval 0
table_announce_log xbt_announce_log
table_files xbt_files
table_files_updates xbt_files_updates
table_files_users xbt_files_users
table_ipas xbt_ipas
table_scrape_log xbt_scrape_log
table_users xbt_users
update_files_method 1
write_db_interval 60

Auto Register

If auto_register is on, the tracker will track any torrent. If it's off, the tracker will only track torrents (identified by info_hash) that are in the xbt_files table.

insert into xbt_files (info_hash, ctime) values ('<info_hash>', null); // insert
update xbt_files set flags = 1 where info_hash = '<info_hash>'; // delete

Anonymous Announce

If anonymous_announce is on, the tracker will serve any user. If it's off, the tracker will only serve users (identified by torrent_pass) that are in the xbt_users table.

The torrent_pass field in xbt_users contains the 32 char torrent_pass. The announce URL contains the same torrent_pass: /<torrent_pass>/announce


XBT project at SF Valid CSS! Valid HTML 4.01!