I was going to post some new videos this weekend, but I have to postpone that because a visitor used a poorly written download accelerator to download all the videos from my site and ate up all my monthly bandwidth.

What do I mean by “poorly written”? What a download accelerator does is to request a file in several parts by asking the server for a range of bytes in the file. It does this so that it can download the file with several simultaneous connections. For example, if the application wants to download the file in 1MB chunks it will request 0..1MB, 1..2MB, 2..3MB, etc. until it has downloaded the entire file. That’s how it’s supposed to work. A crappy download accelerator, on the other hand, requests the bytes from where it wants to start reading, but doesn’t specify where it intends to stop reading. It will just request the rest of the file and drop the connection after 1MB. So for a file that’s 25MB that’s downloaded in 1MB parts (0..25MB, 1..25MB, 2..25MB, etc.) will show up as 325MB requested data in the logs.

In combination with a web host  that bases bandwidth consumption on requested data for partial content downloads, this means that my monthly bandwidth will run out quickly.

It should be possible to configure the web server to log the actual bytes sent. We’ll see what comes first: a fix from my web host or my blocking download accelerators once and for all.

For the time being, please don’t use download accelerators when you download content from this site.