BitTorrent tracker
Encyclopedia
A BitTorrent tracker is a server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...

 that assists in the communication between peers
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...

 using the BitTorrent protocol. It is also, in the absence of extensions to the original protocol, the only major critical point, as clients are required to communicate with the tracker to initiate downloads. Clients that have already begun downloading also communicate with the tracker periodically to negotiate with newer peers and provide statistics; however, after the initial reception of peer data, peer communication can continue without a tracker.

Trackers and indexers

A tracker should be differentiated from a BitTorrent index
BitTorrent index
A BitTorrent index is a list of .torrent files , managed by a website, that is available for searching files to download through BitTorrent protocol. It should be differentiated from a BitTorrent tracker, which merely coordinates communication between peers attempting to download the payload of the...

 by the fact that it does not necessarily list files that are being tracked. A BitTorrent index is a list of .torrent files, usually including descriptions and other information. Trackers merely coordinate communication between peers attempting to download the payload of the torrents.

Many BitTorrent websites act as both tracker and index. Sites such as these publicize the tracker's URL and allow users to upload torrents to the index with the tracker's URL embedded in them, providing all the features necessary to initiate a download.

Public trackers

Open trackers can be used by anyone by adding the tracker address to an existing torrent, or they can be used by any newly created torrent. The most popular ones are OpenBitTorrent
OpenBitTorrent
OpenBitTorrent is an open BitTorrent tracker project for the BitTorrent protocol.-Description:OpenBitTorrent's initiative to provide a free, stable service with no ties to indexing sites or even hosting torrent files has been a huge public success and it has spawned several copies with almost...

 and PublicBitTorrent. The Pirate Bay
The Pirate Bay
The Pirate Bay is a Swedish website which hosts magnet links and .torrent files, which allow users to share electronic files, including multimedia, computer games and software via BitTorrent...

 used to run a tracker, but has since disabled it, although the website remains as a torrent index.

Private trackers

A private tracker is a BitTorrent tracker that restricts use, by requiring users to register with the site. The method for controlling registration used amongst many private trackers is an invitation system
Invitation system
An invitation system is a method of joining an organization, such as a club or a website. In regular society, it refers to any system whereby new members are chosen; they cannot simply apply...

, in which active and contributing members are given the ability to grant a new user permission to register at the site. Invitations, typically sent via email or an invite code system, are normally granted to active users who have uploaded a pre-determined amount or meet specific upload-to-download ratio requirements. Trading invites for different sites is highly frowned upon in the private BitTorrent community as it allows anti-piracy groups to infiltrate private trackers more easily . Most private trackers monitor how much users upload or download, and in most situations, enforce a minimum upload-to-download ratio.

Some of the allure of private tracker versus a public one are: higher speeds, a tighter community, and safer downloads. Private trackers implement a strict set of rules, so generally files containing malware are extremely uncommon. Many private trackers keep in close contact with each other, so bad users (who trade invites or attempt to fake their ratio) can be quickly blacklisted. Almost all private trackers implement a passkey system, where each user is given a personalized announce URL so if there is unauthorized distribution, it can be pinpointed to the user responsible. Some private trackers have a higher level of security than others — many sites only allow their users to refer to their site as an abbreviation, and never as the site's full name or URL. Other trackers restrict invites to outstanding members, and many trackers, to increase security, have eliminated the invite system altogether. An example of a private tracker is Oink's Pink Palace
Oink's Pink Palace
Oink's Pink Palace was a prominent BitTorrent tracker which operated from 2004 to 2007. Following a two-year investigation by the International Federation of the Phonographic Industry , and the British Phonographic Industry , the site was shut down on 23 October 2007, by British and Dutch police...

, which was forcibly shut down in late 2007 by law enforcement officials.

The downside is that in a closed community it can be hard for all members to maintain the required ratio. Competitions may be offered, with prizes of improved ratios. Some trackers will exchange ratio credit for donations. Some trackers will also use "free leech" systems to improve the users ratio. When downloading a free leech torrent only the upload gets logged in, the download is ignored. Usually large torrents are offered as free leech. Seeding to a ratio of at least 1 is still recommended even for free leech torrents.

Legal issues

Many torrent trackers have been the target of cease and desist
Cease and desist
A cease and desist is an order or request to halt an activity and not to take it up again later or else face legal action. The recipient of the cease-and-desist may be an individual or an organization....

 lawsuits from copyright bodies despite the fact that a tracker does not actually host or distribute any copyrighted data itself.

A complicating factor is that torrent tracking websites operate in a variety of countries, including countries with copyright laws that differ from the country of origin of the copyrighted material, and countries in which different actions may be legal or illegal.

Further complicating factors are that there are many circumstances under which it is legal to distribute copyrighted material — indeed there are currently some experiments at legally selling content that is distributed over BitTorrent using a "secure" tracker system . For instance, copyright holders may choose to allow their content to be distributed for free, using licenses such as the Creative Commons
Creative Commons
Creative Commons is a non-profit organization headquartered in Mountain View, California, United States devoted to expanding the range of creative works available for others to build upon legally and to share. The organization has released several copyright-licenses known as Creative Commons...

 family, or the GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

. In addition, some countries also have fair use provisions in copyright law, which allow people the right to access and use certain classes of copyrighted material without breach of the law.

Besides these complications with copyrighted files using various licenses, there is also the fact that many kinds of data are in the public domain
Public domain
Works are in the public domain if the intellectual property rights have expired, if the intellectual property rights are forfeited, or if they are not covered by intellectual property rights at all...

 and therefore not subject to copyright at all.

Perhaps the most complicated portion of this legal debate is the fact that although Bittorrent indexes and trackers provide means to receive and send copyrighted data between users, they do not host any copyrighted materials, and no copyrighted materials ever traverse these trackers or indexers.

Improving torrent reliability

Trackers are the primary reason for a damaged BitTorrent 'swarm'. (Other reasons are mostly related to damaged or hacked clients uploading corrupt data.) The reliability of trackers has been improved through two main innovations in the BitTorrent protocol.

Multi-tracker torrents

Multi-tracker torrents feature multiple trackers in a single torrent file. This provides redundancy in the case that one tracker fails, the other trackers can continue to maintain the swarm for the torrent. One disadvantage to this is that it becomes possible to have multiple unconnected swarms for a single torrent where some users can connect to one specific tracker while being unable to connect to another. This can create a disjoint set which can impede the efficiency of a torrent to transfer the files it describes.

Trackerless torrents

The original BitTorrent client was the first to offer decentralized, distributed
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...

 tracking using a distributed hash table
Distributed hash table
A distributed hash table is a class of a decentralized distributed system that provides a lookup service similar to a hash table; pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key...

 (DHT), making torrents more independent from the tracker. Later, Vuze
Vuze
Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...

, rTorrent
RTorrent
rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for Unix, whose author's goal is “a focus on high performance and good code”...

, µTorrent, BitComet
BitComet
BitComet 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...

, KTorrent
KTorrent
KTorrent is a BitTorrent client written in C++ for KDE using the Qt user interface toolkit. It is maintained in the KDE Extragear.- Features :*Upload and download speed capping / throttling & scheduling...

, and Transmission adopted this feature. Vuze's "Distributed Database" feature uses its own form of DHT (Kademlia
Kademlia
Kademlia is a distributed hash table for decentralized peer-to-peer computer networks designed by Petar Maymounkov and David Mazières in 2002. It specifies the structure of the network and the exchange of information through node lookups. Kademlia nodes communicate among themselves using UDP. A...

) which is incompatible with the official BitTorrent client's implementation; however, support for the official implementation can be added through the Mainline DHT plugin. Most other clients support the official DHT implementation.

IPv6 support

One of the options for this HTTP based tracker protocol is the "compact" flag. This flag specifies that the tracker can compact the response by encoding IPv4
IPv4
Internet Protocol version 4 is the fourth revision in the development of the Internet Protocol and the first version of the protocol to be widely deployed. Together with IPv6, it is at the core of standards-based internetworking methods of the Internet...

 addresses as a set of 4 bytes (32 bits).
IPv6
IPv6
Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...

 though are 128 bits long, and as such, the "compact" flag breaks IPv6 support. Trackers which support IPv6 clients thus currently ignore the compact flag. There have been mentions of a "compact6" flag, but this mechanism has not been adopted yet by the various BitTorrent clients.

Software

opentracker
Opentracker
opentracker is a free BitTorrent peer tracker software that is designed to be fast and to have a low consumption of system resources.- Features :...

 from Dirk Engling powered one of the biggest BitTorrent trackers, The Pirate Bay
The Pirate Bay
The Pirate Bay is a Swedish website which hosts magnet links and .torrent files, which allow users to share electronic files, including multimedia, computer games and software via BitTorrent...

 tracker.

Atrack is a high performance open source tracker designed to run on Google App Engine
Google App Engine
Google App Engine is a platform as a service cloud computing platform for developing and hosting web applications in Google-managed data centers. It virtualizes applications across multiple servers,...

.

BitStorm is a small tracker written in PHP which does not require a database and runs on any PHP compatible web server. BitStorm on Google Code

See BitTorrent tracker software for a list of BitTorrent tracker software.

See also

  • BitTorrent (protocol)
  • BitTorrent client
    BitTorrent client
    BitTorrent is a peer-to-peer program developed by Bram Cohen and BitTorrent, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version...

  • Comparison of BitTorrent tracker software
    Comparison of BitTorrent tracker software
    The following is a list of notable software for running a BitTorrent tracker....

  • BNBT - C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

     port of the original BitTorrent tracker written in Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

     by Bram Cohen
    Bram Cohen
    Bram Cohen is an American computer programmer, best known as the author of the peer-to-peer BitTorrent protocol, as well as the first file sharing program to use the protocol, also known as BitTorrent...

  • Bram Cohen
    Bram Cohen
    Bram Cohen is an American computer programmer, best known as the author of the peer-to-peer BitTorrent protocol, as well as the first file sharing program to use the protocol, also known as BitTorrent...

  • Distributed hash table
    Distributed hash table
    A distributed hash table is a class of a decentralized distributed system that provides a lookup service similar to a hash table; pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key...

  • UDP tracker
    UDP tracker
    The UDP tracker protocol is a high-performance low-overhead BitTorrent tracker protocol. It uses the stateless User Datagram Protocol for data transmission instead of the HTTP protocol regular trackers use...

  • XBT Tracker
    XBT Tracker
    XBT Tracker is a free and open-source BitTorrent tracker written in C++ by Olaf van der Spek. Because it is a "pure" tracker, it does not offer a frontend. The software is specifically designed to consume few resources, while maintaining a high level of performance. It listens on port 2710 by...

     - C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

     BitTorrent tracker designed for performance (does not serve .torrent files or other web pages); requires MySQL
    MySQL
    MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...


External links




The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK