opentracker – An open and free bittorrent tracker
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
erdgeist d42bf5a031 ** struct ot_workstruct gets ritcher (and will become even ritcher soon).
This is where we encapsulate all per-request data from peer to hash to peer_id, so that it is
available everywhere without passing hundreds of pointers down the stack. Most functions that
do work down the stack now accept an ot_workstruct and some flags. So it can end up in the
stats/event-handler where it will be the default parameter in the future.

** peer_id is now being copied by default and moved to ot_workstruct
So it is available in stats and subsequent functions.

** sync scrape madness is gone
SYNC_SCRAPE was intended to sync tracker state that would normally be lost on restarts i.e.
downloaded counts per torrent. The way was to push it in the tracker cloud after finding all
neighbouring trackers.
This is madness. It never was tested and can be done per tracker by fetching
stats/mode=statedump from time to time and starting opentracker with the -l option later.

** livesync thread has its own ot_workstruct now
So it can behave like ot_udp and ot_http against trackerlogic.c and get rid of the first half
of the embarrassing global variables. The sending half will be fixed soon [tm].

** stats can log completed events
The author recognizes the needs of original content distributors to keep track of the amount
of times a work has been downloaded. While not feasible and used on openbittorrent and other
open and anonymous tracker installations, a tracker user can now choose to send those events
to syslog.
15 years ago
opentracker.xcodeproj Update project to use 10.6 CLang by default. 15 years ago
tests The BIG refactoring [tm]. Too many changes to count them. If it doesn't suite you, revert to last version. 16 years ago
Makefile Get rid of SYNC_SCRAPE madness. It's overkill and no one uses it. 15 years ago
README Move stats out of opentracker.c, also have an own file handle udp requests. 17 years ago
README_v6 v6 works since january 15 years ago
opentracker.c Make opentracker's user runtime configurable. Also add more debug output to aid finding problems. 15 years ago
opentracker.conf.sample Make opentracker's user runtime configurable. Also add more debug output to aid finding problems. 15 years ago
ot_accesslist.c Introducing the concept of vectors of nets into opentracker 15 years ago
ot_accesslist.h Introducing the concept of vectors of nets into opentracker 15 years ago
ot_clean.c Formatting 16 years ago
ot_clean.h The BIG refactoring [tm]. Too many changes to count them. If it doesn't suite you, revert to last version. 16 years ago
ot_fullscrape.c Fix white spaces 16 years ago
ot_fullscrape.h Add comments, rename our struct http_data h to cookie, all clientsockets to sock, all size_t from socket_recvs to byte_count. Make signal handler set default handler for the second SIGINT 16 years ago
ot_http.c ** struct ot_workstruct gets ritcher (and will become even ritcher soon). 15 years ago
ot_http.h Make header parsing more efficient, prepare multithreading and keep-alive. 15 years ago
ot_iovec.c Formatting 16 years ago
ot_iovec.h The BIG refactoring [tm]. Too many changes to count them. If it doesn't suite you, revert to last version. 16 years ago
ot_livesync.c ** struct ot_workstruct gets ritcher (and will become even ritcher soon). 15 years ago
ot_livesync.h ** struct ot_workstruct gets ritcher (and will become even ritcher soon). 15 years ago
ot_mutex.c Remove unnecessary =NULL initialization of static pointers. 16 years ago
ot_mutex.h Add spotting woodpeckers, thanks to Vasya P. again 15 years ago
ot_stats.c ** struct ot_workstruct gets ritcher (and will become even ritcher soon). 15 years ago
ot_stats.h Add spotting woodpeckers, thanks to Vasya P. again 15 years ago
ot_sync.c Whitespace fixes 16 years ago
ot_sync.h Whitespace fixes 16 years ago
ot_udp.c ** struct ot_workstruct gets ritcher (and will become even ritcher soon). 15 years ago
ot_udp.h V6 16 years ago
ot_vector.c Nicer formatting for value-- 15 years ago
ot_vector.h The BIG refactoring [tm]. Too many changes to count them. If it doesn't suite you, revert to last version. 16 years ago
proxy.c Should not report sync scrape packets in stderr 15 years ago
scan_urlencoded_query.c Lot of Gehacktes around this keyword scanner. Don't return a match if string to compare is shorter than key from table. 16 years ago
scan_urlencoded_query.h V6 16 years ago
sync_daemon.pl Gimmi Beer! 18 years ago
trackerlogic.c ** struct ot_workstruct gets ritcher (and will become even ritcher soon). 15 years ago
trackerlogic.h ** struct ot_workstruct gets ritcher (and will become even ritcher soon). 15 years ago

README

This is opentracker. An open bittorrent tracker.

You need libowfat (http://www.fefe.de/libowfat/).

Steps to go:

cvs -d :pserver:cvs@cvs.fefe.de:/cvs -z9 co libowfat
cd libowfat
make
cd ..
cvs -d:pserver:anoncvs@cvs.erdgeist.org:/home/cvsroot co opentracker
cd opentracker
make
./opentracker

This tracker is open in a sense that everyone announcing a torrent is welcome to do so and will be informed about anyone else announcing the same torrent. Unless
-DWANT_IP_FROM_QUERY_STRING is enabled (which is meant for debugging purposes only), only source IPs are accepted. The tracker implements a minimal set of
essential features only but was able respond to far more than 10000 requests per second on a Sun Fire 2200 M2 (thats where we found no more clients able to fire
more of our testsuite.sh script).

Some tweaks you may want to try under FreeBSD:

sysctl kern.ipc.somaxconn=1024
sysctl kern.ipc.nmbclusters=32768
sysctl net.inet.tcp.msl=10000
sysctl kern.maxfiles=10240

License information:

Although the libowfat library is under GPL, Felix von Leitner aggreed that the compiled binary may be distributed under the same beer ware license as the source code for opentracker. However, we like to hear from happy customers.