[bittorrent] BT proxy
justin at street-vision.com
Tue Apr 12 11:26:38 EDT 2005
On Tue, 2005-04-12 at 16:26 +0100, Andrew Brampton wrote:
> I believe there was a commercial product that claims BitTorrent proxying
> It was a transparent proxy that would watch all BitTorrent connection. It
> would identify them as BitTorrent by either port inspection (ie 6881-) or by
> packet inspection (I believe its trivial to watch the first 20 bytes for
> "BitTorrent Protocol").
This is very simple. But you have to proxy all TCP connections if you
dont rely on port numbers, which is a bit gross.
> Once it is watching a connection it will associate that TCP Flow with the
> Torrent's hash (which it saw in a first packets). Then every time it sees a
> piece message it would keep a copy of the data inside. Now next time another
> client is transparently connected to the same BitTorrent swarm the proxy can
> intercept all outgoing request packets and return the piece itself (as long
> as it already has it cached).
Aside from the problem that if the first piece that is seen has an
incorrect checksum you are completely screwed, which is a problem. Also
you need to know a lot of protocol, so you can send extra pings etc if
you are not communicating for a while. I suppose you can get over the
checksum thing by doing a rerequest if the same client asks for the same
block again. Its slightly hard as you dont have the torrent yourself to
> This concept is very similar to a web proxy except in this case the BT Proxy
> is doing anything transparently, and never actually making any requests to
> the outside world.
> I believe the commercial product that does this was aimed at ISPs that
> wanted to cache P2P traffic inside their own network to save themselves
> external bills.
> The idea is sound, and would be a nice Open Source project that university
> campus or business networks etc could use.
I will write you one if you pay me. Its not a project that is likely to
spring up from nowhere as most of us dont have our own ISPs or
As to whether this is a better solution than a proxying client as per
your previous email, they both have advantages and disadvantages, I
think some combination would probably work out best - will have a think
More information about the BitTorrent