dhtproxy

command module
v0.0.0-...-8bddafb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

README

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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL