dayeya / RaBit

A BitTorrent Client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RaBit

A BitTorrent Client

Features

  • http and udp trackers + compact response support (BEP 3, BEP 7, BEP 15, BEP 23)
  • download a multi-file torrent using all strategies (BEP 3, BEP 20)
  • seeding
  • smart ban
  • canonical peer priority for seeding (BEP 40)
  • user interface
  • upnp port forwarding with randomization

Limitations

You won't be able to:

  • use protocol extensions
  • download many torrents at once (for now)
  • seed in ipv6
  • download / seed without an upnp-enabled router or from a double nat
  • download from magnet links (perhaps with an existing service api)
  • contribute to incoming connections during download (only to outgoing)

Usage (without UI)

Important

  1. to mitigate unexpected behavior, use python version 3.10
  2. install requirements with pip install -r requirements.txt
  3. rename module name in .idea/workspace.xml to RaBit
  4. run src/client/main.py from RaBit/ directory

About

A BitTorrent Client

License:MIT License


Languages

Language:Python 100.0%