Ocelot is a BitTorrent tracker written in C++ for the Gazelle project.
It supports requests over TCP and can only track IPv4 peers.
sudo apt-get install \
build-essential \
cmake \
default-libmysqlclient-dev \
libboost-iostreams-dev \
libboost-system-dev \
libev-dev \
libjemalloc-dev \
libmysql++-dev \
netcat-traditional \
pkg-config
cmake -Wno-dev . -B build
make -C build
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
Prepare the build environment. (This must be re-executed when new source files are added).
cmake -Wno-dev . -B build
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:
make -C build
-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.You can run a test ocelot daemon alongside a production daemon by specifying
a separate configuration file, and setting readonly = true
. This will
prevent the database peer tables from being reset.
SIGHUP
- Reload configSIGUSR1
- Reload torrent list, user list and client whitelist