예제 #1
0
파일: test.py 프로젝트: liaosiwei/dhtfck
def dhtcrawler(selfaddr, bootaddr, bootinfo):
    MAX_WORKING_TIME = 60*10
    dht = DHT(host=selfaddr[0], port=selfaddr[1])
    dht.start()
    dht.bootstrap(bootaddr[0], bootaddr[1])
    dht.ht.add_hash(bootinfo)
    time.sleep(MAX_WORKING_TIME)
    dht.stop()
    return
예제 #2
0
	def get_peers(self, magnet, iterations=5):
		dht = DHT(host='0.0.0.0', port=0)
		dht.start()
	   	dht.bootstrap('router.bittorrent.com', 6881)
		dht.ht.add_hash(magnet.decode("hex"))
		result = []
		for count in xrange(iterations):
			peers = dht.ht.get_hash_peers(magnet.decode("hex"))
			for peer in peers:
				result.append((peer))
			time.sleep(3)
		dht.stop()
		return [p[0] for p in list(set(result))]
예제 #3
0
파일: test.py 프로젝트: usedev/dhtfck
    logging.getLogger("btdht").addHandler(stdout_handler)

    logger = logging.getLogger(__name__)
    logger.setLevel(loglevel)
    logger.addHandler(stdout_handler)

    # Start DHT Node no port 60000
    dht = DHT(host='0.0.0.0', port=60000)
    dht.start()

    # Boostrap it
    dht.bootstrap('router.bittorrent.com', 6881)

    # Find me peers for that torrent hashes
    dht.ht.add_hash("746385fe32b268d513d068f22c53c46d2eb34a5c".decode("hex"))
    #dht.ht.add_hash("c90db98c5aabe64dcd7f730d816e755242fffbd4".decode("hex"))
    #dht.ht.add_hash("a961bc2b93a2304880f919e304424a14400ba8a2".decode("hex"))

    for count in xrange(10):
        logger.info("DHT Nodes found: %d" % (dht.rt.count()))
        logger.info("Bad DHT nodes found: %d" % (dht.rt.bad_count()))
        logger.info("Total peers found: %d" % (dht.ht.count_all_peers()))

        # How many peers at this moment?
        peers = dht.ht.get_hash_peers("746385fe32b268d513d068f22c53c46d2eb34a5c".decode("hex"))
        for peer in peers:
            logger.info("Found peer: %s:%d" % (peer))
        time.sleep(3)
    dht.stop()

예제 #4
0
logger.setLevel(loglevel)
logger.addHandler(stdout_handler)

if __name__ == "__main__":

    # Start DHT Node on port 60000
    dht = DHT(host='0.0.0.0', port=60000)
    dht.start()

    # Boostrap it
    dht.bootstrap('router.bittorrent.com', 6881)

    # Find me peers for that torrent hashes
    dht.ht.add_hash(current_magnet)
    res = []
    for count in xrange(10):
        logger.info("DHT Nodes found: %d" % (dht.rt.count()))
        logger.info("Bad DHT nodes found: %d" % (dht.rt.bad_count()))
        logger.info("Total peers found: %d" % (dht.ht.count_all_peers()))

        # How many peers at this moment?
        peers = dht.ht.get_hash_peers(current_magnet)
        for peer in peers:
            res.append((peer))
            logger.info("Found peer: %s:%d" % (peer))

        time.sleep(3)
    logger.info("Found peers (total): %d" % (len(res)))
    logger.info("Found peers (uniq): %d" % (len(set(res))))
    dht.stop()