Skip to main content

A DHT crawler framework using asyncio.

Project description

A DHT crawler framework using asyncio.


from maga import Maga

import logging

class Crawler(Maga):
    async def handler(self, infohash, addr):

# Or, if you want to have more control

class Crawler(Maga):
    async def handle_get_peers(self, infohash, addr):
            "Receive get peers message from DHT {}. Infohash: {}.".format(
                addr, infohash

    async def handle_announce_peer(self, infohash, addr, peer_addr):
            "Receive announce peer message from DHT {}. Infohash: {}. Peer address:{}".format(
                addr, infohash, peer_addr

crawler = Crawler()
# Set port to 0 will use a random available port


Version 3.0.0

  • Add peer_addr param to handle_announce_peer method.

  • Don’t raise NotImplementedError on handler

Version 2.0.1

  • Don’t fail when signals are not implemented.( #3 )

Version 2.0.0

  • Add handle_get_peers, handle_announce_peer method.

  • Add addr param to handler

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions (7.2 kB view hashes)

Uploaded source

Maga-3.0.0.tar.gz (4.4 kB view hashes)

Uploaded source

Built Distribution

Maga-3.0.0-py2.py3-none-any.whl (4.9 kB view hashes)

Uploaded 3 5

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page