#bittorrent #p2p #torrent #peer-id

bin+lib rdest

rdest is simple BitTorrent client, currently supporting BEP3 specification

1 unstable release

0.1.0 May 2, 2021

#10 in #peer-id

MIT/Apache

3.5MB
4K SLoC

rdest

rdest is simple BitTorrent client, currently supporting BEP3 specification.

Examples

Running rdest from command line.

rdest get ubuntu-20.04.2.0-desktop-amd64.iso.torrent

Running rdest code.

use rdest::{Metainfo, Session};
use rdest::peer_id;
use std::path::Path;

#[tokio::main]
async fn main() {
    let path = Path::new("ubuntu-20.04.2.0-desktop-amd64.iso.torrent");
    let torrent_file = Metainfo::from_file(path).unwrap();

    let mut session = Session::new(torrent_file, peer_id::generate());
    session.run().await;
}

References


lib.rs:

Rust is simple BitTorrent client, currently supporting BEP3 specification.

Example

use rdest::{Metainfo, Session};
use std::path::Path;

let path = Path::new("ubuntu-20.04.2.0-desktop-amd64.iso.torrent");
let torrent_file = Metainfo::from_file(path).unwrap();
let peer_id = b"AAAAABBBBBCCCCCDDDDD";

let mut session = Session::new(torrent_file, *peer_id);
session.run().await;

Dependencies

~9–13MB
~250K SLoC