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.
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.
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.
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.
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 (http://hhgproject.org/entries/shareandenjoy.html), 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
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
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