A work-in-progress TypeScript BitTorrent client, written for educational purposes. It is intended to satisfy the BitTorrent Protocol Specification.
Writing a BitTorrent client is interesting because it teaches (amongst other things):
- Working with data at the level of bits, bytes and buffers
- TCP, including working with a simple protocol
- Concurrency
See the commit history for development notes.