BitTorrent BEP 19: GetRight Web Seeding Explained

BitTorrent Enhancement Proposal 19 (BEP 19), commonly known as GetRight-style web seeding, is a specification that allows BitTorrent clients to download file pieces directly from traditional HTTP or FTP web servers alongside regular peer-to-peer (P2P) transfers. This article explains how BEP 19 works, its technical implementation, why it was developed, and how it ensures torrent availability even when no traditional peer seeders are online.

The Purpose of Web Seeding

In standard BitTorrent swarms, file distribution relies entirely on peers and dedicated seeds running BitTorrent client software. If the original uploader goes offline and no full copies remain in the swarm, the torrent becomes incomplete and unusable.

BEP 19 solves this issue by allowing publishers to use existing standard web hosting infrastructure as a fallback source. When a swarm lacks active seeders, clients can fetch missing pieces from a standard web server and subsequently share those pieces with other connected peers.

How BEP 19 Works

The BEP 19 mechanism integrates standard web servers into the BitTorrent ecosystem using the following process:

  1. Metadata Integration: When generating a .torrent file, the creator includes a url-list key in the torrent’s metadata dictionary. This key contains one or more HTTP or FTP URLs pointing directly to the file (for single-file torrents) or the root directory containing the files (for multi-file torrents).
  2. Byte-Range Requests: BitTorrent divides files into uniform chunks called “pieces.” When a client needs a piece from the web seed, it issues a standard HTTP GET request using the Range header (e.g., Range: bytes=1048576-2097151) to retrieve the exact byte offset corresponding to that piece.
  3. Data Verification: Once the piece is downloaded via HTTP/FTP, the BitTorrent client verifies its cryptographic SHA-1 hash against the hash list stored in the .torrent file. If the hash matches, the data is marked as valid.
  4. P2P Redistribution: As soon as a client validates a piece retrieved from the web seed, it advertises availability of that piece to other peers in the swarm, offloading bandwidth from the web server to the P2P network.

Single-File vs. Multi-File Torrents

Key Advantages

BEP 19 vs. BEP 17

BEP 19 is distinct from BEP 17 (the Hoffman-style web seeding specification). While BEP 17 requires the web server to run custom scripts or redirects capable of understanding BitTorrent piece indexing and multi-file structures, BEP 19 works directly with unmodified, standard web servers that support basic HTTP/1.1 range requests. Due to its simplicity and zero-configuration server requirements, BEP 19 became the widely adopted industry standard for BitTorrent web seeding.