项目作者: alexchao26

项目描述 :
A BitTorrent client written in Go
高级语言: Go
项目地址: git://github.com/alexchao26/bittorrent.git
创建时间: 2021-04-26T01:20:04Z
项目社区:https://github.com/alexchao26/bittorrent

开源协议:MIT License

下载


BitTorrent client in Go

Initially based off of a blog post from Jesse Li to implement the [OG BitTorrent protocol][BEP0003].

Supports

  • Original Spec ([BEP0003][])
    • Multi-file .torrent files
    • Original and Compact Peer List formats ([BEP0023][])

TODO

  • Implement ‘endgame mode’ as described in [BEP0003][] for downloading the last few pieces
  • Seeding in OG .torrent protocol
  • Magnet links - might go w/ udp trackers
    • UDP Trackers ([BEP0015][])
      • can acquire a list of peers (ip & port) from a UDP tracker url
    • UDP Extensions ([BEP0041][])
    • Extension to download metadata from peers ([BEP0009][])
  • DHT
  • PEX
  • Fast Extension ([BEP0006][])
  • Announce list - i.e. Multitracker Metadata Extension ([BEP0012])
  • uTorrent Transport Protocol ([BEP0029][])
  • Some pretty terminal visual of pieces being downloaded?

[BEP0003]: http://bittorrent.org/beps/bep_0003.html ‘original bittorrent spec’
[BEP0015]: http://bittorrent.org/beps/bep_0015.html ‘UDP Trackers’
[BEP0009]: http://bittorrent.org/beps/bep_0009.html ‘Extension for Peers to Send Metadata Files’
[BEP0041]: http://bittorrent.org/beps/bep_0041.html ‘UDP Extensions’
[BEP0012]: http://bittorrent.org/beps/bep_0012.html ‘Multitracker Metadata Extension’
[nasa-torrents]: https://academictorrents.com/collection/nasa-datasets ‘Archives of NASA torrents’

[BEP0023]: http://bittorrent.org/beps/bep_0023.html ‘Compact Peer Lists’
[BEP0006]: http://bittorrent.org/beps/bep_0006.html ‘Fast Extension’
[BEP0029]: http://bittorrent.org/beps/bep_0029.html ‘uTorrent Transport Protocol’