empornium / radiance Goto Github PK
View Code? Open in Web Editor NEWHigh-Performance BitTorrent Tracker written in C++
License: Other
High-Performance BitTorrent Tracker written in C++
License: Other
I have created the nginx conf for luminance inside of /etc/nginx/sites-availabe aptly named luminance. My question is will I also need a second conf file for radiance to connect via SSL on its own separate port? I did check but there doesn't seem to be an SSL Nginx conf example for Radiance. Would you be so kind as to post an example?
Thank you
I really don't want to be running the tracker on the same server as Luminance (looks nice btw) and I'm struggling a little bit in setting up an nginx conf for the tracker. Would you guys be so kind as to post an example for an nginx tracker conf?
Cheers,
Jamie
Is there a option to recover a MySQL connection, in case it crashes or is down ?
Like that it builds a cache in memory or in a file or something, and when MySQL returns, burst updating all changes ?
$ make
make all-recursive
Making all in src
CXX logger.o
In file included from logger.cpp:16:
In file included from /usr/local/include/boost/log/support/date_time.hpp:29:
In file included from /usr/local/include/boost/date_time/local_time/local_time_types.hpp:11:
In file included from /usr/local/include/boost/date_time/local_time/local_date_time.hpp:18:
In file included from /usr/local/include/boost/date_time/posix_time/posix_time.hpp:24:
In file included from /usr/local/include/boost/date_time/posix_time/time_formatters.hpp:12:
In file included from /usr/local/include/boost/date_time/gregorian/gregorian.hpp:31:
In file included from /usr/local/include/boost/date_time/gregorian/gregorian_io.hpp:16:
In file included from /usr/local/include/boost/date_time/date_facet.hpp:25:
In file included from /usr/local/include/boost/date_time/date_generator_parser.hpp:20:
In file included from /usr/local/include/boost/date_time/format_date_parser.hpp:17:
/usr/local/include/boost/date_time/special_values_parser.hpp:105:17: fatal error:
expected parameter declarator
static bool likely(const string_type& str)
^
./radiance.h:4:42: note: expanded from macro 'likely'
#define likely(x) __builtin_expect(!!(x), 1)
^
1 error generated.
*** Error code 1
Stop.
make[2]: stopped in /usr/home/empornium/Radiance/src
*** Error code 1
Stop.
make[1]: stopped in /usr/home/empornium/Radiance
*** Error code 1
Stop.
make: stopped in /usr/home/empornium/Radiance
Would you be interested in being hired and making the necessary edits to Radiance for it to work with Gazelle?
Greetings Gazelle fork maintainer,
Transmission works superbly well on each trackers, but few days ago, I stumbled on a tracker based on your fork, and hell arose : "Could not connect to tracker" on any Transmission based clients.
For occasional users, it wouldn't be a problem, for people with hundreds of terabytes of data to migrate, this is not acceptable to expect one to migration to more ressources hungry clients.
Maybe you could approach some tracker admins for logs (if it is something that would be logged server side) ? I assume you don't miss contacts of few people using your fork, but if my assumption is wrong I will ask some to contact you directly.
Could you please explain how to configure Radiance to support both IPv4 and IPv6?
What I mean: at first it looks like that IPv6 works by default. But then I found some strange issues with the resolution of client's IP address.
As I understand it, to support both IPv4 and IPv6 I need to change listen_host
to ::
instead of default 0.0.0.0
. And after this Radiance will listen for :::2710
, which is like 0.0.0.0:2710
, but for IPv6.
Then I read a bit of the codebase:
Lines 98 to 106 in 602c347
IPPROTO_IPV6
(and not multiple sockets, like one for IPv4 and one for IPv6).::ffff:123.123.123.123
), right?Then Radiance will handle this connection:
Lines 267 to 278 in 602c347
char ip[INET_ADDRSTRLEN];
means that ip
will be allocated with 16 bytes, which is enough for IPv4 address (like 123.123.123.123
). But this is not enough to store any IPv6 address (< 46 bytes), and this variable must be initialized as
char ip[INET6_ADDRSTRLEN];
I tried that change and tried to connect with IPv4 address to this dual-stack enabled socket and received something like ::ffff:123.123.123.123
. Then this address was passed to worker
as a plain IPv6 address. But instead it must be somehow converted back to 123.123.123.123
.
And finally when the server is listening :::2710
, it does not work correctly with IPv4 nor IPv6.
Or am I missing something?
Hello,
I hhave an issue with peers updates, here is a part from radiance.log. Tried to reinstall, no errors during compile, added database schema from this repo but no success. Any ideas what cand I do? Thanks
[2024-08-13 20:45:00] [trace] MySQL connection release called
[2024-08-13 20:45:00] [trace] MySQL connection released: 2 (1)
[2024-08-13 20:45:00] [trace] MySQL connection release called
[2024-08-13 20:45:00] [trace] MySQL connection released: 2 (0)
[2024-08-13 20:45:00] [trace] Connecting to DB to flush peer queue
[2024-08-13 20:45:00] [trace] MySQL connection grab called
[2024-08-13 20:45:00] [trace] MySQL connection issued: 2 (0)
[2024-08-13 20:45:00] [error] Query error: Field 'active' doesn't have a default value in flush peer queue with a queue size: 4
[2024-08-13 20:45:00] [trace] MySQL connection release called
[2024-08-13 20:45:00] [trace] MySQL connection released: 2 (1)
[2024-08-13 20:45:03] [trace] Peer flush queue size: 4, next query length: 249
[2024-08-13 20:45:05] [trace] MySQL connection release called
[2024-08-13 20:45:05] [trace] MySQL connection released: 2 (0)
[2024-08-13 20:45:05] [trace] Connecting to DB to flush peer queue
[2024-08-13 20:45:05] [trace] MySQL connection grab called
[2024-08-13 20:45:05] [trace] MySQL connection issued: 2 (0)
[2024-08-13 20:45:05] [error] Query error: Field 'active' doesn't have a default value in flush peer queue with a queue size: 4
[2024-08-13 20:45:05] [trace] MySQL connection release called
[2024-08-13 20:45:05] [trace] MySQL connection released: 2 (1)
[2024-08-13 20:45:06] [trace] Peer flush queue size: 4, next query length: 249
[2024-08-13 20:45:09] [trace] Peer flush queue size: 4, next query length: 249
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking how to run the C++ preprocessor... g++ -E
checking for libev library location... /usr/lib/x86_64-linux-gnu
checking for libev include path... /usr/include
checking that we can build libev programs... yes
checking for MySQL library directory... /usr/lib/x86_64-linux-gnu
checking for MySQL include directory... /usr/include/mysql
checking if we can link to MySQL C API library directly... yes
checking for MySQL++ library location... no
configure: error: Didn't find the MySQL++ library dir in '/usr/local/mysql++/lib64 /usr/local/mysql++/lib /usr/local/lib64/mysql++ /usr/local/lib/mysql++ /opt/mysql++/lib64 /opt/mysql++/lib /usr/lib64/mysql++ /usr/lib/mysql++ /usr/local/lib64 /usr/local/lib /usr/lib64 /usr/lib'
hogy tudom kideríteni hogy hol van a mysql++ library mappa?
Hello
I am getting following error when compiling. Pls help me out in resolving same.
make
(CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /root/Radiance/missing autoheader)
rm -f stamp-h1
touch config.h.in
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make all-recursive
make[1]: Entering directory/root/Radiance' Making all in src make[2]: Entering directory
/root/Radiance/src'
CXX config.o
CXX logger.o
CXX db.o
CXX events.o
CXX misc_functions.o
CXX radiance.o
CXX report.o
CXX response.o
CXX debug.o
CXX domain.o
CXX schedule.o
CXX site_comm.o
CXX user.o
CXX worker.o
CXXLD radiance
response.o: In functionresponse(std::string const&, client_opts_t&, unsigned short)': /usr/local/include/boost/iostreams/filter/zlib.hpp:122: undefined reference to
boost::iostreams::zlib::default_compression'
/usr/local/include/boost/iostreams/filter/zlib.hpp:122: undefined reference toboost::iostreams::zlib::deflated' /usr/local/include/boost/iostreams/filter/zlib.hpp:122: undefined reference to
boost::iostreams::zlib::default_strategy'
response.o: In functionboost::iostreams::detail::zlib_compressor_impl<std::allocator<char> >::~zlib_compressor_impl()': /usr/local/include/boost/iostreams/filter/zlib.hpp:339: undefined reference to
boost::iostreams::detail::zlib_base::reset(bool, bool)'
/usr/local/include/boost/iostreams/filter/zlib.hpp:339: undefined reference toboost::iostreams::detail::zlib_base::~zlib_base()' response.o: In function
boost::iostreams::basic_gzip_compressor<std::allocator >::basic_gzip_compressor(boost::iostreams::gzip_params const&, long)':
/usr/local/include/boost/iostreams/filter/zlib.hpp:334: undefined reference toboost::iostreams::detail::zlib_base::zlib_base()' /usr/local/include/boost/iostreams/filter/zlib.hpp:185: undefined reference to
boost::iostreams::detail::zlib_base::do_init(boost::iostreams::zlib_params const&, bool, void* ()(void, unsigned int, unsigned int), void ()(void, void*), void*)'
response.o: In functionboost::iostreams::basic_gzip_compressor<std::allocator<char> >::basic_gzip_compressor(boost::iostreams::gzip_params const&, long)': /usr/local/include/boost/iostreams/filter/gzip.hpp:671: undefined reference to
boost::iostreams::zlib::best_compression'
/usr/local/include/boost/iostreams/filter/gzip.hpp:671: undefined reference toboost::iostreams::zlib::best_speed' response.o: In function
boost::iostreams::basic_gzip_compressor<std::allocator >::basic_gzip_compressor(boost::iostreams::gzip_params const&, long)':
/usr/local/include/boost/iostreams/filter/zlib.hpp:334: undefined reference toboost::iostreams::detail::zlib_base::~zlib_base()' response.o: In function
boost::iostreams::detail::zlib_compressor_impl<std::allocator >::filter(char const*&, char const*, char*&, char*, bool)':
/usr/local/include/boost/iostreams/filter/zlib.hpp:346: undefined reference toboost::iostreams::detail::zlib_base::before(char const*&, char const*, char*&, char*)' /usr/local/include/boost/iostreams/filter/zlib.hpp:347: undefined reference to
boost::iostreams::zlib::finish'
/usr/local/include/boost/iostreams/filter/zlib.hpp:347: undefined reference toboost::iostreams::zlib::no_flush' /usr/local/include/boost/iostreams/filter/zlib.hpp:347: undefined reference to
boost::iostreams::detail::zlib_base::xdeflate(int)'
/usr/local/include/boost/iostreams/filter/zlib.hpp:348: undefined reference toboost::iostreams::detail::zlib_base::after(char const*&, char*&, bool)' /usr/local/include/boost/iostreams/filter/zlib.hpp:349: undefined reference to
boost::iostreams::zlib_error::check(int)'
/usr/local/include/boost/iostreams/filter/zlib.hpp:350: undefined reference toboost::iostreams::zlib::stream_end' response.o: In function
boost::iostreams::detail::zlib_compressor_impl<std::allocator >::close()':
/usr/local/include/boost/iostreams/filter/zlib.hpp:354: undefined reference toboost::iostreams::detail::zlib_base::reset(bool, bool)' collect2: error: ld returned 1 exit status make[2]: *** [radiance] Error 1 make[2]: Leaving directory
/root/Radiance/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/Radiance'
make: *** [all] Error 2
I am having an issue where my client, Download Station, on my Synology NAS won't work with this tracker. I have no issues with other trackers and if I use a different client it works. Download Station is transmission so it's strange that it will not work. The error I get is "Could not connect to tracker".
tetraspace@test:/Radiance$ radiance/Radiance$
radiance: error while loading shared libraries: libboost_iostreams.so.1.68.0: cannot open shared object file: No such file or directory
tetraspace@test:
i have checked and my file is in /usr/local/lib
so how do i fix this problem
as it see all the boost file and no error on compile
thanks
Hello
I want to inquire if I have already reported such an error message to someone else?
Is there a solution?
IMAGE:
https://i.postimg.cc/L8wXRbmD/N-vtelen.png
GCC/G++ (4.7+ required; 4.8.1+ recommended) if i install this one can I safely ignore the LLVM/clang++ (3.3+ required; 3.4+ recommended) (alternative to GCC/G++) or would you suggest installing them both?
How about Boost (1.55.0+ required) because Centos 7 only supports 1.53.0-27.el7 can that version be used too?
i installed it nicely everything doesn't even want to run down i took pictures
https://i.postimg.cc/Kjg7pqgs/106909649-735911050570283-1100814688321995348-n.png
https://i.postimg.cc/NMbTJhM4/106919804-704717230320875-6637277341079062251-n.png
https://i.postimg.cc/gJG8HcYj/106998688-899939433822969-7801147134841280803-n.png
https://i.postimg.cc/6QrCZ4xF/107096894-612779469344973-1947740014965803983-n.png
https://i.postimg.cc/fyLd1HSh/107454176-378316313143606-7665398597650717458-n.png
What could be the problem?
Ubuntu 20.04 LTS, compiling Radiance with jemalloc, currently default Radiance.conf except "syslog_path = off" and "syslog_level" = trace.
Whenever either the torrent or peer flush queue start, Radiance spikes to 100% CPU usage and remains there indefinitely. I'm not sure whether this is correct behavior or not, but the queue size continues to grow. Never shrinks, or never resets.
So far, attempted:
Radiance is not behind NGINX, SQL_mode ="", and Luminance's scheduler is running without errors.
Any recommends on how to further troubleshoot this?
Thank you for your time.
kufirc@kufirc:$ sudo /usr/sbin/radiance -c /etc/radiance.conf
[sudo] password for kufirc:
double free or corruption (!prev)
Aborted
kufirc@kufirc:$
this will print then shut down what is it about?
another problem arises :)
The IP address is not included in the xbt_file_users table
https://i.postimg.cc/Y97KDzMg/N-vtelen.png
Hi.
Can you please update repository description like this "High-Performance BitTorrent Tracker"?
Because, in this page "https://github.com/search?l=C%2B%2B&p=1&q=BitTorrent+tracker&type=Repositories" Radiance doesn't exist.
Hello
i am looking for someone to customize Radiance as per my XBT as my custom XBT is not properly codded by my coder as it keep crashing any moment and make tracker much unstable.
https://github.com/XFDev-v2/XenForo-1.5.x-Torrent-Tracker/tree/master/xbt
This is my custom XBT codded for and xenforo 1.5.x based forum software.
if anyone willing to help and do, please contact me or share me your contact details.
Thanks
When running MAKE
In file included from logger.cpp:4:
radiance.h:4:42: error: expected identifier before ‘!’ token
#define likely(x) __builtin_expect(!!(x), 1)
^
Debian 9 Stretch
PHP 7.0
define BOOST_LIB_VERSION "1_62"
I have everything working apart from Radiance at the moment. Any idea here, please?
logger.o: In function `void boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>::construct<boost::parameter::aux::empty_arg_list>(boost::parameter::aux::empty_arg_list const&)':
/usr/local/include/boost/log/sinks/text_ostream_backend.hpp:145: undefined reference to `boost::log::v2_mt_posix::sinks::basic_text_ostream_backend<char>::construct(boost::log::v2_mt_posix::sinks::auto_newline_mode, bool)'
logger.o: In function `boost::thread_specific_ptr<boost::log::v2_mt_posix::sinks::basic_formatting_sink_frontend<char>::formatting_context>::~thread_specific_ptr()':
/usr/local/include/boost/thread/tss.hpp:61: undefined reference to `boost::detail::set_tss_data(void const*, void (*)(void (*)(void*), void*), void (*)(void*), void*, bool)'
logger.o: In function `void boost::log::v2_mt_posix::sinks::text_file_backend::construct<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::log::v2_mt_posix::keywords::tag::file_name, boost::parameter::aux::tagged_argument_rref<boost::log::v2_mt_posix::keywords::tag::file_name, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2_mt_posix::keywords::tag::min_free_space, boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::min_free_space, int const>, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2_mt_posix::keywords::tag::open_mode, boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::open_mode, std::_Ios_Openmode const>, std::integral_constant<bool, true> > > >(boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::log::v2_mt_posix::keywords::tag::file_name, boost::parameter::aux::tagged_argument_rref<boost::log::v2_mt_posix::keywords::tag::file_name, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2_mt_posix::keywords::tag::min_free_space, boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::min_free_space, int const>, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::log::v2_mt_posix::keywords::tag::open_mode, boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::open_mode, std::_Ios_Openmode const>, std::integral_constant<bool, true> > > const&)':
/usr/local/include/boost/log/sinks/text_file_backend.hpp:575: undefined reference to `boost::log::v2_mt_posix::sinks::text_file_backend::construct(boost::filesystem::path const&, boost::filesystem::path const&, std::_Ios_Openmode, unsigned long, boost::log::v2_mt_posix::aux::light_function<bool ()> const&, boost::log::v2_mt_posix::sinks::auto_newline_mode, bool, bool)'
logger.o: In function `std::basic_ostream<char, std::char_traits<char> >& boost::log::v2_mt_posix::trivial::operator<< <char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, boost::log::v2_mt_posix::trivial::severity_level)':
/usr/local/include/boost/log/trivial.hpp:71: undefined reference to `char const* boost::log::v2_mt_posix::trivial::to_string<char>(boost::log::v2_mt_posix::trivial::severity_level)'
logger.o: In function `boost::thread_specific_ptr<boost::log::v2_mt_posix::sinks::basic_formatting_sink_frontend<char>::formatting_context>::reset(boost::log::v2_mt_posix::sinks::basic_formatting_sink_frontend<char>::formatting_context*)':
/usr/local/include/boost/thread/tss.hpp:87: undefined reference to `boost::detail::set_tss_data(void const*, void (*)(void (*)(void*), void*), void (*)(void*), void*, bool)'
/usr/local/include/boost/thread/tss.hpp:87: undefined reference to `boost::detail::set_tss_data(void const*, void (*)(void (*)(void*), void*), void (*)(void*), void*, bool)'
/usr/local/include/boost/thread/tss.hpp:87: undefined reference to `boost::detail::set_tss_data(void const*, void (*)(void (*)(void*), void*), void (*)(void*), void*, bool)'
/usr/local/include/boost/thread/tss.hpp:87: undefined reference to `boost::detail::set_tss_data(void const*, void (*)(void (*)(void*), void*), void (*)(void*), void*, bool)'
collect2: error: ld returned 1 exit status
Makefile:402: recipe for target 'radiance' failed
make[2]: *** [radiance] Error 1
make[2]: Leaving directory '/var/www/Radiance/src'
Makefile:401: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/www/Radiance'
Makefile:342: recipe for target 'all' failed
make: *** [all] Error 2
image
https://i.postimg.cc/nhRwv94R/107798060-1193082167718094-2097565578840814399-n.png
what is the default value??
torrents table GroupID int
torrents table not update torrent... seed/leech last action stb...
I tried out your version compared to Ocelot.
Sadly, when I opened the flood, your software went up to 100% CPU usage.
When I switch back to Ocelot it's back to normal (6% CPU usage).
Something goes wrong on your software.
When I do a normal request using curl, it loads, but when I open the connectivity from outside, it will be getting like a DDoS and is unreachable.
When I start radiance I get
"Query error in load_users: Table 'gazelle.users' doesn't exist" and then it attempts to start the event loop and nothing happens. When I go to the get tracker information page it says "Failed to get tracker info" and also when you try running radiance -c with the path to the config nothing happens at all. Any help would be appreciated, thanks!
Also for the radiance config I am using the tracker secret from settings.ini for report / site pass, is this correct? I cannot find anywhere else in the settings config where you would define separate keys?
Hallo i get this error when i try to make on Ubuntu 16.04
PHP: 7.0.32
Mysql: 5.7.23
MySQL++: libmysql++-dev from the ubuntu lib (https://launchpad.net/ubuntu/+source/mysql%2B%2B)
root@:~/Radiance# make
make all-recursive
make[1]: Entering directory '/root/Radiance'
Making all in src
make[2]: Entering directory '/root/Radiance/src'
CXXLD radiance
/usr/bin/x86_64-linux-gnu-ld: cannot find -lprofiler
collect2: error: ld returned 1 exit status
Makefile:402: recipe for target 'radiance' failed
make[2]: *** [radiance] Error 1
make[2]: Leaving directory '/root/Radiance/src'
Makefile:401: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/root/Radiance'
Makefile:342: recipe for target 'all' failed
make: *** [all] Error 2
root@:~/Radiance#
Hope you can help :)
Hello. I'm with a community that is currently running Ocelot.
From looking at it, it appears like the inner workings are based on ocelot. Is it?
I have intentions to replace ocelot with Radiance (this tracker).
Besides the new tables, is this tracker compatible with ocelots data?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.