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.
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.