Tiny-Libtorrent is a project for studying Bittorrent Protocol. It implements the most part of Bittorrent Protocol in C and can be used in limited environment like embeded systems.
Generally, the project can be run in all C environments but the recommended ways are different. If you are a Linux/BSD user, compiling with the GCC toolchain is a better choice. If you are a Windows user, you can use Visual Studio 2022 to compile the project.
If you are using GCC, run mkdir build && make
in the root directory. If you are a Windows user, double click .sln
file to open the
project and run it in x64
mode.
In Linux or BSD, you can simply run the following command in shell then it will download the content in torrent_filename
.
tiny-libtorrent torrent_filename
Otherwise in Windows, you can run this command.
tiny-libtorrent.exe torrent_filename
The torrent_filename must be a .torrent
file.
The project does not support the following features:
- Multi-files torrent
- Magnet link
- Uploading (Seeding)
- Resume from breakpoint
- Coroutine (In progress)
- NAT traversal
- SSL/TLS protocol
- The Bittorrent Protocol implementation in GO
- The Bittorrent Protocol Specification
- The Libtorrent Project
- ChatGPT (the most gratefull)