Bittorrent client in rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
git clone git@github.com:ayem1412/tafukt.git
cd tafukt
cargo run- BEP-3: The BitTorrent Protocol Specification
- BEP-5: DHT Protocol
- BEP-7: IPv6 Tracker Extension
- BEP-9: Extension for Peers to Send Metadata Files
- BEP-10: Extension Protocol
- BEP-11: Peer Exchange (PEX)
- BEP-12: Multitracker Metadata Extension
- BEP-14: Local service discovery
- BEP-15: UDP Tracker Protocol
- BEP-20: Peer ID Conventions
- BEP-23: Tracker Returns Compact Peer Lists
- BEP-27: Private Torrents
- BEP-29: uTorrent Transport Protocol
- BEP-32: IPv6 extension for DHT
- BEP-47: Padding files and extended file attributes
- BEP-53: Magnet URI extension - Select specific file indices for download
Specifications:
https://www.bittorrent.org/beps/bep_0000.html
https://en.wikipedia.org/wiki/Torrent_file
Thanks to these sources for the inspiration:
https://github.com/denis-selimovic/bencode
https://www.nayuki.io/res/bittorrent-bencode-format-tools/bencode.rs
https://codeberg.org/benjamingeer/sayaca
https://blog.jse.li/posts/torrent/
