Show HN: I wrote a BitTorrent Client from scratch
a year ago
- #P2P
- #BitTorrent
- #Go
- BitTorrent client implementation in Go supporting torrent file parsing, peer discovery, and file downloading
- Bencode encoding/decoding with support for all Bencode types (strings, integers, lists, dictionaries)
- Torrent file processing including parsing, info hash calculation, and piece hash extraction
- Peer discovery and communication with HTTP tracker support and BitTorrent message protocol
- Download functionality with piece and block management, concurrent downloads, and progress tracking
- Project structure includes cmd/, internal/, and pkg/ directories
- Requires Go 1.21 or later
- Future features: Magnet link support, metadata exchange protocol, DHT support