Radiance is a BitTorrent tracker written in C++ for the Luminance project. It supports requests over TCP and can track both IPv4 and IPv6 peers in a dual-stack mixed swarm.
- GCC/G++ (4.7+ required; 4.8.1+ recommended)
- LLVM/clang++ (3.3+ required; 3.4+ recommended) (alternative to GCC/G++)
- Boost (1.55.0+ required)
- libev (required)
- MySQL++ (3.2.0+ required)
- jemalloc (optional, but highly recommended - preferred over tcmalloc)
- TCMalloc (optional)
Also required for debug builds:
- gperftools (CPU profiler bindings)
- Create the following tables:
options
torrents
users_freeleeches
users_slots
users_main
xbt_client_blacklist
xbt_files_users
xbt_peers_history
xbt_snatched
-
Edit
radiance.conf
to your liking. -
Build Radiance:
autoreconf -i
./configure
make
sudo make install
- On FreeBSD:
pkg update
pkg install autoconf automake autotools boost-libs clang35 gcc8 git gmake libev llvm35 mysql++-mysql56 google-perftools
git clone https://github.com/Empornium/Radiance.git
cd Radiance/ && autoreconf -i && ./configure --with-tcmalloc && make && make install
--with-jemalloc
is recommended
--with-tcmalloc
is a good alternative to jemalloc
--enable-debug
can help to find the source of crashes
Obs: Configure flags --with-jemalloc
and --enable-debug
doesn't work on FreeBSD, --with-jemalloc
work's since you have google-perftools installed.
-c <path/to/radiance.conf>
- Path to config file. If unspecified, the current working directory is used.-d
- Fork to the background and run as a service daemon.-v
- Print version string and exit.
SIGHUP
- Reload configSIGUSR1
- Reload torrent list, user list and client blacklist