tnt is a simple console torrent client.
mkdir build
cd build
cmake ..
maketnt [OPTION...] torrent_file
-h, --help Print usage
-q, --quiet Minimal output
-o, --out arg Output directory (working directory by default)- Self-written bencode decoding/encoding library and torrent file parser.
cpris used for communicating with HTTP trackers.- Endgame mode is implemented.
- Multifile torrents are supported.
- Accept parameters from input args
- Save downloaded pieces to disk
- Don't download already saved parts of file (load saved data)
- Implement endgame mode
- Reconnect to peers after spontaneous disconnect
- Keep track of peers pieces availabilty
- Add more command line options (like timeouts or announce override)
- Rework piece downloading strategy
- Add support for multifile torrents.
- Move console graphics logic to separate classes
- Move piece acquiring logic to separate class?
- Add support for UDP trackers?
