Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does tracker server NOT understand my request? (Bittorrent protocol)

Tags:

c

bittorrent

I'm trying to implement Bittorent in C. First of all, before writing a code snippet, I tried to used a web browser to send the following message(URL) to the tracker server.

you may try this URL.

http://torrent.ubuntu.com:6969/announce?
info_hash=%9b%db%bbI%f0%85%a2%d1%5d%96%ac%fa%bf%f81%06%001O%e0
&peer_id=ABCDABCDABCDABCDABCD&port=6882&downloaded=0
&uploaded=0
&left=0
&event=started

I have downloaded the torrent file from this link which is named dapper-dvd-i386.iso and has 9bdbbb49f085a2d15d96acfabff8310600314fe0 as SHA-1 value.

However, after sending above request, I get

your client is outdated, please upgrade
(HTTP 400 bad request)

Why does tracker server NOT understand my reqeust? Any specs from Internet does not help me.
Any help would be awesome. Thank you in advance.

like image 556
inherithandle Avatar asked Jul 02 '13 05:07

inherithandle


People also ask

How do trackers work BitTorrent?

The "tracker" server keeps track of where file copies reside on peer machines, which ones are available at time of the client request, and helps coordinate efficient transmission and reassembly of the copied file.

What protocol does BitTorrent use?

Typically, BitTorrent uses TCP as its transport protocol for exchanging pieces, and it uses HTTP for tracker comms. The well known TCP port for BitTorrent traffic is 6881-6889 (and 6969 for the tracker port).

Who can send content to other user on the BitTorrent network?

Anyone who wants the file uses a program called a BitTorrent client to request it from a seed. The client is sent one of the pieces and gets all the remaining pieces, over a while, from other people's computers through P2P communication.

Is BitTorrent pure P2P?

Simply put, the BitTorrent protocol is a P2P file sharing protocol.


1 Answers

It is because the request string don't have compact=1 in it.
Most tracker require that nowadays. The legacy way is too ineffective.

See BEP 23: Tracker Returns Compact Peer Lists http://www.bittorrent.org/beps/bep_0023.html

Try:

http://torrent.ubuntu.com:6969/announce?
info_hash=%9b%db%bbI%f0%85%a2%d1%5d%96%ac%fa%bf%f81%06%001O%e0
&peer_id=ABCDABCDABCDABCDABCD&port=6882&downloaded=0
&uploaded=0
&left=0
&event=started
&compact=1

ie

http://torrent.ubuntu.com:6969/announce?info_hash=%9b%db%bbI%f0%85%a2%d1%5d%96%ac%fa%bf%f81%06%001O%e0&peer_id=ABCDABCDABCDABCDABCD&port=6882&downloaded=0&uploaded=0&left=0&event=started&compact=1

and the answer from the tracker is:

d8:completei4e10:incompletei0e8:intervali1800e5:peers6:******e
like image 154
Encombe Avatar answered Dec 01 '22 00:12

Encombe