BitComet

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. Its first public release was version 0.28. The current BitComet logo has been used since version 0.50.

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 main 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), 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), Initial-Seeding (Super-Seeding) and support for Magnet Links.

When downloading, BitComet provides 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. 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.

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.

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

In February 2011, BitComet launched an anonymous downloading feature to its VIP customers. Using this feature, downloads will be handled by BitComet VIP servers and the real IP address of the user will be hidden.

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

Search engine
The search site is google.atcomet.com

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.

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 ignore 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. BitComet developer RnySmile reverted the client back to version 0.59 in response to the blacklisting.

The DHT exploit was fixed in version 0.61.

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 a collection of 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. 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"

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

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.

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'. When generating torrents on non-Latin character systems such as Chinese or Japanese, BitComet versions prior to 1.20 encoded the files' names and paths using the Windows Chinese/Japanese code page, and stored a UTF-8 version in a non-standard attribute. Starting with the March 2010 release of version 1.20, BitComet's torrent format now conforms to the standard.