Sharebox is a BitTorrent style file sharing application.
-
BitTorrent protocol
- Metainfo :
- Torrent file generator/updater
- Torrent file parser
- Encoder to encode the information into bencoding format
- Decoder to decode the bencoding format
- Centralized Discovery/tracker server
- Metainfo :
-
BitTorrent client application
- Connection establishment & handshakes
- Connection state
- Reading/Writing pieces from/into files
- Sending/Receiving data pieces
- Handling requests - Sending/Responding to requests
- Handling choke/unchoke messages
- Handling n connections simultaneously
- 'Rarest first' algorithm to prioritize rare peices
- Use Hashing to check data integrity
-
Develop a terminal UI to browse torrents
-
Develop a good suite of test cases
-
We have identified the following optional features which are good to have in the project in future :
- Decentralized tracker
- Explore latest technologies to retreive torrent files such as IPFS
- Explore if there is a modern way to get peer information.
- Add more features to UI including download speed, number of live seeders/leechers etc.
- Alberto : adelgadocabrera
- Anchit : anchitbhatia