mirror of
https://github.com/OPSnet/Ocelot.git
synced 2026-01-16 18:04:19 -05:00
b248a4c766681ce569e5fc539d8a42020617372a
Ocelot
Ocelot is a BitTorrent tracker written in C++ for the Gazelle project. It supports requests over TCP and can only track IPv4 peers.
Ocelot Compile-time Dependencies
- 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)
Installation
Debian Stretch
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
docker build . -t ocelot
docker run -v $(pwd)/ocelot.conf:/srv/ocelot.conf ocelot
Standalone Installation
- Create the following tables according to the Gazelle database schema:
torrentstorrents_leech_statsusers_freeleechesusers_leech_statsusers_mainxbt_client_whitelistxbt_files_usersxbt_snatched
-
Edit
ocelot.confto your liking. -
Build Ocelot:
mkdir build cd build cmake .. make
Running Ocelot
Run-time options:
-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.
Signals
SIGHUP- Reload configSIGUSR1- Reload torrent list, user list and client whitelist
Description
Languages
C++
96.4%
CMake
2%
C
1.4%
Dockerfile
0.2%