[bittorrent] Azureus DHT
torrent at blinkenlights.ch
Tue Dec 12 16:23:14 EST 2006
> In general, are there any kind of documentation for Azureus DHT,
> PeerExchange and other protocol extensions?
http://www.azureuswiki.com/index.php/Main_Page has some (little)
Whireshark (Ethereal) does also understand Azureus extensions.
AFAIK the whole thing works like this:
#1: Both clients do a BT-Handshake
#2: If both clients set Extensions-Bit #1 (..thanks a bunch) they'll start
doing an AZ_HANDSHAKE that looks like this:
Total-Message length (4bytes)
Message-Type length (4 bytes)
Message type (string)
Priority (1 byte)
Bencoded Dict (string: total_len-4-type_len-1)
-> supported extensions are promoted
via the bencoded part (eg. messages->AZ_PEER_EXCHANGE)
Use wireshark yourself and you'll get an idea how it works.
PeerExchange should be easy to implement.
Azureus DHT shouldn't be a big problem either (Kademlia based)
The most annoying part is that you are supposed to talk
'Azureus-Style-BT' after doing an AZ_HANDSHAKE.
To be honest: I wouldn't bother implementing Azureus-Extensions:
has been implemented by many clients (ut_pex) and mainline-dht does
also work fine.
More information about the BitTorrent