A BitTorrent client implemented in Rust that allows you to interact with the BitTorrent protocol and download torrents.
This BitTorrent client is designed to provide a simple and functional implementation of the BitTorrent protocol. It supports downloading torrents and interacting with peers to exchange pieces of files.
log
crate for better debugging and tracing.bash
git clone https://github.com/ArloFilley/rusty_torrent.git
bash
cd rusty_torrent
bash
cargo build --release
To use the BitTorrent client, follow these steps:
bash
cargo run --release
bash
cargo run --release /path/to/your.torrent
Provide the path to download
bash
cargo run --release /path/to/your.torrent /path/to/downloads
Clap help message ``` A BitTorrent client implemented in Rust that allows you to interact with the BitTorrent protocol and download torrents.
Usage: rusty_torrent [OPTIONS] --torrent-file-path
Options:
-l, --log-file-path
-t, --torrent-file-path
-d, --download-path
-h, --help Print help
-V, --version Print version
```
The client will start downloading the torrent files and interacting with peers.
This BitTorrent client uses Rust's asynchronous programming features to manage connections with peers and perform file downloads. It employs the BitTorrent protocol's handshake and communication mechanisms to exchange pieces of data with other peers in the network. The client also verifies downloaded pieces using SHA-1 hashes provided by the torrent file.
Contributions are welcome! If you find any bugs or want to add new features, please feel free to open issues and pull requests on the GitHub repository.
This project is licensed under the MIT License.