Skip to content

torrust/torrust-bittorrent

 
 

Repository files navigation

Torrust BitTorrent coverage_wf_b testing_wf_b

Torrust BitTorrent Logo

A collection of packages that can support the building of applications using BitTorrent technologies.

This repository is a fork of GGist's project: bip-rs.

In this fork we have:

  • Reorganized the crate collection into a cargo workspace packages. (#6)
  • Switched to relative dependencies between packages. (#6)
  • Modernized the code to compile with the current version of rust. (#6, #7)
  • Implemented continuous integration using github workflows. (#8)
  • Update some of the project dependencies. (#9, #17, #26, #27)
  • Preformed a general cleanup of the codebase. (#10, #16, #18, #29, #31)
  • Updated all dependencies to modern versions. ( #19, #20, #21, #22, #23, #25)
  • Removed the utracker package (superseded by torrust-tracker for UDP tracker support). (#53, #70)

The future goals are:

  • Publish updated versions of the crates. (#37)
  • Increase coverage of unit tests. (#38)
  • Overhaul the old mio architecture in the dht package. Making better use of Tokio. (#54)

We would like to make a special thanks to all the developers who had contributed to and created this great project.


Crates

We have not published any crates from this repository yet. Before publishing, we need to complete the ongoing refactoring work and settle on a crate naming convention (see #64). The leading candidates for the prefix are torrust- (e.g. torrust-bencode) and torrust-bittorrent- (e.g. torrust-bittorrent-bencode). See #37 for the publishing milestone.

The current (working) crate names, subject to renaming before publication:

Crate Description
bencode Parsing and converting bencoded data
dht Bittorrent Mainline Distributed Hash Table
disk FileSystem interface for managing torrent pieces on disk
handshake Trait and implementation for the standard BitTorrent handshake
magnet Parsing and constructing magnet links
metainfo Parsing and building bittorrent metainfo (.torrent) files
peer Communication with bittorrent peers via the peer wire protocol
select Piece selection algorithm
util Shared utilities used across packages

Original crates published by GGist

Note: These crates have not been updated since mid-2018.

The original crates were published under the bip_ prefix, short for BitTorrent Infrastructure Project (the former name of this project).

b_bip_bencode b_bip_disk b_bip_handshake b_bip_peer b_bip_select b_bip_dht b_bip_metainfo b_bip_utracker

License

Please note: The license of this repository has been changed!

Apache-2.0 and/or MIT → (only) Apache-2.0

If this is a particular issue for your project, please open an issue.
The primary motivation that it has some software-patent protections.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 License, shall licensed as above, without any additional terms or conditions.

About

BitTorrent Infrastructure Project

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%