Crate hightorrent
source ·Expand description
HighTorrent is a library which contains high-level data structures and functions to interact with Bittorrent v1 and v2 torrents. HighTorrent does not aim to be featureful, but rather to be super easy to use and interoperate with more advanced torrent software, and completely impossible to misuse.
Note that HighTorrent is not a networked library. It will not provide any utilities for querying the DHT and/or downloading torrents. HighTorrent is much lower in the stack.
HighTorrent provides utilities to extract name and hash from torrents/magnets, using the
MagnetLink
and TorrentFile
structures, but could provide more advanced utilities in the future (PRs welcome). Additionally, it provides the Torrent
struct and the
IntoTorrent
trait representing fully-loaded torrents ; those helpers are intended to be used by more diverse torrenting libraries to provide interoperability out-of-the-box.
Finally, the SingleTarget
and
MultiTarget
structures represent one or more torrents you wish to
interact with. The contained stringy value is ambiguous, and can represent either a precise
InfoHash
or a libtorrent-compatible TorrentID
(truncated hash).
Structs
Torrent
, with querying/filtering capabilities.Peersource
.Enums
InfoHash
.MagnetLink
.TorrentList
, returning multiple entries.Tracker
or a decentralized source.TorrentFile
.Tracker
.Tracker
.Traits
Torrent
.SingleTarget
. Fails if the value doesn’t look like a
InfoHash
.Tracker
.