Comparison of BitTorrent clients
The following is a general comparison of BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent protocol.[1]
The BitTorrent protocol coordinates segmented file transfer among peers connected in a swarm. A BitTorrent client enables a user to exchange data as a peer in one or more swarms. Because BitTorrent is a peer-to-peer communications protocol that does not need a server, the BitTorrent definition of client differs from the conventional meaning expressed in the client–server model.[1]
Bram Cohen, author of the BitTorrent protocol, made the first BitTorrent client, which he also called BitTorrent, and published it in July 2001.[2]
Many BitTorrent programs are open-source software; others are freeware, adware or shareware. Some download managers, such as FlashGet and GetRight, are BitTorrent-ready. Opera 12, a web browser, can also transfer files via BitTorrent.
In 2013 Thunder Networking Technologies publicly revealed that some of their employees surreptitiously distributed a Trojan horse with certain releases of Xunlei, the company's BitTorrent-ready download manager.[3][4] Xunlei is included in the comparison tables.
Applications
General
Operating system support
| BitTorrent client | Windows | macOS | GNU/Linux | BSD | iOS | Android | Other |
|---|---|---|---|---|---|---|---|
| BiglyBT | Yes | Yes | Yes | Yes | No | Yes | No |
| BitComet | Yes | Yes | No | No | No | No | No |
| BitLord | Yes | Yes | No | No | No | No | No |
| BitTorrent | Yes | Yes | No | No | No | Yes[6] | No |
| Deluge | Yes | Yes | Yes | Yes | No | No | Solaris |
| FlashGet | Yes | No | No | No | No | No | No |
| Free Download Manager | Yes | Yes | Yes | No | No | Yes | No |
| Frostwire | Yes[7] | Yes[7] | Yes[7] | Yes[7] | No[7] | Yes[7] | Unix-like[7] z/OS[8] Solaris OS/2 eComStation ArcaOS[9] |
| KGet | No | No | Yes | Yes | No | No | No |
| KTorrent | No | Yes | Yes | Yes | No | No | No |
| Lftp | Yes | Yes | Yes | Yes | No | No | No |
| LimeWire | Yes | Yes | Yes | Yes | No | No | Yes Script error: No such module "Unsubst". |
| Miro | Yes | Yes | Yes | Yes | No | No | No |
| MLDonkey | Yes | Yes | Yes | Yes | No | No | Solaris MorphOS |
| μTorrent | Yes | Yes | Web | No | No | Yes[10] | No |
| Opera 12 | YesTemplate:Efn | Yes | YesTemplate:Efn | YesTemplate:Efn | No | YesScript error: No such module "Unsubst". | Solaris |
| qBittorrent | Yes[11] | Yes[11] | Yes[11] | Yes[11] | No[11] | No[12] | OS/2Template:Efn FreeBSD Haiku[11] |
| Robert | Yes | Yes | Yes | Yes | No | No | No |
| rTorrent | YesTemplate:Efn | Yes | Yes | Yes | No | No | Solaris |
| Shareaza | Yes | No | No | No | No | No | No |
| Tixati | Yes | No | Yes | No | No | No | No |
| Tonido | Yes | Yes | Yes | Yes | No | No | No |
| Transmission | Yes Template:Efn | Yes | Yes | Yes | YesTemplate:Efn | Yes | Solaris |
| Tribler | Yes | Yes | Yes | Yes | No | No | No |
| Vuze | Yes | Yes | Yes | Yes | No | Yes[13] | No |
| Xunlei | Yes | Yes | No | No | Yes | YesScript error: No such module "Unsubst". | No |
| Name | Windows | macOS | GNU/Linux | BSD | iOS | Android | Other |
Interface and programming
| BitTorrent client | GUI | Remote | CLI | Other | Programming language | Based on | IPv6 | μTP |
|---|---|---|---|---|---|---|---|---|
| BiglyBT | Yes | Yes | NoTemplate:Efn | Telnet, XML over HTTP remote control API | Java, SWT | VuzeTemplate:Efn | Yes | Yes |
| BitComet | Yes | Yes | Partial[14] | No | C++ | - | Yes | No |
| BitLord | Yes | No | No | No | Python, C++ | libtorrent (Rasterbar) | Yes | No |
| BitTorrent 5, Mainline | Yes | No | Partial | No | Python | - | No | No |
| Deluge | Yes | Yes | Yes | Daemon | Python, C++ | libtorrent (Rasterbar) | Yes | Yes[15] |
| FlashGet | Yes | No | No | No | ? | ? | No | No |
| Free Download Manager | Yes | Yes | Partial | No | C++ | libtorrent (Rasterbar) | No | No |
| Frostwire | Yes | No | No | No | Java | libtorrent (Rasterbar) | No | Yes[16] |
| KGet | Yes | Yes | PartialTemplate:Efn | No | C++ | - | Yes | No |
| KTorrent | Yes | Yes | Partial | No | C++ | - | Yes | Yes[17] |
| lftp | No | No | Yes | No | C++ | - | Yes | No |
| LimeWire | Yes | No | No | No | Java | libtorrent (Rasterbar) | No | No |
| Miro | Yes | No | No | No | C++ | libtorrent (Rasterbar) | No | No |
| MLDonkey | No | Third Party[18] | Partial | Telnet | OCaml | - | No | No |
| μTorrent | Yes | Yes | No[19] | RESTful Web API[20] | C++[21] | - | Yes[22] | Yes[23] |
| Opera 12 | Yes | No | No | No | C++ | - | Yes | No |
| qBittorrent | Yes | Yes | Partial | No | Python, C++ | libtorrent (Rasterbar) | Yes | Yes[24] |
| rTorrent | No | Third Party | Yes | SCGI | C++ | libTorrent (Rakshasa) | Yes[25] | No |
| Shareaza | Yes | Yes | Partial | No | C++ | - | No | No |
| Tixati | Yes | Yes | No | Web interface | C++ | - | Yes | Yes[26] |
| Tonido | No | Yes | No | No | C++ | libtorrent (Rasterbar) | No | No |
| Transmission | Yes | Yes | Yes | Daemon, JSON-RPC over HTTP remote control API | C++ (rewritten from C), Objective-C | libtransmission | Yes | Yes[27] |
| Tribler | Yes | Partial | Partial | No | Python, C++ | libtorrent (Rasterbar) | No | Yes |
| VuzeTemplate:Efn | Yes | Yes | Partial | Telnet, XML over HTTP remote control API | Java, SWT | - | Yes | Yes[28] |
| Xunlei | Yes | No | No | remote control over internet[29] | C++ | - | No | No |
| BitTorrent client | GUI | Web | CLI | Other | Programming language | Based on | IPv6 | μTP |
Features I
| BitTorrent client | Protocol version | Magnet URI (BEP 9) |
Preload Magnet metadataTemplate:Efn (BEP 9) |
Super-seeding (BEP 16) |
Embedded tracker | UPnP[30] | NAT Port Mapping Protocol | NAT traversal[31] (BEP 55) |
DHT protocol[32] (BEP 5) |
Peer exchange(PEX) (BEP 11) |
Encryption | UDP tracker (BEP 15) |
LPD (BEP 14) |
Proxy server |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BiglyBT | 1, 2 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Template:Csl |
| BitComet | 1, 2 | Yes | No | Yes | Separate download | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | HTTP 1.1, SOCKS4-4a-5 |
| BitLord | 1 | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | HTTP 1.1, SOCKS4-4a-5 |
| BitTorrent 5, Mainline | 1 | No | No | No | YesTemplate:Efn | Yes | Yes | No | Yes | Yes | Yes | No | No | Yes |
| Deluge | 1 | Yes | PartialTemplate:Efn | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | HTTP(S), SOCKS4-5 |
| FlashGet | 1 | No | No | No | No | No | No | No | Yes | No | Yes | No | No | No |
| Free Download Manager | 1 | Yes | No | No | No | No | No | No | Yes | Yes | No | No | No | No |
| KTorrent | 1 | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Partial | HTTP, SOCKS4-5 |
| LimeWire | 1 | Partial | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | No |
| MLDonkey | 1 | Yes[33] | No | No | Yes | Yes | Yes | No | Yes | No | No | Yes | No | No |
| μTorrent | 1 | Yes | Yes[34] | Yes[35] | Yes[36] | Yes[37] | Yes | Yes[38] | YesTemplate:Efn | YesTemplate:Efn | Yes[39] | Yes | Yes[40] | HTTP(S), SOCKS4-5 |
| Opera 12 | 1 | No | No | No | Yes[41] | No | No | No | No | Yes[42] | No | No | No | No |
| qBittorrent | 1, 2[43] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | HTTP(S), SOCKS4-5Template:Efn |
| rTorrent | 1 | Yes[44] | No | Yes | No | No | No | No | Yes | Yes | Yes | Yes | No[45] | No |
| Shareaza | 1 | Yes | No | No | No | Yes | Yes | No | YesTemplate:Efn | Yes | No | YesTemplate:Efn | No | No |
| Tixati | 1, 2 | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Template:Efn |
| Tonido | 1 | No | No | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No |
| Transmission | 1[46] | Yes | Patch available[47][48][49] | No | No | Yes | Yes | No[50] | Yes | YesTemplate:Efn | Yes | Yes | Yes | No[51] |
| Tribler | 1 | Yes | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | Template:Efn |
| VuzeTemplate:Efn | 1 | Yes | Yes | Yes | Yes | Yes | Yes | YesTemplate:Efn | YesTemplate:Efn | Yes | Yes | Yes | Plugin | HTTP(S)?, SOCKS4-4a-5 |
| Xunlei | 1 | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | HTTP, SOCKS5, FTP |
| BitTorrent client | Protocol version | Magnet URI | Preload Magnet metadata | Super-seeding | Embedded tracker | UPnP | NAT Port Mapping Protocol | NAT traversal | DHT | Peer exchange | Encryption | UDP tracker | LPD | Proxy server |
Features II
| BitTorrent client | CacheTemplate:Efn | Hash Web seeding | HTTP Web seedingScript error: No such module "Unsubst". | Broad-catching (RSS) (BEP 36) |
Prioritization | Selective downloads (BEP 53) |
Sequential downloading | SOCKS | Tracker exchange (BEP 7) |
Remote control via web | Search engine (BEP 18) |
Auto updates | Reviews and Comments |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BiglyBT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| BitComet | Yes | No | Yes[52] | Beta | Yes | Yes | YesTemplate:Efn | Yes | No | Yes | PartialTemplate:Efn | Yes | No |
| BitLord | Yes | No | Partial Template:EfnTemplate:Efn | Yes | Yes | Yes | No | Yes | No | No | PartialTemplate:Efn | Yes | No |
| BitTorrent 5, Mainline | No | Yes | Partial Template:Efn | No | Yes | Yes | No | No | No | No | Yes | Yes | No |
| Deluge | Yes | Yes | Partial Template:Efn | Plugin | Yes | Yes | Yes | Yes | No | Yes | No | via PMS | No |
| FlashGet | No | No | No | No | No | No | No | No | No | No | No | No | |
| Free Download Manager | No | Yes | No | No | Yes | Yes | Yes | No | No | Yes | No | Optional | No |
| KTorrent | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | PartialTemplate:Efn | via PMS | No | |
| LimeWire | Yes | Yes | No | No | Yes | Yes | No | Yes | No | No | No | Yes | No |
| MLDonkey | Yes | No | 3rd party bash script | Yes | No | No | No[53] | No | Yes | PartialTemplate:Efn | via PMS | No | |
| μTorrent | Yes | Yes[54] | Partial Template:Efn | Yes[55] | Yes[56] | Yes | YesTemplate:Efn | Yes | No | Yes | Yes | Yes | Yes |
| Opera 12 | No | No | YesTemplate:Efn | No | No | No | No | No | No | PartialTemplate:Efn | YesTemplate:Efn | No | |
| qBittorrent | Yes | Yes | Partial Template:Efn | Yes | Yes | Yes | Yes | Yes | PartialTemplate:Efn | Yes | Yes | via PMS | No |
| rTorrent | Partial | No | No | 3rd party utility [57] | Yes | Yes | No | No | No | Yes | No | via PMS | No |
| Shareaza | Yes | Yes | No | No | Yes | YesTemplate:Efn | in mod client | No | Yes Template:Efn[58]Template:Efn |
Yes | Yes | Yes | No |
| Tixati | Yes | Yes | Yes[59] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No |
| Tonido | No | No | No | Yes | Yes | No | No | No | Yes | No | Yes | No | |
| Transmission | Yes | No | Partial Template:EfnTemplate:Efn | No | Yes | No[60] | No | No | No | Yes | No | Yes | No |
| Tribler | Yes | No | No | Yes | Yes | Yes | No | No | No | Partial | Yes (DHT)[61] | Yes | No |
| VuzeTemplate:Efn | Yes | Yes[62] | Yes | Yes | Yes | in paid version [63] | Yes | No | PluginTemplate:Efn | Yes | Yes | Yes[64] | |
| Xunlei | Yes | No | Yes | Yes | Yes | Yes | Yes | No | Yes | No | |||
| BitTorrent client | Cache | Hash Web seeding | HTTP Web seeding | Broad-catching (RSS) | Prioritization | Selective downloads | Sequential downloading | SOCKS | Tracker exchange | Remote control via web | Search engine | Auto updates | Reviews and Comments |
Libraries
- General
| BitTorrent library | Initial release | Platform | Latest release | License | Notes | |
|---|---|---|---|---|---|---|
| Version | Date | |||||
| libtorrent (Rasterbar) | September 8, 2005Script error: No such module "Check for unknown parameters".[65] | Linux | Template:Wikidata Template:Wikidata |
Template:Wikidata Template:Wikidata |
rowspan="3" Template:Open source | |
| macOS | ||||||
| Windows | ||||||
| MonoTorrent | September 2006Script error: No such module "Check for unknown parameters". | Linux | Template:Wikidata | Template:Wikidata | rowspan="3" Template:Open source | |
| macOS | ||||||
| Windows | ||||||
| rTorrent (libTorrent Rakshasa) | July 15, 2004Script error: No such module "Check for unknown parameters".[66] | Linux | Template:Wikidata | Template:Wikidata | rowspan="2" Template:Open sourceTemplate:Efn | Template:Efn |
| macOS | ||||||
| BitTorrent library | Initial release | Platform | Latest release | License | Notes | |
| Version | Date | |||||
- Operating system support and programming language
| BitTorrent library | GNU/Linux | Windows | macOS | API | Programming language |
|---|---|---|---|---|---|
| libtorrent (Rasterbar) | Yes | Yes | Yes | Yes | C++ |
| MonoTorrent | Yes | Yes | Yes | Yes | C# |
| rTorrent (libTorrent Rakshasa) | Yes | No | Yes | Yes | C++ |
| BitTorrent library | Linux | Windows | macOS | API | Programming language |
- Supported features 1
| BitTorrent library | Protocol version | Super-seeding | Tracker | UPnPTemplate:Efn | NAT Port Mapping Protocol | NAT traversalTemplate:Efn | DHTTemplate:Efn | Peer exchange | Encryption | UDP tracker | LPD | Fast extensions | Magnet URI | μTP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| libtorrent (Rasterbar) | 1, 2[67] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[68] | Yes | Yes | Yes[69] |
| MonoTorrent | 1, 2 | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
| rTorrent (libTorrent Rakshasa) | 1 | Yes | Yes | No | ? | ? | Yes | Yes | Yes | Yes | Yes | No | Yes | No |
| BitTorrent library | Protocol version | Super-seeding | Tracker | UPnP | NAT Port Mapping Protocol | NAT traversal | DHT | Peer exchange | Encryption | UDP tracker | LPD | Fast extensions | Magnet URI | μTP |
- Supported features 2
| BitTorrent library | CacheTemplate:Efn | Web seedingTemplate:Efn | WebTorrent | Broadcatching (RSS) | Prioritization | Selective downloads | SOCKS | Remote control via web | Engine |
|---|---|---|---|---|---|---|---|---|---|
| libtorrent (Rasterbar) | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ? |
| MonoTorrent | Yes | Yes | No | Yes | Yes | Yes | No | Yes | No |
| rTorrent (libTorrent Rakshasa) | Partial | No | No | No | Yes | Yes | No | Yes | No |
| BitTorrent library | Cache | Web seeding | WebTorrent | Broadcatching (RSS) | Prioritization | Selective downloads | SOCKS | Remote control via web | Engine |
See also
- Anonymous P2P
- BitTorrent tracker
- Comparison of BitTorrent sites
- Comparison of BitTorrent tracker software
- Comparison of file sharing applications
- File sharing
- Open Music Model
- Timeline of file sharing
Notes
References
<templatestyles src="Reflist/styles.css" />
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c d e f g Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c d e f Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ BitComet command line interface see BitComet Command Line – BitComet Wiki Template:Webarchive
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Automatically configure port forwarding (requires Router with UPnP support)
- ↑ Many clients claim to support this, but just UPnP calls for opening a TCP port is not effective and disabled by factory default in most new hardware. "UDP NAT Traversal" is the proper working solution, supported by just a few.
- ↑ 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.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Aided with a shell script documented in Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ unofficial build transmission daemon cygwin Script error: No such module "citation/CS1".
- ↑ unofficial build Transmission-Qt Script error: No such module "citation/CS1".
- ↑ unofficial build cfpp2p GitHub transmission Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Proxy support was removed in version 2.12: Script error: No such module "citation/CS1".
- ↑ Supports the Getright Webseeding spec Template:Webarchive since v1.14, see BitComet Wiki Template:Webarchive
- ↑ See task #4401 SOCKS proxy Template:Webarchive; however, http proxy is supported.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ 3rd party utility RSSDler Template:Webarchive
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Supports the Getright Webseeding spec Template:Webarchive in addition to the Bittornado spec Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
Script error: No such module "Navbox". Template:Use dmy dates