Ocelot is a BitTorrent tracker written in C++ for the Gazelle project. It supports requests over TCP and can only track IPv4 peers.
- GCC/G++ (4.7+ required; 4.8.1+ recommended)
- Boost (1.55.0+ required)
- libev (required)
- spdlog (required)
- MySQL++ (3.2.0+ required)
- jemalloc (optional, but strongly recommended)
- TCMalloc (optional)
sudo apt-get install \
build-essential \
cmake \
default-libmysqlclient-dev \
libboost-iostreams-dev \
libboost-system-dev \
libev-dev \
libjemalloc-dev \
libmysql++-dev \
pkg-config
mkdir build
cd build
cmake ..
make
The Gazelle installation guides include instructions for installing Ocelot as a part of the Gazelle project.
docker build . -t ocelot
docker run -v $(pwd)/ocelot.conf:/srv/ocelot.conf ocelot
- Create the following tables according to the Gazelle database schema:
torrents
torrents_leech_stats
users_freeleeches
users_leech_stats
users_main
xbt_client_whitelist
xbt_files_users
xbt_snatched
-
Edit
ocelot.conf
to your liking. -
Build Ocelot:
mkdir build cd build cmake .. make
-c <path/to/ocelot.conf>
- Path to config file. If unspecified, the current working directory is used.-v
- Print queue status every time a flush is initiated.
SIGHUP
- Reload configSIGUSR1
- Reload torrent list, user list and client whitelist