BitComet

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
BitComet
BitComet logo.svg
BitComet 0.94.png
BitComet client version 0.94 running on Windows Vista
Developer(s) BitComet Development Group (China)[1]
Initial release August 6, 2003
Stable release 1.40 (September 6, 2015; 8 years ago (2015-09-06)) [±][2]
Preview release None (n/a) [±]
Written in C++
Operating system Microsoft Windows 2000/XP/2003/Vista/7/8
Available in 52 languages
Type BitTorrent client
License Freeware
Website http://www.bitcomet.com

BitComet (originally named SimpleBT client from versions 0.11 to 0.37) is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages.[3] Its first public release was version 0.28. The current BitComet logo has been used since version 0.50.[4]

Features

The BitComet program is a multi-threaded multi-protocol hybrid download manager and BitTorrent Peer-to-peer (P2P) file-sharing application. It supports simultaneous download tasks. To complete a particular download, it can draw parts of files from many sources across different P2P and client–server protocols.

BitComet's chief features include an embedded Internet Explorer window to let users search for torrents. Along with the features typical of contemporary BitTorrent clients, it supports UPnP gateway configuration, bandwidth scheduling, Webseeding, selecting only certain files for download inside a torrent package, NAT traversal (removed in v.1.03),[5] Peer Exchange (in older versions, using a proprietary protocol and starting with v.1.19 also by using the Extension Protocol, implementing a PEX mechanism compatible with µTorrent / Mainline PEX),[6] Initial-Seeding (Super-Seeding) and support for Magnet Links.

When downloading, BitComet gives you the option to prioritize the first and last portions of media files so that files may be previewed before they are completely downloaded.
It also has a "Preview Download Mode" in which all pieces of the torrent will be, basically, downloaded sequentially thus allowing the user to play a media file while downloading (provided that the downloading speed and piece availability stay ahead of playing bitrate).
BitComet also allows users to share their .torrent files, on a searchable P2P network, with other BitComet users through the torrent sharing feature, named "Torrent Share" in previous versions and renamed to "Torrent Exchange" since v.1.17.[7] BitComet uses the Kademlia (mainline) DHT to operate even when the tracker is offline. BitComet is capable of downloading files over HTTP and FTP as well as bittorrent, and it includes download plugins for Firefox, Internet Explorer, and Maxthon.[5]

An optional plugin is available to connect to the eD2K network. The plugin is a modified version of the GPL eMule program. When installed, it connects automatically to a server.[8]

BitComet FLV Player version 1.3

The software includes an application to play Flash Video files (.flv and .swf files).[9]

Optional standalone software

BitComet.com offers a BitTorrent tracker available for download from the official site.[10] The FLV player program can also be downloaded separately and used independently of the BitComet software.

Search engine

The search site is google.atcomet.net

Controversy and criticism

Hash reporting

Since version 0.86 BitComet includes discussion and stat-tracking features which send information about torrents to the Bitcomet.com servers, including the torrent hash.[11][verification needed]

DHT exploit

During version 0.60, BitComet received bad publicity because its implementation of the DHT feature, which was new at the time, could be exploited to not respect the private flag of a tracker. This allowed users to avoid download and upload ratio restrictions, which are common on private trackers. Some private trackers responded to this by blacklisting version 0.60.[12] BitComet developer RnySmile reverted the client back to version 0.59 in response to the blacklisting.[13]

The DHT exploit was fixed in version 0.61.[14][15]

Padding files

Starting with version 0.85 (from early 2007), BitComet added a non-standard option to its torrent maker that ensures that no two data files in a multi-file torrent occupy the same BitTorrent "piece." To accomplish this, BitComet includes in the torrent empty "padding" files which houses the remainder of each file's last "piece". While these files are transparent to BitComet users, they damage the performance of other clients, because peers must devote resources and bandwidth to the padding files, with no benefit to the non-BitComet users. These files can constitute up to 10% of the total data transferred, creating a substantial drain on the swarm.[16] BitComet developers added this feature to allow support of a feature called Long-Term Seeding in which the BitComet client can download files from other BitComet clients who have an identical file but not from the same torrent. It also allows the downloading of individual files from other non torrent sources like ED2K links. The addition of the padding file ensures that a complete version of the file can be obtained rather than being unable to complete the relevant file or last "piece" [17]

Creation of padding files has been enabled by default since version 0.85, and as of version 1.36 is still enabled by default.[verification needed]

Validity of criticism

In July 2007, Robb Topolski, a self-described “networking and protocol expert”[1] conducted an independent analysis of most accusations leveled against BitComet including the DHT Exploit and Super-seeding controversies mentioned above. He found all but one of the claims to be false or unverifiable. He found that BitComet is not detrimental or malicious to the download or upload speeds of a BitTorrent swarm or the tracker.[18]

The one claim he verified as partially correct was that, "BitComet is a poor peer due to no upload slot control; upload bandwidth is stretched too thin". Topolski's tests indicated that BitComet does lack upload slot control, but only when BitComet is initially seeding a torrent—that is, when BitComet is the only seeding peer in a swarm, it tends to seed less efficiently than the two other clients he tested. Topolski asserts that when BitComet is not the only seeding peer in the swarm, or when it is a non-seeding peer, upload slot control is managed exceptionally well.[19]

FileHippo controversy

The download site FileHippo ceased carrying new versions of BitComet in April 2008, with this announcement.

As of April 2008 FileHippo will no longer be updating BitComet. As they have copied the FileHippo site text, files, images and update checker and are passing it off as original work. We recommend you use a different more reputable torrent client such as uTorrent.[20]

This occurred after FileHippo reportedly noticed that the design and code of the AppHit.com site was very similar with the one FileHippo used, copying not only icons, but text from FileHippo's website and FileHippo's own original update checking software.

Because AppHit and BitComet were contractual partners, FileHippo decided to stop carrying BitComet. BitComet has since terminated the partnership, by 2015 FileHippo made BitComet available once more.

Torrent file format

According to the official BitTorrent specification, 'All strings in a .torrent file that contains text must be UTF-8 encoded'.[21] When generating torrents on non-Latin character systems such as Chinese or Japanese, BitComet versions prior to 1.20[22] encoded the files' names and paths using the Windows Chinese/Japanese code page, and stored a UTF-8 version in a non-standard attribute.[23] Starting with the March 2010 release of version 1.20, BitComet's torrent format now conforms to the standard.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Topoloski. “If the BitComet user is the initial seeder, that user will take more time and bandwidth to seed a torrent than any other BitTorrent client I have ever used. (Tests: BitComet 200% to 255%, MainLine 145% to 175%, uTorrent with Super-Seeding 105% to 115%). However, when BitComet is a non-seeding peer, it has exceptionally intelligent slot control. BitComet adjusts the speed of each upload slot individually, providing more upload bandwidth to peers that reciprocate with more upload bandwidth of their own. ... BitComet is an exceptionally poor upload client and should be avoided if the user will be the initial uploader to a swarm. ... This is not an issue if the BitComet user is a seeder in an already-seeded swarm.”
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.

External links