Skip to content

mdiflorio/torrenter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Torrenter

The goal of this project is to have command line GUI torrent application. My inspiration for the project is the idea of having a simple torrent application that doesn't spam you with ads and remains in the terminal. As torrents are something I use all the time, I thought it would be cool to understand how the protocol works at the lowest level and learn Rust along the way.

There are a bunch of things that can be optimised and need improving. If you happen to see anything that could be done better in terms of design or simply Rust code I'd love to hear from you.

Things that need to be done

  • Get downloads working with multiple peers and concurrency.
  • Add the ability to download multiple files in a torrent.
  • Check the hash of each piece before writing to the file.
  • Add the ability to pause downloads and save download state.
  • Reorganise the code for a more OOP approach.
  • Add tests
  • Setup a listener for seeding to peers.
  • Improve error handling and add retries for the tracker.
  • Update tracker regularly and update list of peers.
  • Add NAT traversal to access peers behind NAT.
  • GUI for the terminal.

About

A Rust CLI torrent client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages