Neon is a personal BitTorrent client that was made as a POC and to learn about network protocols and multithreading, all while learning the language Rust
Instructions to install Rust and Cargo can be found at: https://doc.rust-lang.org/cargo/getting-started/installation.html
After cloning the repo run
cargo build --release
in the directory and the binary can be found in target/release/neon
Try downloading Arch Linux
./neon archlinux-2020.04.01-x86_64.iso.torrent arch.iso
This video is slightly sped up
- Add code to upload to peers as well as download
- Multi-file torrents
- Magnet links
- DHT / UDP trackers
- Improve multithreading performance
- Instead of a thread for every peer, make the socket non-blocking and allocate a thread for every 5-6 peers
- Tracker reannounce
- Better error handling
- General code cleanup