Jump to content

Improved lazy bitfield


Recommended Posts

The lazy bitfield option worked great for a while, but now my ISP (Cox) is now able to detect it and kill connections when I seed. I took a look at the way lazy bitfield works in v1.2.2, and it looks like it always sets the first and last 8 pieces to 0 in the bitfield, resulting in a bitfield that looks like:


Maybe it would be possible to improve this by adding the following options:

1) Randomize the location of the missing pieces.

2) Allow the amount of missing pieces to be configured (e.g. 5% of the total piece count).

3) Delay some amount of time before sending the HAVE messages, and maybe even avoid sending all the HAVE messages at once (I'm not sure if this is important, probably just the first 2 are good enough for now).

I haven't tried these things so I don't know for sure if it will work, but it seems like it would be harder to detect someone seeding this way. I am aware it will result in more overhead, but it's better than not being able to seed :).

Link to comment
Share on other sites

If their limiter works on any torrent, I doubt simple randomizing will help. The bitfield size varies on torrent piece size, which means their limiting box is parsing the peer headers correctly and limiting on that fact.

Right now they are just closing connections to peers when trying to seed. I haven't seen any speed limiting yet.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...