BitTorrent C Library / News: Recent posts

LibBT 1.06 in tree on main trunk

The experimental work that was being done on the top of the tree for release 2 of LibBT has been stalled for more than a year, so I have moved the version 1 branch back onto the main trunk.

Anyone who was previously working with the v1_0 branch tag is encouraged to move back to the main trunk as well.

Posted by Kevin Smathers 2007-09-19

LibBT-1.05 Released

The new 1.05 release of LibBT is now available. This release fixes two bugs that were causing frequent core dumps. It also fixes a logic error that was dropping certain connections randomly.

Version 1.05 now explicitly lists the LGPL license for all files that are part of the LibBT library, and GPL for the sample clients.

Posted by Kevin Smathers 2005-12-10

LibBT 1.03 Fixes Errors In Compact Mode

LibBT version 1.03 fixes a nasty bug in the handling of compact responses from trackers that has become more obvious as trackers start implementing the protocol. Earlier versions of LibBT could not make outbound connections to peers that were returned in compact mode due to an error in how their port numbers were remembered.

LibBT 1.03 also fixes a couple of ANSI C violations that kept the code from compiling on GCC 2.96, and caused coredumps in btcheck when it was run with invalid parameters.

Posted by Kevin Smathers 2004-07-10

LibBT Version 1.02 Released

This release is a minor update that adds protection against a couple of denial of service attacks, and closes some possible future security holes that couldn't be exploited in the current code base. It also increases the size limit on strings and fixes a bug in negotiation so that very large torrents can be transferred (tested to 55G).

There have also been some minor improvements to the reciprocation algorithms improving effective transfer rates.

Posted by Kevin Smathers 2004-05-26

Release 1.01

Yikes! Another version of LibBT is on the loose to waste your waking hours. The 1.0 release lived up to its 'Share and Enjoy' moniker (, coming in with defects slightly more annoying than Marvin the Paranoid Android.

This version fixes egregious bugs in the 1.0 that embarassingly are too numerous to mention here. Suffice it to say that 1.0 would have taken about a decade to download even a very small torrent.... read more

Posted by Kevin Smathers 2004-04-07

LibBT: BitTorrent C Library release 1.0

Version 1.0 (the 'Share and Enjoy' release) of the BitTorrent C Library is now available. This version comes with a stable BitTorrent client 'btget', and utilities for verifying a download ('btcheck') and examine a torrent ('btlist'). Version 1.0 is capable of downloading multiple torrents simultaneously, and can download the torrent from a URL before starting the P2P transfer. The library API in this version is quite complex, but the btget client demonstrates the code required to interact with the library.... read more

Posted by Kevin Smathers 2004-03-26

Primary client command set working

Libbt now has working versions of btget, btlist, and btcheck.

Btget uses a unique choking algorithm that, unlike the python client, minimizes the time spent sending data to slower peers from 25% to at most 30s per unreciprocating peer. The result is better peers and better download times. Other improvements are also in the works, so stay tuned.

Btlist duplicates the output of the standard client.... read more

Posted by Kevin Smathers 2003-06-17