A pure golang implementation of BitTorrent library, which is inspired by dht and torrent.
$ go get -u github.com/xgfone/go-bt
- Support
Go1.11+
. - Support IPv4/IPv6.
- Multi-BEPs implementation.
- Pure Go implementation without
CGO
. - Only library without any denpendencies. For the command tools, see bttools.
- BEP 03: The BitTorrent Protocol Specification
- BEP 05: DHT Protocol
- BEP 06: Fast Extension
- BEP 07: IPv6 Tracker Extension
- BEP 09: Extension for Peers to Send Metadata Files
- BEP 10: Extension Protocol
- BEP 11: Peer Exchange (PEX)
- BEP 12: Multitracker Metadata Extension
- BEP 15: UDP Tracker Protocol for BitTorrent
- BEP 19: WebSeed - HTTP/FTP Seeding (GetRight style) (Only
url-list
in metainfo) - BEP 23: Tracker Returns Compact Peer Lists
- BEP 32: IPv6 extension for DHT
- BEP 33: DHT scrape
- BEP 41: UDP Tracker Protocol Extensions
- BEP 43: Read-only DHT Nodes
- BEP 44: Storing arbitrary data in the DHT
- BEP 48: Tracker Protocol Extension: Scrape