- HTTP and UDP tracker announces + compact response support (BEP 3, BEP 7, BEP 12, BEP 15, BEP 23)
- Download a multi-file torrent using all strategies (BEP 3, BEP 20)
- Download multiple torrents simultaneously
- Seeding + tracker updating in intervals
- Smart ban
- Location-based peer filtering
- Canonical peer priority for seeding (BEP 40)
- UPnP port forwarding with randomization
- User interface
- Compatible with Windows / Linux / macOS
You won't be able to:
- Use protocol extensions
- Seed in ipv6
- Download / seed without an upnp-enabled router or seed from a double nat
- Download from magnet links
- Contribute to incoming connections during download (only to outgoing)
And lastly, RaBit is a learning project and not for production, so keep that in mind ;)
Important
To mitigate unexpected behavior, use a python version equal or above 3.10
-
Go to
src
directory withcd RaBit/src
-
Install required libraries with
pip install -r requirements.txt
-
Run with GUI:
main.py
Run without GUI:
viewless.py
(with args: seed: bool, torrent_path: str, result_path: str, skip_hash_check: bool)
Running reset.py
can be helpful with a file-related problem.
Downloading Linux Debian iso:
debian_demo.mp4
Full screen in Windows:
Minimized screen in Windows:
Full screen in Kali-Linux:
Minimized screen in macOS: