File:BitTorrent_logo.svg · Wikimedia Commons · See Wikimedia Commons
BitTorrent
Sign in to saveAlso known as BT, Bit Torrent, Torrent
BitTorrent is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner. The act of downloading and uploading data via BitTorrent is also labeled "torrenting". The protocol is developed and maintained by Rainberry, Inc., and was first released in 2001.
BitTorrent is a system that lets people download and upload files directly from each other over the internet, rather than relying on a single central server. This decentralized approach, first released in 2001, allows large files to be shared more efficiently by breaking them into pieces that come from multiple sources at once.
AI-generated from the Wikipedia summary — may contain errors.
Key facts
- Software.logo
- BitTorrent logo.svg
- Software.logo_caption
- Logo of the BitTorrent client
- Software.author
- Bram Cohen
- Software.developer
- Rainberry, Inc.
- Software.standard
- The BitTorrent Protocol Specification
- Software.genre
- peer-to-peer file sharing
via Wikipedia infobox
Described at
bep_0003.rst_post
bittorrent.org →BitTorrent is a protocol for distributing files. It identifies content by URL and is designed to integrate seamlessly with the web. Its advantage over plain HTTP is that when multiple downloads of the same file happen concurrently, the downloaders upload to each other, making it possible for the file source to support very large numbers of downloaders with only a modest increase in its load. 1. Start running a tracker (or, more likely, have one running already). 2. Start running an ordinary web server, such as apache, or have one already. 3. Associate the extension .torrent with mimetype application/x-bittorrent on their web server (or have done so already). 4. Generate a metainfo (.torrent) file using the complete file to be served and the URL of the tracker. 5. Put the metainfo file on the web server. 6. Link to the metainfo (.torrent) file from some other web page. 7. Start a downloader which already has the complete file (the 'origin'). Metainfo files (also known as .torrent files) are bencoded dictionaries with the following keys: All strings in a .torrent file that contains text must be UTF-8 encoded. For the purposes of the other keys, the multi-file case is treated as only having a single file by concatenating the files in the order they appear in the files list. The files list is the value files maps to, and is a list of dictionaries containing the following keys: The 20 byte sha1 hash of the bencoded form of the info value from the metainfo file. This value will almost certainly have to be escaped. Note that this is a substring of the metainfo file. The info-hash must be the hash of the encoded form as found in the .torrent file, which is identical to bdecoding the metainfo file, extracting the info dictionary and encoding it if and only if the bdecoder fully validated the input (e.g. key ordering, absence of leading zeros). Conversely that means clients must either reject invalid metainfo files or extract the substring directly. They must not perform a decode-encode roundtrip on invalid data. The number of bytes this peer still has to download, encoded in base ten ascii. Note that this can't be computed from downloaded and the file length since it might be a resume, and there's a chance that some of the downloaded data failed an integrity check and had to be re-downloaded. Tracker responses are bencoded dictionaries. If a tracker response has a key failure reason, then that maps to a human readable string which explains why the query failed, and no other keys are required. Otherwise, it must have two keys: interval, which maps to the number of seconds the downloader should wait between regular rerequests, and peers. peers maps to a list of dictionaries corresponding to peers, each of which contains the keys peer id, ip, and port, which map to the peer's self-selected ID, IP address or dns name as a string, and port number, respectively. Note that downloaders may rerequest on nonscheduled times if an event happens or they need more peers. If you want to make any extensions to metainfo files or tracker queries, please coordinate with Bram Cohen to make sure that all extensions are done compatibly. Peer connections are symmetrical. Messages sent in both directions look the same, and data can flow in either direction. Connections contain two bits of state on either end: choked or not, and interested or not. Choking is a notification that no data will be sent until unchoking happens. The reasoning and common techniques behind choking are explained later in this document. Data transfer takes place whenever one side is interested and the other side is not choking. Interest state must be kept up to date at all times - whenever a downloader doesn't have something they currently would ask a peer for in unchoked, they must express lack of interest, despite being choked. Implementing this properly is tricky, but makes it possible for downloaders to know which peers will start downloading immediately if unchoked. Th
Excerpt from a page describing this subject · 16,885 chars · not written by Vinony
~40 min read
Encyclopedic overview
29 sectionsContents
- History
- Design
- Searching
- Downloading and sharing
- Creating and publishing
- Anonymity
- Associated technologies
- Distributed trackers
- Web seeding
- RSS feeds
- Throttling and encryption
- Multitrackers
- Peer selection
- Implementations
- Adoption
- Popularity and traffic statistics
- Film, video, and music
- Broadcasters
- Cloud Service Providers
- Software
- Government
- Education
- Others
- Legislation
- Security
- See also
- References
- Further reading
- External links
BitTorrent is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner. The act of downloading and uploading data via BitTorrent is also labeled "torrenting". The protocol is developed and maintained by Rainberry, Inc., and was first released in 2001.
To send or receive files, users use a BitTorrent client on their Internet-connected computer, which are available for a variety of computing platforms and operating systems, including an official client. BitTorrent trackers provide a list of files available for transfer and allow the client to find peer users, known as "seeds", who may transfer the files. BitTorrent downloading is considered to be faster than HTTP ("direct downloading") and FTP due to the lack of a central server that could limit bandwidth.
Excerpted from Wikipedia’s “BitTorrent” article, available under the CC BY-SA 4.0 licence.
Gallery (8)
Available in 67 languages
- Español
- Français
- Deutsch
- 中文
- 日本語
- Русский
- Português
- Italiano
- العربية
- हिन्दी
- Afrikaans
- Albanian
- Asturian
- Bahasa Indonesia
- Bangla
- Basque
- Belarusian
- Bosnian
Show 48 more
- Bulgarian
- Catalan
- Croatian
- Czech
- Danish
- Esperanto
- Estonian
- Finnish
- Galician
- Georgian
- Greek
- Hebrew
- Hungarian
- Ido
- Iloko
- Kurdish
- Latvian
- Lithuanian
- Lombard
- Malay
- Malayalam
- Marathi
- Nederlands
- Norwegian
- Norwegian Nynorsk
- Polski
- Quechua
- Romanian
- Serbian
- Serbian (Latin)
- simple
- Sinhala
- Slovak
- Slovenian
- Svenska
- Tamil
- Tatar
- Tiếng Việt
- Türkçe
- Ukrainian
- Urdu
- Uzbek
- Welsh
- Wu Chinese
- zh_yue
- فارسی
- ไทย
- 한국어
via Wikidata sitelinks · CC0