LibTorrent

libtorrent is a C++ library that aims to be a good alternative to all the other bittorrent implementations around.
Download

LibTorrent Ranking & Summary

Advertisement

  • Rating:
  • License:
  • BSD License
  • Price:
  • FREE
  • Publisher Name:
  • Arvid Norberg
  • Publisher web site:
  • http://www.rasterbar.com/products/libtorrent/index.html

LibTorrent Tags


LibTorrent Description

libtorrent is a C++ library that aims to be a good alternative to all the other bittorrent implementations around. libtorrent is a C++ library that aims to be a good alternative to all the other bittorrent implementations around. libtorrent is a library and not a full featured client, although it comes with a working example client.The main goals of libtorrent are:· to be cpu efficient· to be memory efficient· o be very easy to uselibtorrent is portable at least among Windows, MacOS X and other UNIX-systems. It uses Boost.Thread, Boost.Filesystem, Boost.Date_time and various other boost libraries as well as zlib (shipped) and asio (shipped). At least version 1.33.1 of boost is required.Since libtorrent uses asio, it will take full advantage of high performance network APIs on the most popular platforms. I/O completion ports on windows, epoll on linux and kqueue on MacOS X and BSD.libtorrent has been successfully compiled and tested on:· Windows 2000 vc7.1, vc8· Linux x86 GCC 3.3, GCC 3.4.2· MacOS X (darwin), (Apple's) GCC 3.3, (Apple's) GCC 4.0· SunOS 5.8 GCC 3.1· Cygwin GCC 3.3.3Fails on:· GCC 2.95.4· msvc6 Here are some key features of "libtorrent": · Trackerless torrents (using a kademlia DHT) · multitracker extension support (as specified by John Hoffman) · serves multiple torrents on a single port and in a single thread · gzipped tracker-responses · HTTP seeding, as specified by Michael Burford of GetRight. · piece picking on block-level (as opposed to piece-level). This means it can download parts of the same piece from different peers. It will also prefer to download whole pieces from single peers if the download speed is high enough from that particular peer. · queues torrents for file check, instead of checking all of them in parallel. · supports http proxies and proxy authentication · uses separate threads for checking files and for main downloader, with a fool-proof thread-safe library interface. (i.e. There's no way for the user to cause a deadlock). (see threads) · can limit the upload and download bandwidth usage and the maximum number of unchoked peers · piece-wise, unordered, incremental file allocation · implements fair trade. User settable trade-ratio, must at least be 1:1, but one can choose to trade 1 for 2 or any other ratio that isn't unfair to the other party. · fast resume support, a way to get rid of the costly piece check at the start of a resumed torrent. Saves the storage state, piece_picker state as well as all local peers in a separate fast-resume file. · supports an extension protocol. See extensions. · supports files > 2 gigabytes. · supports the no_peer_id=1 extension that will ease the load off trackers. · supports the udp-tracker protocol by Olaf van der Spek. · possibility to limit the number of connections. · delays have messages if there's no other outgoing traffic to the peer, and doesn't send have messages to peers that already has the piece. This saves bandwidth. · does not have any requirements on the piece order in a torrent that it resumes. This means it can resume a torrent downloaded by any client. · adjusts the length of the request queue depending on download rate. · supports the compact=1 tracker parameter. · selective downloading. The ability to select which parts of a torrent you want to download. · ip filter What's New in This Release: · added missing functions to the python bindings torrent_info::map_file, torrent_info::map_block and torrent_info::file_at_offset. · removed support for boost-1.33 and earlier (probably didn't work) · fixed potential freezes issues at shutdown · improved error message for python setup script · fixed bug when torrent file included announce-list, but no valid tracker urls · fixed bug where the files requested from web seeds would be the renamed file names instead of the original file names in the torrent. · documentation fix of queing section · fixed potential issue in udp_socket (affected udp tracker support) · made name, comment and created by also be subject to utf-8 error correction (filenames already were) · fixed dead-lock when settings DHT proxy · added missing export directives to lazy_entry · fixed disk cache expiry settings bug (if changed, it would be set to the cache size) · fixed bug in http_connection when binding to a particular IP · fixed typo in python binding (torrent_handle::piece_prioritize should be torrent_handle::piece_priorities) · fixed race condition when saving DHT state · fixed bugs related to lexical_cast being locale dependent · added support for SunPro C++ compiler · fixed bug where messeges sometimes could be encrypted in the wrong order, for encrypted connections. · fixed race condition where torrents could get stuck waiting to get checked · fixed mapped files bug where it wouldn't be properly restored from resume data properly · removed locale dependency in xml parser (caused asserts on windows) · fixed bug when talking to https 1.0 servers · fixed UPnP bug that could cause stack overflow


LibTorrent Related Software