BitTorrent Mainline is a BitTorrent client based on BitTorrent Mainline, a client originally created by Ludvig Strigeus (ludde), and is currently maintained by a team of developers at BitTorrent, Inc. A client is a computer program that follows the rules of a protocol. For example, HTTP (HyperText Transfer Protocol) is the protocol used for transferring web pages and other content, and your HTTP client (or web browser) is the program you use to get those web pages. Some popular browsers include Microsoft Internet Explorer, Mozilla Firefox, Opera, and Apple Safari. To an extent, they all work in the same way because they follow the same set of rules. Just as there are multiple HTTP clients, there are multiple BitTorrent clients that observe and conform to guidelines set in the BitTorrent protocol definition, and BitTorrent Mainline is one such BitTorrent client.
So what sets BitTorrent Mainlineapart from other BitTorrent clients?
  • Micro-Sized Yet Feature Filled: Most of the features present in other BitTorrent clients are present in BitTorrent Mainline, including bandwidth prioritization, scheduling, RSS auto-downloading and Mainline DHT (compatible with BitComet). Additionally, BitTorrent Mainlinesupports the Protocol Encryption joint specification and peer exchange.
  • Resource-Friendly: Most of the features present in other BitTorrent clients are present in BitTorrent Mainline, including bandwidth prioritization, scheduling, RSS auto-downloading and Mainline DHT (compatible with BitComet). Additionally, BitTorrent Mainlinesupports the Protocol Encryption joint specification and peer exchange.
  • Skinnable and Localized: Various icon, toolbar graphic and status icon replacements are available, and creating your own is very simple. BitTorrent Mainline also has support for localization, and with a language file present, will automatically switch to your system language. If your language isn't available, you can easily add your own, or edit other existing translations to improve them!
  • Actively Developed and Improved: The developers put in a lot of time working on features and making things more user-friendly. Releases only come out when they're ready, with no schedule pressures, so the few bugs that appear are quickly addressed and fixed.

Although compact and resource-friendly, BitTorrent Mainline does not skimp on features, with a feature set that rivals those of larger clients, such as Azureus, BitComet, and BitTornado. BitTorrent Mainline's more notable features include:
  • Bandwidth limiter (automatic and manual)
  • Customizable interface
  • Disk Cache system
  • Distributed Hash Table (DHT) support
  • Download bar
  • Download scheduler
  • Embedded tracker
  • HTTPS tracker support
  • Initial Seeding (Super Seeding)
  • IP Blocklist support
  • Local Peer Discovery (LPD)
  • Local Tracker Discovery
  • Localization
  • Magnet URI support
  • Multi-scrape support
  • Multi-torrent interface with queueing support
  • NAT Port Mapping Protocol (NAT-PMP) support
  • Peer Exchange
  • Protocol Encryption
  • Proxy support
  • RSS "Broadcatching"
  • Search bar
  • Selective file downloading
  • Tetris (Easter Egg)
  • Unicode support
  • Universal Plug and Play (UPnP) support
  • Web Interface
  • Web Seeding support

BitTorrent Mainline’s system requirements are very low, especially considering the operations it must perform. Systems running Windows 95 on a 486 processor with 14 MiB of RAM are able to run BitTorrent Mainline without issue. Naturally, this compatibility spans all the way up to even Microsoft's latest operating system. Every operating system in between is supported by BitTorrent Mainline.
It should be noted that Windows 95 users must install the Windows Socket 2 Update in order to use BitTorrent Mainline. Windows 95/98 users should have their global maximum number of connections set lower than the value for the MaxConnections value in the Windows TCP/IP Registry Entries. Additionally, Microsoft Internet Explorer 4 or greater should be installed on Windows 95/98 operated computers if users wish to make use of several features in BitTorrent Mainline, such as the toolbar, graphs in the pieces and files tab, and double-clicking in the torrent jobs list.
Users of non-Windows operating systems may be able to use BitTorrent Mainline on their computers with the use of a special piece of software that allows the operating system to run Windows applications. Note that there are no guarantees of any kind that everything will work properly when BitTorrent Mainline is used on alternative operating systems.




The Basics of BitTorrent

BitTorrent (often abbreviated as BT) is a peer-to-peer (P2P) protocol (a description and set of rules on how to do things) created by Bram Cohen, designed to distribute data in such a way that the original distributor would be able to decrease bandwidth usage while still being able to reach at least the same amount of people. Cohen's idea was to "break" the file being transferred into smaller segments called pieces. To save bandwidth, each person downloading (more commonly referred to as peers in the BitTorrent community) would have the pieces that they acquired available for upload to other peers in the swarm (the entire network of people connected to a single torrent). In this way, much of the load of sharing the file to every peer interested in it is offloaded to the peers. Note that a seed is basically a peer with every piece, so when a peer successfully attains all data in the torrent contents, that peer becomes a seed as well.
While on the surface, it appears that the only way to maintain a swarm's health is for there to always be a seed connected to the swarm, that is not the case. The most important factor to determining whether a swarm can continue to allow peers to complete a torrent is the availability. The availability of a torrent is the number of complete copies of the torrent contents there are distributed in the part of the swarm you're connected to, including yourself. In most cases, if there is an availability of 1.0 or greater, then even if one single person does not have all the pieces, they are all still distributed across the entire swarm and can be acquired to form the complete file.
In order for everyone to be able to locate one another, there needs to be some centralized location that peers could connect to in order to obtain the other peers' IP addresses. BitTorrent trackers serve as this centralized location. In the most basic explanation, for each given swarm, a tracker only needs to collect a peer's IP address and port number to share with other peers connecting to that same swarm.
Because of the very nature of BitTorrent, speeds are not guaranteed for any given torrent swarm. While you may get great speeds in one swarm, you might not in another. This is due to the fact that BitTorrent is a P2P protocol, so it depends on the upload speeds of the other peers you are connected to to generate your download speeds. A common misconception held by many people is that torrent swarms that contain more seeds and peers are faster than those with less. This is not always the case. There can be a swarm with only a few seeds and/or peers on fast Internet connections, and you'll be able to get great speeds from them, while a swarm with many more seeds and/or peers might contain mostly people with slow, dial-up Internet connections, will get you terrible speeds from them. In the same vein, connecting to more seeds and/or peers does not equate to greater speeds, and seeds don't necessarily give better speeds than normal peers.