Skip to content

Accepts BitTorrent tracker requests over HTTP and converts them to DHT lookups.

License

Notifications You must be signed in to change notification settings

die-net/dhtproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dhtproxy Build Status Coverage Status Go Report Card

This is a proxy that accepts BitTorrent tracker announce requests over HTTP and converts them to mainline DHT lookups. This allows clients which are unable to use DHT to bootstrap some peers in a trackerless swarm, after which it can hopefully use PeX to find more.

Usage

  • Install Go and set up your $GOPATH.
  • go get github.com/die-net/dhtproxy
  • $GOPATH/bin/dhtproxy -listen=:6969
  • In your BitTorrent client, add a tracker of http://127.0.0.1:6969/announce for any torrents that you'd like to use dhtproxy.

Limitations

  • Is read-only from the DHT. It doesn't record "announce" information from its clients and share it with either the DHT or other clients of the dhtproxy. If too much of a swarm is behind dhtproxy, the nodes won't be able to find each other.
  • All DHT nodes are returned as having an incomplete copy of the torrent data, thus clients will show all DHT nodes as "peers" instead of "seeds". This is cosmetic-only; clients will still be able to use seeds normally when they connect to them.
  • Only supports the "compact" tracker protocol, and returns an error if a client tries to use the non-compact protocol. The non-compact protocol returns the peer_id for each peer, which is not available from the DHT.
  • Uses nictuku's DHT implementation whose API isn't well suited to this task. Consequently, dhtproxy may have trouble picking up new additions to the DHT for a particular infohash, and ends up using more memory than would be ideal. A temporary workaround is to restart dhtproxy occasionally.

About

Accepts BitTorrent tracker requests over HTTP and converts them to DHT lookups.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages