Commit Graph

44 Commits (ab9246618b1d369cdba1140135dedb8affc5485e)

Author SHA1 Message Date
erdgeist 41019c79d8 Introducing multiscrape
erdgeist daf79f694d After studying opentracker live data, I decided to radically reduce default allocation for vectors and making it grow faster instead: Most pools only had one or two peers, wasting 8*15 or 8*14 bytes.
erdgeist b8b1493127 Increase check interval for timeouted sockets to 10 seconds. That may prevent some disrupted scrapes.
erdgeist be117f96a2 Increase send timeout. Also use an own variable for that.
erdgeist 6c1adb8fc8 since gettimeofday is rather expansive, we do only fetch time once in a 5 second period, when we are delivered a SIGALRM.
erdgeist 4c15dc7a70 make 64bit safe
erdgeist c350fa0b3c New stats for s24s code, this is debug, do not use in real world
erdgeist 33c9c530d0 An announce with event=stopped now returns correct number of leechers and seeders. In TCP and UDP.
erdgeist 3e47339b6c Added whitelisting to reimplement the WANT_CLOSED_TRACKER functionality
erdgeist afe966b644 some subnet stats... still ugly and untested.
erdgeist c0b00c0bf5 * fixed "nobody " -> "nobody" fuckup when getpwnam-ing
* implemented basic blacklisting:
** the file specified with -b <BLACKLIST> is read and added to a blacklist vector
** if an announce hits a torrent in that blacklist vector, add_peer_to_torrent fails
** sending a SIGHUP to the program forces it to reread the blacklists
** the server returns with a 500, which is not exactly nice but does the job for now
** an adaequat "failure reason:" should be delivered... TODO
erdgeist 33774078ab Added inbound part of sync. This also meant to remove the black/whitelisting as we did by now. A more scalable way to blacklist will follow.
erdgeist b38104b986 Added outbound part of sync Proposed format: d4:syncd20:<info_hash>8*N:(xxxxyy)*Nee, therefore had to refactor torrent cleanup now that it will hit all torrents once every OT_POOL_TIMEOUT units.
denis 8ac7768b96 support for udp scrape
denis 5bb381e20a new modes for udp4 and tcp4 stats
erdgeist 0a90216686 udp is working in theory, return_peers_for_torrent accepts a switch to request an udp answer. Fixed prototypes.
denis 153b5de835 increased the interval random variation
denis 929d375b97 make the interval with random an average value around the real value and not additional
erdgeist 7ab634b6f6 Make timeouts more human readable
erdgeist 401d0759ab Wasted too much space for minimum element count. Now minimum elements in vektor is 16, it grows and shrinks by a factor of 4 and a shrinking hysteresis of a factor of 5
erdgeist f9c49e9759 el cheapo vector debugging
erdgeist 05f0d651cb On linux time.h must be included to use time()
erdgeist c094695add account downloaded before early returns
erdgeist 05420c40e5 Introduce another unspec'd command: sync which syncs the most recent peer pool for a torrent out. Do some variable type clean up. Do some code structure clean up.
erdgeist dffea5da69 return random check back intervals to our clients
erdgeist 5f7c044b54 Full scrape, kinda tested
erdgeist 908649af98 From now the OT_CLIENT_TIMEOUT will be enforced, even if some data arrived inside this interval
erdgeist c16330df6a Simple top5 by peers/seeders table
erdgeist ade8268970 Rudimentary stats
erdgeist 805e46450c Documentation improved, some reindenting (again), variable types checked, unnecessary defines removed
erdgeist c89cfaad5e Be more helpful
erdgeist 2aa03492a5 added closed tracker and blacklist code
erdgeist cdf2fbabed README\!
erdgeist 33eaf54da7 simplified binary_search, it always does a memcmp. began to implement dump knowledge
erdgeist e0a9c2a4aa Added option to get ip from query string + parser, fixed two bugs concerning grow/shrink of vectors. Now cleans up a torrent BEFORE trying to remove a peer -> this may remove peer already and must be done anyway.
erdgeist ed0edcaae8 Fix port again ;) Include headers in Makefile dependencies
erdgeist b9efc8e22b fixed setport fuckup
erdgeist 82b4df6751 Make code endianess save
erdgeist 688a4edd9e Now actually seems to work for the most parts
Added scraping
Added graceful disconnect
erdgeist d7c26dc71b Trackerlogic done... not tested yet
erdgeist 31c20c515d This is a complete rewrite... assume nothing works.
erdgeist 62a9b02532 Should work now *cough* *cough*
erdgeist 1c1fd9fe4a Started to implement glue
erdgeist e31f00dac1 Every cool project needs at least one header file