#bittorrent #bittorrent-client #torrent-client

app xerus

A command-line BitTorrent client, written in Rust

6 releases (3 breaking)

0.4.0 Mar 25, 2026
0.3.1 Dec 14, 2025
0.2.0 Dec 13, 2025
0.1.1 Dec 30, 2023
0.1.0 Nov 21, 2020

#1359 in Network programming

MIT license

115KB
1.5K SLoC

xerus

Build Status Crates.io License: MIT

A command-line BitTorrent client, written in Rust.

Usage

A command-line BitTorrent client, written in Rust.

Usage: xerus [OPTIONS] <TORRENT>

Arguments:
  <TORRENT>  Path to torrent file or magnet link

Options:
  -o, --output <OUTPUT>  Output filename (defaults to name from torrent)
  -h, --help             Print help
  -V, --version          Print version

Example

Try to download an official Debian ISO image:

$> xerus debian-13.2.0-amd64-netinst.iso.torrent
Downloading "debian-13.2.0-amd64-netinst.iso" (3136 pieces)
Saved in "debian-13.2.0-amd64-netinst.iso".

And verify the checksum matches that expected from the checksum file:

$> sha512sum -c SHA512SUM | grep debian-13.2.0-amd64-netinst.iso
debian-13.2.0-amd64-netinst.iso: OK

Download from a magnet link:

$> xerus "$(cat big-buck-bunny.magnet)"
Fetching metadata from 32 peers...
Metadata received (21307 bytes)
Downloading "Big Buck Bunny" (1055 pieces)
Saved in "Big Buck Bunny".

Installation

cargo install xerus

From source

cargo install --path .

Uninstallation

cargo uninstall xerus

Debug

Run with the environment variable set:

$> RUST_LOG=trace xerus <torrent>

Documentation

Learn more here: https://docs.rs/xerus.

License

Xerus is distributed under the terms of the MIT License.

Dependencies

~44MB
~1M SLoC