Skip to content

A childish BitTorrent client written in Golang

Notifications You must be signed in to change notification settings

berylyvos/gorrent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gorrent

Features

  • Single-file torrent download
  • UDP & HTTP trackers
  • Uploading pieces
  • DHT, PeX and Magnet links

How it Works

  1. Peers discovery
    1. parse a .torrent file
    2. retrieve peers info(i.e. IP, port) from UDP/HTTP trackers
  2. Download from peers
    1. start a TCP connection
    2. complete BitTorrent peer protocol handshake
    3. exchange messages
      • interpreting different types of messages
      • manage concurrency & state
      • pipelining requests
    4. assemble data

References

About

A childish BitTorrent client written in Golang

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages