BEP

BitTorrent Enhancement Proposals

Proposals for the BitTorrent protocol and Mainline DHT.

56 specs indexed from bittorrent/bittorrent.org

56 specs · page 1 of 2
BEP 0
process

Index of BitTorrent Enhancement Proposals

p2p

The BitTorrent Community Forum coordinates the development of the BitTorrent protocol suite and its reference implementation. It is the wish of Bram Cohen that the BitTorrent mainline python implementation remain open source and that the protocol development process be modelled after the Python Enhancement Proposal (PEP) process [#python]_.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#0

BEP 1
process

The BitTorrent Enhancement Proposal Process

eventsp2p

What is a BEP

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#1

BEP 2
process

Sample reStructured Text BEP Template

p2p

This BEP provides a boilerplate or sample template for creating your own reStructuredText BEPs. In conjunction with the content guidelines in BEP 1 [#BEP-1]_, this should make it easy for you to conform your own BEPs to the format outlined below. Note: if you are reading this BEP via the web, you should first grab the text (reStructuredText) source of this BEP in order to complete the steps belo

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#2

BEP 3
specification

The BitTorrent Protocol Specification

p2p

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.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#3

BEP 4
process

Assigned Numbers

addressesdhtp2p

This document describes the known bit allocations and message IDs for the BitTorrent protocol. To request a bit allocation contact editor@bittorrent.org. Contact the same address if you are aware of any omissions.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#4

BEP 5
specification

DHT Protocol

dhtp2prouting

BitTorrent uses a "distributed sloppy hash table" (DHT) for storing peer contact information for "trackerless" torrents. In effect, each peer becomes a tracker. The protocol is based on Kademila [#Kademlia]_ and is implemented over UDP.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#5

BEP 6
specification

Fast Extension

opcodeskey-managementp2p

The Fast Extension packages several extensions: *Have None/Have All*, *Reject Requests*, *Suggestions* and *Allowed Fast.* These are enabled by setting the third least significant bit of the last reserved byte in the BitTorrent handshake:

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#6

BEP 7
specification

IPv6 Tracker Extension

addresseskey-managementp2p

This extension extends the tracker response to better support IPv6 peers as well as defines a way for multi homed machines to announce multiple addresses at the same time. This proposal addresses the use case where peers are either on an IPv4 network running Teredo_ or peers are on an IPv6 network with an IPv4 tunnel interface.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#7

BEP 8
specification

Tracker Peer Obfuscation

key-managementeventsp2p

This extends the tracker protocol to support simple obfuscation of the peers it returns, using the infohash as a shared secret between the peer and the tracker. The obfuscation does not provide any security against eavesdroppers that know the infohash of the torrent. The goal is to prevent internet service providers and other network administrators from blocking or disrupting bittorrent traffic c

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#8

BEP 9
specification

Extension for Peers to Send Metadata Files

key-managementp2p

The purpose of this extension is to allow clients to join a swarm and complete a download without the need of downloading a .torrent file first. This extension instead allows clients to download the metadata from peers. It makes it possible to support *magnet links*, a link on a web page only containing enough information to join the swarm (the info hash).

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#9

BEP 10
specification

Extension Protocol

scriptp2p

The intention of this protocol is to provide a simple and thin transport for extensions to the bittorrent protocol. Supporting this protocol makes it easy to add new extensions without interfering with the standard bittorrent protocol or clients that don't support this extension or the one you want to add.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#10

BEP 11
specification

Peer Exchange (PEX)

dhtp2p

Peer Exchange (PEX) provides an alternative peer discovery mechanism for swarms once peers have bootstrapped via other mechanisms such as DHT or Tracker announces.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#11

BEP 12
specification

Multitracker Metadata Extension

key-management

Metadata Extension

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#12

BEP 14
specification

Local Service Discovery

addressesp2p

Local Service Discovery (LSD) provides a SSDP-like (http over udp-multicast) mechanism to announce the presence in specific swarms to local neighbors.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#14

BEP 15
specification

UDP Tracker Protocol for BitTorrent

addresseskey-managementp2p

Introduction

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#15

BEP 16
specification

Superseeding

p2p

The super-seed feature in S-5.5 and on is a new seeding algorithm designed to help a torrent initiator with limited bandwidth "pump up" a large torrent, reducing the amount of data it needs to upload in order to spawn new seeds in the torrent.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#16

BEP 17
specification

HTTP Seeding

addresseskey-managementscriptp2p

Metadata Extension

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#17

BEP 18
specification

Search Engine Specificiation

key-managementscriptp2p

Rationale

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#18

BEP 19
specification

WebSeed - HTTP/FTP Seeding (GetRight style)

key-managementscriptp2p

Using HTTP or FTP servers as seeds for BitTorrent downloads.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#19

BEP 20
process

Peer ID Conventions

p2p

The 20-byte *peer id* field sent in tracker requests and in the peer handshake has traditionally been used not only to identify peers but also to identify the client implementation and version.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#20

BEP 21
specification

Extension for partial seeds

key-managementeventsp2p

The purpose of this extension is to allow further optimizations of bittorrent swarms when peers are *partial seeds*. A partial seed is a peer that is incomplete without downloading anything more. This happens for multi file torrents where users only download some of the files.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#21

BEP 22
specification

BitTorrent Local Tracker Discovery Protocol

key-managementp2p

Motivation

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#22

BEP 23
specification

Tracker Returns Compact Peer Lists

addresseskey-managementp2p

To reduce the size of tracker responses and to reduce memory and computational requirements in trackers, trackers may return peers as a packed string rather than as a bencoded list. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF RFC 2119 [#RFC-2119]_.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#23

BEP 24
specification

Tracker Returns External IP

addresseskey-managementp2p

So that peers may easily determine their IP address. A BitTorrent tracker may return the requesting peer's public IP address.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#24

BEP 25
specification

An Alternate BitTorrent Cache Discovery Protocol

addressesp2p

Motivation

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#25

BEP 26
specification

Zeroconf Peer Advertising and Discovery

p2p

Abstract

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#26

BEP 27
specification

Private Torrents

addresseskey-managementp2p

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF RFC 2119 [#RFC-2119]_.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#27

BEP 28
specification

Tracker exchange extension

dhtp2p

Tracker exchange extension

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#28

BEP 29
specification

uTorrent transport protocol

p2p

uTorrent Transport Protocol

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#29

BEP 30
specification

Merkle hash torrent extension

p2p

BitTorrent requires a torrent file containing a cryptographic digest of every piece of the content to allow the verification of pieces during the download. Large torrent files put a strain on the Web servers distributing them, and cannot be directly included in RSS feeds or gossiped around. A related problem is the use of large piece sizes. To keep the size of a torrent file small (as to not over

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#30

BEP 31
specification

Failure Retry Extension

addressesp2p

This BEP provides a simple backward compatible extension for the BitTorrent Tracker Protocol (`BEP 0003`_) to provide a client with more details on a failure, specifying if a failure is permanent or temporary and when the request can be repeated.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#31

BEP 32
specification

BitTorrent DHT Extensions for IPv6

addressesdhtp2prouting

This document describes a set of extensions to the BitTorrent DHT [#BEP-5]_ to allow operation over IPv6.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#32

BEP 33
specification

DHT Scrapes

key-managementdhtp2prouting

Abstract

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#33

BEP 34
specification

DNS Tracker Preferences

privacyeventsp2p

Sometimes when users create torrents they mistakingly add website URLs as trackers. This results in those websites getting flooded with unwanted HTTP traffic. To prevent this flooding, trackers and websites can declare via DNS TXT record which ports (if any) on which they are running trackers. If a torrent contains a URL that according to this record does not have a tracker running on it, the cl

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#34

BEP 35
specification

Torrent Signing

key-managementp2psigning

When users open torrents, they normally receive a warning to alert them of the fact that the contents may be dangerous. If we can be confident that the torrent came from a trusted source, we can forego this unnecessary hassle and users can feel safer about downloading these files. To identify the source of a torrent, RSA signatures can be embedded into the .torrent file. These signatures can veri

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#35

BEP 36
specification

Torrent RSS feeds

key-managementp2p

It has become common practice to publish RSS feeds linking to content by using torrent files. This BEP attempts to document and standardize how to format such RSS feeds.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#36

BEP 37
informational

Anonymous BitTorrent over proxies

p2p

This BEP aims to provide recommendations for BitTorrent clients using proxies for the purpose of obfuscating the origin of its traffic. It primarily focuses on ways to inadvertantly leak information that could aid an adversary in discovering the origin.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#37

BEP 38
specification

Finding Local Data Via Torrent File Hints

key-managementp2p

Often content providers distribute torrents that share some of the same files. This is most frequently done with episodic content or content that recieves periodic updates. Currently, when downloading a torrent, users must download all files within that torrent regardless of whether or not they have already downloaded them using a different torrent. This extension adds the ability for content prov

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#38

BEP 39
specification

Updating Torrents Via Feed URL

key-managementp2psigning

With episodic content or content that recieves periodic updates, it's often useful for users to be able to subscribe to subsequent episodes or revisions. This BEP aims to provide a convenient way for users to do so by allowing content providers to embed a feed URL into a torrent file.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#39

BEP 40
specification

Canonical Peer Priority

addressesp2p

The aim of this bep is to solve two problems with BitTorrent: 1. The barrier of entry to a swarm may be high when most peers (or at least most early peers with most of the data) are all fully connected at all times, never having a connection slot for new incoming connections. Peers are likely to attempt a new outgoing connection immediately when a peer is dropped, to reach the connection limit. T

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#40

BEP 41
specification

UDP Tracker Protocol Extensions

p2pauth

Since its initial inception, the UDP Tracker Protocol has seen widespread adoption by the BitTorrent ecosystem. It is by far the dominant tracker protocol in use, dwarfing the earlier HTTP-based protocol. However, the current version of the UDP protocol used to today does not include any method of adding extensions or additional features. Worse, previous versions of the protocol have described

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#41

BEP 42
specification

DHT Security extension

addresseskey-managementdhtp2prouting

DHT Security Extension

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#42

BEP 43
specification

Read-only DHT Nodes

eventsdhtp2prouting

This extension introduces the concept of a 'read-only' DHT node for devices which are behind a restrictive NAT where hole punching has failed and the node is essentially uncontactable or for devices where additional network traffic can affect device users monetarily, when devices have a fixed data plan, and in usability, where traffic adversely affects battery life.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#43

BEP 44
specification

Storing arbitrary data in the DHT

addresseskey-managementdhtp2p

This extension enables storing and retrieving of arbitrary data in the BitTorrent DHT [#BEP-5]_. It supports both storing immutable items, where the key is the SHA-1 hash of the data itself, and mutable items, where the key is the public key of the key pair used to sign the data.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#44

BEP 45
informational

Multiple-address operation for the BitTorrent DHT

addressesdhtp2prouting

Multiple-address operation for the BitTorrent DHT

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#45

BEP 46
specification

Updating Torrents Via DHT Mutable Items

key-managementdhtp2p

This extension enables torrents to update based on data stored in the BitTorrent DHT [#BEP-44]_, rather than an HTTP server. The publisher has control over when the torrent is updated, and which content it contains, via mutable DHT items. It is similar to BEP 39 [#BEP-39]_, with the difference being that it uses the DHT to notify and be notified about updates of a torrent, hence should provide mor

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#46

BEP 47
specification

Padding files and extended file attributes

p2p

Padding files and extended file attributes

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#47

BEP 48
specification

Tracker Protocol Extension: Scrape

key-managementp2p

The original BitTorrent Protocol Specification [#BEP_003]_ defines one exchange between a client and a tracker referred to as an announce. In order to build responsive user interfaces, clients desired an additional way to query metadata about swarms in bulk. The exchange that fetches this metadata for the clients is referred to as a scrape. It should be noted that scrape exchanges have no effect o

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#48

BEP 49
specification

Distributed Torrent Feeds

p2p

This document specifies conventions for content feeds represented as torrents within torrents, i.e. metadata files which in turn list metadata files describing the actual content. The goal is to provide functionality comparable to RSS Feeds [#BEP-36]_ but in a distributed fashion by using the bittorrent protocol itself.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#49

BEP 50
specification

Publish/Subscribe Protocol

key-managementdhtp2prouting

This BEP defines a modification of the DHT protocol [#BEP-5]_ to provide a topic based publish/subscribe service rather than a key/value store. Each topic is associated with a mutable item [#BEP-44]_. Messages are published as new values for the mutable item. A separate overlay network is maintained for each topic.

No reviews
pk:bep-mirror·Mar 29, 2026
BEPs — Merged

#50