项目作者: OPSnet

项目描述 :
高级语言: C++
项目地址: git://github.com/OPSnet/Ocelot.git
创建时间: 2017-10-30T15:58:20Z
项目社区:https://github.com/OPSnet/Ocelot

开源协议:Other

下载


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

Installation

Debian Bookworm

  1. sudo apt-get install \
  2. build-essential \
  3. cmake \
  4. default-libmysqlclient-dev \
  5. libboost-iostreams-dev \
  6. libboost-system-dev \
  7. libev-dev \
  8. libjemalloc-dev \
  9. libmysql++-dev \
  10. netcat-traditional \
  11. pkg-config
  12. cmake -Wno-dev . -B build
  13. make -C build

The Gazelle installation guides include instructions for installing Ocelot as a part of the Gazelle project.

Docker

  1. docker build . -t ocelot
  2. docker run -v $(pwd)/ocelot.conf:/srv/ocelot.conf ocelot

Standalone Installation

  • Prepare the build environment. (This must be re-executed when new source files are added).

    1. 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:

    1. make -C build

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.

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.

Signals

  • SIGHUP - Reload config
  • SIGUSR1 - Reload torrent list, user list and client whitelist