BitTorrent client

From Wikipedia, the free encyclopedia

A BitTorrent client is a client that utilizes the BitTorrent protocol for data transfer.

The first client was created by Bram Cohen in the summer of 2002.

The following tables compare general and technical information for a number of applications supporting BitTorrent. Please see the individual products' articles for further information. This article is neither all-inclusive nor necessarily up-to-date.

BitTorrent client FOSS Runs on IPv6 Max active torrents Super-
seeding
Tracker Malware-free Supports
Linux
or Unix
Windows Mac OS X UPnP port mapping[1] NAT port mapping NAT traversal DHT [2] Peer exchange Encryption
ABC Yes Old version Yes No No, buggy[3] Yes No Yes Yes ? No No No No
Acquisition No No No Yes ? 3, ∞ when registered No No Yes No Yes No No ? No
Anatomic P2P Yes Yes Yes Yes No Yes Separate download Yes Yes ? ? ? ? No
Arctic Torrent Yes No Yes No No No No Yes No ? No No Yes No
Azureus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes [4] Yes [5] Yes Yes
BitComet No No Yes No No No[6] Separate download Yes Yes Yes Yes Yes Yes Yes
BitFlu Yes Yes No Yes Yes No No Yes No No No No Yes No
BitLord No No Yes No No No[6] No Adware Yes ? Yes No Yes No
BitPump No No Yes No No ? ? Yes No ? ? ? ? ?
BitTornado Yes Yes Yes Yes Yes Yes Yes [7] Yes Yes ? No No No Yes
BitTorrent / Mainline ? Yes Yes Yes ? No Yes [7] Yes Yes Yes No Yes ? Yes
BitSpirit No No Yes No No Yes No Yes Yes ? Yes Yes ? Yes
Bits on Wheels No No No Yes ? No No Yes No ? ? No ? No
BitTyrant Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes [8] Yes [9] Yes Yes
Blizzard Downloader No No Yes Yes ? 1 No No Yes No ? No No No No
Blog Torrent Yes No Yes Yes ? 3 ? Yes ? ? ? ? ? ? ?
BTG Yes Yes ? Yes ? ? ? No Yes ? ? ? ? ? ?
BtManager Yes Yes Yes Yes ? ? ? ? ? ? ? ? ? ? No
BTSharp (Library) No No Yes No No No Yes Yes Yes No No No No No
burst! Yes No Yes No ? 20 Yes No Yes ? ? ? ? ? No
CTorrent Yes Yes No No No ? ? Yes ? ? ? ? ? No
Deluge Yes Yes No No No, buggy[3] ? No Yes No Yes Yes Yes Yes No
eDonkey2000 No Yes Yes Yes ? ? ? ? Adware [10] ? ? ? ? ? No
FlashGet ? ? Yes ? ? 8 ? ? ? ? ? ? ? ? ?
freeloader Yes Yes No No ? ? No Yes ? ? ? ? ? No
G3 Torrent Yes No Yes No ? No No Yes No ? No No ? No
BitTorrent client FOSS Runs on IPv6 Max active torrents Super-
seeding
Tracker Malware-free Supports
Linux
or Unix
Windows Mac OS X UPnP port mapping[1] NAT port mapping NAT traversal DHT [2] Peer exchange Encryption
Gnome BitTorrent Yes Yes No No ? ? No Yes No ? ? No No No
Halite Yes No Yes No ? No No Yes No No No Yes ? No
KTorrent Yes Yes No No ? Yes No Yes Yes ? No Yes Yes Yes
LimeWire Yes Yes Yes Yes No No No Yes Yes No No No No No
Localhost Yes Yes Yes No ? Yes Yes Yes Yes ? Yes Yes, required. ? No
MLDonkey Yes Yes Yes Yes No No Yes Yes No ? No No ? No
MonoTorrent (Client Library) Yes Yes Yes Yes No No Yes Yes Yes Yes No No No Yes
MooPolice No No Yes No No No No Yes Yes No No Yes Yes [11] No
Opera No Yes Yes Yes ? No No Yes No ? ? No No No
QTorrent Yes Yes No No ? No No Yes No ? No No No No
Qbittorrent Yes Yes No No ? No No Yes Yes, in SVN ? No Yes Yes No
rTorrent Yes Yes No Yes No, buggy[3] No No Yes No No No No No Yes
Rufus Yes Yes Yes No No No No Yes ? ? No No ? No
Shareaza Yes No Yes No No 10[12] No No Yes Yes ? No Yes [13] ? No
sharktorrent Yes Yes Yes Yes ? No No Yes Yes ? No Yes ? No
SymTorrent Yes No No No ? No No Yes ? ? ? No No No
Tomato Torrent Yes No No Yes No No Yes Yes ? ? ? ? ? No
Torrent Swapper Yes Yes Yes Yes Yes Yes Yes [7] Yes Yes ? No No Yes No
TorrentFlux Yes Yes Yes No ? Yes No Yes Yes ? No No No No
TorrentVolve Yes Yes Yes Yes When Azureus module is used When Azureus module is used No Yes When Azureus module is used When Azureus module is used When Azureus module is used When Azureus module is used When Azureus module is used When Azureus module is used
Transmission Yes Yes No Yes No No No Yes Yes Yes No No Yes[14] No
Turbo Torrent No No Yes No ? Yes Yes No Yes ? No No ? No
TorrentSpy Rufus Yes No Yes No ? No No Adware [15] ? ? ? No ? No
µTorrent No No Yes No No Yes Yes Yes Yes No ? Yes Yes [16] Yes
WizBit Yes No No No ? ? No No Yes No ? No No No No
XBT Client Yes No [17] Yes No ? Yes Yes Yes Yes ? ? No Yes No
ZipTorrent No No Yes No ? ? ? ? Yes Yes ? No ? ? No
BitTorrent client FOSS Runs on IPv6 Max active torrents Super-
seeding
Tracker Malware-free Supports
Linux
or Unix
Windows Mac OS X UPnP port mapping[1] NAT port mapping NAT traversal DHT [2] Peer exchange Encryption

[edit] Features (continued)

BitTorrent client Programming Language Basis Interface Built-in disk cache[18] Supports Web Seeding [19] Supports Broadcatching (RSS) Supports Prioritization Supports Selective Downloading Supports SOCKS for outgoing connections Web Remote Control Torrent Search Engine Automatic Client Updates
ABC Python BitTornado GUI and web ? Yes No Yes No ? Yes Separate download ?
Acquisition Objective-C and Cocoa Limewire GUI ? No No No No No No No ?
Anatomic P2P Python BitTornado GUI and old CLI ? Yes ? ? ? ? ? ? ?
Arctic Torrent C++ libtorrent GUI ? No No No No No No No ?
Azureus Java and SWT - GUI, CLI, Telnet, Web, XMLoverHTTP remote control API Yes Yes[20] Plugin Yes Yes Yes Plugin[21] 3rd party plugins Yes
BitComet C++ ? GUI Yes No No Yes Yes Yes No Built-in Web browser Yes
BitFlu Perl - Telnet and Web Delayed commit No No No Yes No Yes No No
BitLord C++ BitComet GUI Yes No No Yes Yes Yes No Built-in Web browser Yes
BitPump C++
GUI ? ? ? ? ? ? ? ? ?
BitTornado Python BitTorrent GUI and CLI Yes Yes No Yes Yes No No No No
BitTorrent / Mainline Python - GUI and CLI ? No No Yes No No No Yes Yes
BitSpirit C++ BitComet GUI Yes No No Yes Yes Yes No Yes Yes
Bits on Wheels Objective-C and Cocoa - GUI ? ? ? ? No ? No ? ?
BitTyrant Java and SWT - GUI, CLI, Telnet, Web, XMLoverHTTP remote control API Yes Yes[22] Plugin Yes Yes Yes Plugin[21] 3rd party plugins Yes
Blizzard Downloader ? BitTorrent client for early version GUI ? No No No No ? No No ?
Blog Torrent ? BitTorrent client for early version GUI ? No No No No ? No No ?
BTG C++ rblibtorrent CLI and web ? No No Yes Yes ? Yes No No
BtManager Python ? GUI ? ? ? ? ? ? ? ? ?
BTSharp (Library) C Sharp N/A API Yes No No No No No No No No
burst! Python ? GUI ? ? ? ? No ? ? ? ?
ctorrent C++ ? CLI ? ? ? ? Yes ? ? ? No
Deluge Python rblibtorrent GUI ? ? No Yes Yes No No Yes No
eDonkey2000 C++ ? GUI ? ? ? ? ? ? ? ? ?
freeloader Python ? GUI ? ? No ? ? ? No No ?
G3 Torrent Python BitTorrent GUI and web ? No Yes Yes Yes No Yes No ?
BitTorrent client Programming Language Basis Interface Built-in disk cache[18] Supports Web Seeding [19] Supports Broadcatching (RSS) Supports Prioritisation Supports Selective Downloading Supports SOCKS for outgoing connections Web Remote Control Torrent Search Engine Automatic Client Updates
Gnome BitTorrent Python ? GUI ? No No ? No ? No No ?
Halite C++ - GUI ? No No ? ? No No ? ?
KTorrent C++ - GUI, Web and CLI (Alpha) ? No Yes Alpha Yes ? Yes Built-in Web browser ?
LimeWire Java - GUI Yes No No No No Yes No No Yes
Localhost Java and SWT Azureus Web Yes No Plugin Yes Yes Yes Plugin[21] Yes ?
MLDonkey Ocaml - CLI, Telnet, Web, Network GUI Yes No 3rd party bash script Yes No No[23] Yes Yes[24] No
MonoTorrent (Client Library) C Sharp N/A N/A No No No Yes Yes No No No No
MooPolice C++ rblibtorrent GUI No Yes No Yes Yes No No No No
Opera 9 browser C++ ? GUI ? ? No No No ? No Built-into Web browser ?
QTorrent C++ TheSHAD0W GUI ? ? ? ? ? ? ? ? ?
Qbittorrent C++ libtorrent (Arvid Norbergs) GUI Qt (toolkit) No Yes No No Yes ? No Yes[25] No, only search engines parser
rTorrent C++ libTorrent CLI Delayed sync No No Yes Yes No No No No
Rufus Python G3 Torrent GUI and web ? No Yes Yes Yes ? Yes No ?
Shareaza C++ Shareaza core GUI and web Yes No No Yes No No Yes Yes Yes
sharktorrent C++ libtorrent (Arvid Norbergs) GUI wxwidgets No No No No No No No No ?
Tomato Torrent Cocoa BitTorrent? GUI ? ? ? ? ? ? ? ? ?
Torrent Swapper Python BitTorrent GUI and web Yes Yes Yes Yes Yes No Yes Built-in Web browser Yes
TorrentFlux PHP BitTornado Web Yes Yes No No Yes No Yes Yes ?
TorrentVolve PHP Azureus Web When Azureus module is used No No Yes Yes No Yes No When Azureus module is used
Transmission C - GUI and CLI ? No No No No No No No Yes
Turbo Torrent Python G3 Torrent GUI and web ? No No Yes Yes ? Yes Built-in Web browser ?
TorrentSpy Rufus Python Rufus GUI ? No Yes Yes Yes ? ? ? ?
µTorrent C++ - GUI and Web (beta) Yes No Yes Yes Yes Yes Beta Yes Yes
WizBit Python - Mobile phone GUI (alpha) No No No No ? No No Yes ?
XBT Client C++ - GUI and Web (alpha) ? ? ? Yes Yes ? Yes ? ?
ZipTorrent C++ libtorrent GUI ? ? Yes ? ? ? ? ? ?
BitTorrent client Programming Language Basis Interface Built-in disk cache[18] Supports Web Seeding [19] Supports Broadcatching (RSS) Supports Prioritisation Supports Selective Downloading Supports SOCKS for outgoing connections Web Remote Control Torrent Search Engine Automatic Client Updates


[edit] References

  1. ^ a b c Automatically configure port forwarding (requires Router with UPnP support)
  2. ^ a b c DHT permits use of trackerless torrents (with supporting clients) to resume normal torrents when their tracker is down. However, some trackers that register their users for keeping tabs on fair usage (such as a ratio of bytes downloaded to uploaded) may not reliably measure and update usage for users employing DHT.
  3. ^ a b c Announcements to the tracker ae made via IPv6 if possible, but the client doesn't listen on the respective port.
  4. ^ Since version 2.5.0.2. It's UDP based, an experimental feature and only supported by other Azureus clients
  5. ^ Not compatible with Official BitTorrent client DHT.
  6. ^ a b BitComet and BitLord clients interfere with Super-Seeding by other BitTorrent software, and are banned by many trackers and also from connecting to the BitTornado client.[1]
  7. ^ a b c Tracker included with Linux binaries and with source, but not with Windows binary
  8. ^ It's UDP based, an experimental feature and only supported by other Azureus based clients
  9. ^ Not compatible with Official BitTorrent client DHT.
  10. ^ Used to contain both Adware and Spyware, non-"Pro" version continues to contain Adware. *New note* Latest versions (1.4.3+) of eDonkey all contain adware, which can not be opted out of, even with a "Pro" install.
  11. ^ Exchanging with µTorrent
  12. ^ Max active torrents number depends of configured connection speed
  13. ^ It's not a DHT network, but Shareaza uses gnutella2 to find other Shareaza clients.
  14. ^ Exchanges with μTorrent and Azureus peers.
  15. ^ Unofficial version of Rufus created by TorrentSpy with WhenU SaveNow adware bundled in it; reportedly possible to opt-out during installation.
  16. ^ Exchanging with other µTorrent clients (and now MooPolice)
  17. ^ Client backend can be run on linux or windows, client requires windows.
  18. ^ a b c Reduces disk usage, file fragmentation (in case it is not preallocated) and latencies due to larger written blocks and cached data for hash checking finished pieces.
  19. ^ a b c Recently implemented (unofficial) web seeding feature, see HTTP-Based Seeding Specification
  20. ^ Supports the Getright Webseeding spec in addition to the Bittornado spec[2]
  21. ^ a b c Provides a Java-based and a simple HTML/JS based WebUI
  22. ^ Supports the Getright Webseeding spec in addition to the Bittornado spec[3]
  23. ^ See task #4401 Socks Proxy; however, http proxy is supported.
  24. ^ GUIs exist with built-in web browser
  25. ^ Integrated

[edit] See also