tor-commits
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
July 2020
- 17 participants
- 2100 discussions
commit 992048474405c20504f8528bdd93bdb39568caae
Merge: 45325bd0 647c3f8d
Author: Antonela <antonela(a)torproject.org>
Date: Mon Jul 27 13:51:28 2020 +0000
Merge branch 'master' into 'master'
Rebase master
See merge request antonela/tpo!2
assets/static/images/membership/green.png | Bin 0 -> 239288 bytes
assets/static/images/membership/header.png | Bin 0 -> 334841 bytes
assets/static/images/membership/logos/Avast.png | Bin 0 -> 78009 bytes
.../static/images/membership/logos/MullvadVPN.svg | 197 +++++++++++++++++++++
assets/static/images/membership/shallot.png | Bin 0 -> 208458 bytes
assets/static/images/membership/vidalia.png | Bin 0 -> 169283 bytes
.../static/images/sponsors/Bertha_Foundation.jpg | Bin 0 -> 451667 bytes
content/about/membership/contents.lr | 13 ++
content/about/sponsors/Bertha/contents.lr | 19 ++
templates/membership.html | 138 +++++++++++++++
10 files changed, 367 insertions(+)
1
0
commit cfd88badb0f3f7784870c558bb923741d5c35e23
Author: antonela <antonela(a)torproject.org>
Date: Mon Jul 27 11:02:57 2020 -0300
Update members
---
assets/static/images/membership/logos/MullvadVPN.png | Bin 0 -> 21976 bytes
templates/membership.html | 11 +++++------
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/assets/static/images/membership/logos/MullvadVPN.png b/assets/static/images/membership/logos/MullvadVPN.png
new file mode 100644
index 00000000..2758df73
Binary files /dev/null and b/assets/static/images/membership/logos/MullvadVPN.png differ
diff --git a/templates/membership.html b/templates/membership.html
index 171b5285..6d915086 100644
--- a/templates/membership.html
+++ b/templates/membership.html
@@ -42,7 +42,7 @@
<div class="container">
<div class="row p-5 my-5 border text-center">
<p>
- Community is at the heart of the Tor Project Membership Program, and our members agree to join our community. As such, Members agree to adhere to <a href="https://gitweb.torproject.org/community/policies.git/tree/code_of_conduct.t…" title="Code of Conduct" target="_blank">Tor's Code of Conduct</a>, <a href="https://gitweb.torproject.org/community/policies.git/tree/social_contract.t…" title="Social Contract" target="_blank">Social Contract</a>, and our <a href="https://gitweb.torproject.org/community/policies.git/tree/statement_of_valu…" title="Statement of Values" target="_blank">Statement of Values</a>.
+ Your commitment to the community is at the heart of the Tor Project Membership Program, and our members agree to join our community. As such, Members agree to adhere to <a href="https://gitweb.torproject.org/community/policies.git/tree/code_of_conduct.t…" title="Code of Conduct" target="_blank">Tor's Code of Conduct</a>, <a href="https://gitweb.torproject.org/community/policies.git/tree/social_contract.t…" title="Social Contract" target="_blank">Social Contract</a>, and our <a href="https://gitweb.torproject.org/community/policies.git/tree/statement_of_valu…" title="Statement of Values" target="_blank">Statement of Values</a>.
</p>
</div>
</div>
@@ -51,10 +51,9 @@
<h3 class="col-12 text-primary display-4">Shallot Onion Members</h3>
<div class="col-md-4 col-xl-4 my-2">
<div class="card border-1 h-100">
- <img class="card-img-top" src="{{ '../../static/images/membership/logos/MullvadVPN.svg' }}" alt="MullvadVPN">
+ <img class="card-img-top" src="#" alt="">
<div class="card-body">
- <p><a href="#" class="h4">Mullvad VPN</a></p>
- Mullvad is a VPN service that helps users keep their online activity, identity, and location private. With a fundamental belief in privacy as a universal right, Mullvad's ultimate goal is to make Internet censorship and mass surveillance ineffective.
+ <p><a href="#" class="h4"></a></p>
</div>
</div>
</div>
@@ -81,12 +80,12 @@
<h3 class="col-12 text-primary display-4">Vidalia Onion Members</h3>
<div class="col-md-3 col-xl-3 my-2">
<div class="card border-1 h-100">
- <img class="card-img-top p-5" src="{{ '../../static/images/membership/logos/Avast.png' }}" alt="Avast">
+ <img class="card-img-top p-5" src="{{ '../../static/images/membership/logos/avast.png' }}" alt="Avast">
</div>
</div>
<div class="col-md-3 col-xl-3 my-2">
<div class="card border-1 h-100">
- <img class="card-img-top" src="#" alt="">
+ <img class="card-img-top p-3" src="{{ '../../static/images/membership/logos/MullvadVPN.png' }}" alt="MullvadVPN">
</div>
</div>
<div class="col-md-3 col-xl-3 my-2">
1
0
commit 77ecc21b1265697a33617bc4c64f6748454913d3
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Jul 27 09:38:54 2020 -0400
Write a README.md for torspec.
---
README.md | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 69 insertions(+)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..1a02a37
--- /dev/null
+++ b/README.md
@@ -0,0 +1,69 @@
+# Tor specifications
+
+This repository holds the specifications that describe how Tor works.
+They try to present Tor's protocols in sufficient detail to allow
+the reader to implement a compatible implementation of Tor without ever
+having to read the Tor source code.
+
+The [proposals](/proposals) directory holds our design proposals. These
+include historical documents that have now been merged into . For more
+information on the proposal process, including an explanation of how to
+make new proposals, see, see
+[001-process.txt](/proposals/001-process.txt).
+
+## What you can find here
+
+Tor's specification is pretty big, and we've broken it into a bunch of
+files.
+
+* General interest
+ * [tor-spec.txt](tor-spec.txt)
+ contains the specification for the core Tor protocol
+ itself; this is a good place to start reading.
+ * [cert-spec.txt](cert-spec.txt) describes a certificate format used
+ in the other parts of the protocol.
+ * [dir-spec.txt](dir-spec.txt) specifies the operations and formats used to
+ maintain a view of the network directory.
+ * [padding-spec.txt](padding-spec.txt) describes a set of padding mechanisms
+ used to impede traffic analysis.
+ * [version-spec.txt](version-spec.txt) explains how to parse Tor
+ version numbers.
+ * [glossary.txt](glossary.txt) is a glossary of terms used
+ in the other specifications.
+* Client operations
+ * [address-spec.txt](address-spec.txt) lists a set of special
+ addresses that Tor handles differently from the regular DNS system.
+ * [guard-spec.txt](guard-spec.txt) explains the "guard node" algorithm
+ that Tor clients use to avoid sampling attacks.
+ * [path-spec.txt](path-spec.txt) explains how clients choose their paths
+ through the Tor network.
+ * [socks-extensions](socks-extensions.txt) specifies Tor-specific
+ extensions to the SOCKS protocol.
+* Onion services
+ * [rend-spec-v2.txt](rend-spec-v2.txt) is the old, deprecated version
+ of the onion service protocol.
+ * [rend-spec-v3.txt](rend-spec-v3.txt) is the current version of the
+ onion service protocol.
+* Censorship resistance
+ * [bridgedb-spec.txt](bridgedb-spec.txt) explains how the `bridgedb`
+ server gives out bridges to censored clients.
+ * [gettor-spec.txt](gettor-spec.txt) describes the `gettor` tool,
+ which is used to download Tor in censored areas.
+ * [pt-spec.txt](pt-spec.txt) describes the protocol that Tor clients
+ and relays use to communicate with pluggable transports used for
+ traffic obfuscation.
+* Directory authorities
+ * [bandwidth-file-spec.txt](bandwidth-file-spec.txt) specifies the
+ file format used by bandwidth-measuring tools to report their
+ observations to directory authorities.
+ * [srv-spec.txt](src-spec.txt) specifies the protocol that
+ directory authorities use to securely compute shared random values
+ for the network.
+* Controller protocol
+ * [control-spec.txt](control-spec.txt) explains the protocol used by
+ controllers to communicate with a running Tor process.
+* Miscellaneous
+ * [dir-list-spec.txt](dir-list-spec.txt) explains the format used by
+ tools like the fallback directory scripts to output a list of
+ Tor directories for inclusion in the Tor source code.
+ * The [attic](attic) directory has obsolete or historical documents.
1
0

[torspec/master] Add a pair of templates for markdown proposal indices
by nickm@torproject.org 27 Jul '20
by nickm@torproject.org 27 Jul '20
27 Jul '20
commit 3395172250079bd0c9f20936037b3f9c2c23cc4d
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Jul 27 10:14:24 2020 -0400
Add a pair of templates for markdown proposal indices
---
proposals/INDEX_template.md | 10 +++++
proposals/README_template.md | 99 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 109 insertions(+)
diff --git a/proposals/INDEX_template.md b/proposals/INDEX_template.md
new file mode 100644
index 0000000..48c457c
--- /dev/null
+++ b/proposals/INDEX_template.md
@@ -0,0 +1,10 @@
+# Tor proposals by number
+
+Here we have a set of proposals for changes to the Tor protocol. Some
+of these proposals are implemented; some are works in progress; and some
+will never be implemented.
+
+Below are a list of proposals sorted by status. See
+[README.md](/proposals/README.md) for a list of proposals sorted by number.
+
+{BY_INDEX}
diff --git a/proposals/README_template.md b/proposals/README_template.md
new file mode 100644
index 0000000..b8fa7e2
--- /dev/null
+++ b/proposals/README_template.md
@@ -0,0 +1,99 @@
+# Tor proposals by status
+
+Here we have a set of proposals for changes to the Tor protocol. Some
+of these proposals are implemented; some are works in progress; and some
+will never be implemented.
+
+Below are a list of proposals sorted by status. See
+[INDEX.md](/proposals/INDEX.md) for a list of proposals sorted by number.
+
+# Active proposals by status
+
+## OPEN proposals: Under discussion
+
+These are proposals that we think are likely to be complete, and ripe
+for discussion.
+
+{OPEN}
+
+## ACCEPTED proposals: Slated for implementation
+
+These are the proposals that we agree we'd like to implement. They
+might or might not have a specific timeframe planned for their
+implementation.
+
+{ACCEPTED}
+
+## FINISHED proposals: Implemented, specs not merged
+
+These proposals are implemented in some version of Tor; the proposals
+themselves still need to be merged into the specifications proper.
+
+{FINISHED}
+
+## META proposals: About the proposal process
+
+These proposals describe ongoing policies and changes to the proposals
+process.
+
+{META}
+
+## INFORMATIONAL proposals: not actually specifications
+
+These proposals describe a process or project, but aren't actually
+proposed changes in the Tor specifications.
+
+{INFORMATIONAL}
+
+# Preliminary proposals
+
+## DRAFT proposals: incomplete works
+
+{DRAFT}
+
+## NEEDS-REVISION proposals: good ideas that we can't implement as-is.
+
+{NEEDS-REVISION}
+
+## NEEDS-RESEARCH proposals: blocking on research
+
+{NEEDS-RESEARCH}
+
+# Inactive proposals by status
+
+## CLOSED proposals: Implemented and specified
+
+These proposals have been implemented in some version of Tor, and the
+changes from the proposals have been merged into the specifications as
+necessary.
+
+{CLOSED}
+
+## RESERVE proposals: Saving for later
+
+These proposals aren't anything we plan to implement soon, but for one
+reason or another we think they might be a good idea in the
+future. We're keeping them around as a reference in case we someday
+confront the problems that they try to solve.
+
+{RESERVE}
+
+## SUPERSEDED proposals: Replaced by something else
+
+These proposals were obsoleted by a later proposal before they were
+implemented.
+
+{SUPERSEDED}
+
+## DEAD, REJECTED, OBSOLETE proposals: Not in our plans.
+
+These proposals are not on-track for discussion or
+implementation. Either discussion has stalled out (the proposal is
+DEAD), the proposal has been considered and not adopted (the proposal is
+REJECTED), or the proposal addresses an issue or a solution that is no
+longer relevant (the proposal is OBSOLETE).
+
+{DEAD_REJECTED_OBSOLETE}
+
+
+
1
0
commit ea85e63de494d5ad18b587ded43f6fa437d4873c
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Jul 27 10:18:21 2020 -0400
reindex.py: drop python2 support.
---
proposals/reindex.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/proposals/reindex.py b/proposals/reindex.py
index 361ea16..07dd17a 100755
--- a/proposals/reindex.py
+++ b/proposals/reindex.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
-# Future imports for Python 2.7, mandatory in 3.0
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
+import sys
+if sys.version_info[0] < 3:
+ print("No support for Python 2.")
+ sys.exit(1)
import codecs, re, os
class Error(Exception): pass
1
0

[torspec/master] Move tor-fw-helper-spec.txt to attic. This feature is no longer supported.
by nickm@torproject.org 27 Jul '20
by nickm@torproject.org 27 Jul '20
27 Jul '20
commit a872fc67b425470d0b0a09790dd6a376e4b0515a
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Jul 27 09:56:29 2020 -0400
Move tor-fw-helper-spec.txt to attic. This feature is no longer supported.
---
tor-fw-helper-spec.txt => attic/tor-fw-helper-spec.txt | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/tor-fw-helper-spec.txt b/attic/tor-fw-helper-spec.txt
similarity index 100%
rename from tor-fw-helper-spec.txt
rename to attic/tor-fw-helper-spec.txt
1
0

[torspec/master] Update reindex script to generate nice markdown.
by nickm@torproject.org 27 Jul '20
by nickm@torproject.org 27 Jul '20
27 Jul '20
commit 1fa2a98dac5b19a8139a4b1345731c000061e69d
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Jul 27 10:38:37 2020 -0400
Update reindex script to generate nice markdown.
---
proposals/reindex.py | 77 ++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 66 insertions(+), 11 deletions(-)
diff --git a/proposals/reindex.py b/proposals/reindex.py
index 07dd17a..eb4da0f 100755
--- a/proposals/reindex.py
+++ b/proposals/reindex.py
@@ -17,8 +17,16 @@ CONDITIONAL_FIELDS = { "OPEN" : [ "Target", "Ticket" ],
"FINISHED" : [ "Implemented-In", "Ticket" ] }
FNAME_RE = re.compile(r'^(\d\d\d)-.*[^\~]$')
DIR = "."
-OUTFILE = "000-index.txt"
-TMPFILE = OUTFILE+".tmp"
+OUTFILE_TXT = "000-index.txt"
+TMPFILE_TXT = OUTFILE_TXT+".tmp"
+
+TEMPFILES = [TMPFILE_TXT]
+
+def unlink_if_present(fname):
+ try:
+ os.unlink(fname)
+ except OSError:
+ pass
def indexed(seq):
n = 0
@@ -95,6 +103,8 @@ def readProposals():
for fn in os.listdir(DIR):
m = FNAME_RE.match(fn)
if not m: continue
+ if fn.endswith(".tmp"):
+ continue
if not (fn.endswith(".txt") or fn.endswith(".md")):
raise Error("%s doesn't end with .txt or .md"%fn)
num = m.group(1)
@@ -104,14 +114,14 @@ def readProposals():
res.append(fields)
return res
-def writeIndexFile(proposals):
+def writeTextIndexFile(proposals):
proposals.sort(key=lambda f:f['num'])
seenStatuses = set()
for p in proposals:
seenStatuses.add(p['Status'])
- out = open(TMPFILE, 'w')
- inf = open(OUTFILE, 'r')
+ out = open(TMPFILE_TXT, 'w')
+ inf = open(OUTFILE_TXT, 'r')
for line in inf:
out.write(line)
if line.startswith("====="): break
@@ -133,11 +143,56 @@ def writeIndexFile(proposals):
out.write(" [in %(Implemented-In)s]"%prop)
out.write("\n")
out.close()
- os.rename(TMPFILE, OUTFILE)
+ os.rename(TMPFILE_TXT, OUTFILE_TXT)
+
+def formatMarkdownEntry(prop, withStatus=False):
+ if withStatus:
+ fmt = "* [`{Filename}`](/proposals/{Filename}): {Title} [{Status}]\n"
+ else:
+ fmt = "* [`{Filename}`](/proposals/{Filename}): {Title}\n"
+ return fmt.format(**prop)
+
+def writeMarkdownFile(prefix, format_inputs):
+ template = prefix+"_template.md"
+ output = prefix+".md"
+ t = open(template).read()
+ content = t.format(**format_inputs)
+ with open(output, 'w') as f:
+ f.write(content)
+
+def writeMarkdownIndexFiles(proposals):
+ markdown_files = [ "README", "INDEX" ]
+ format_inputs = {}
+
+ entries = []
+ for prop in proposals:
+ entries.append(formatMarkdownEntry(prop, withStatus=True))
+ format_inputs["BY_INDEX"] = "".join(entries)
+
+ for s in STATUSES:
+ entries = []
+ for prop in proposals:
+ if s == prop['Status']:
+ entries.append(formatMarkdownEntry(prop))
+ if entries:
+ format_inputs[s] = "".join(entries)
+ else:
+ format_inputs[s] = "(There are no proposals in this category)\n"
+
+ entries = []
+ for prop in proposals:
+ if prop['Status'] in ('DEAD', 'REJECTED', 'OBSOLETE'):
+ entries.append(formatMarkdownEntry(prop, withStatus=True))
+ format_inputs['DEAD_REJECTED_OBSOLETE'] = "".join(entries)
-try:
- os.unlink(TMPFILE)
-except OSError:
- pass
+ for prefix in markdown_files:
+ writeMarkdownFile(prefix, format_inputs)
-writeIndexFile(readProposals())
+if __name__ == '__main__':
+ proposals = readProposals()
+ try:
+ writeTextIndexFile(proposals)
+ writeMarkdownIndexFiles(proposals)
+ finally:
+ for tempfile in TEMPFILES:
+ unlink_if_present(tempfile)
1
0

[torspec/master] Change index file name so it doesn't override readme.
by nickm@torproject.org 27 Jul '20
by nickm@torproject.org 27 Jul '20
27 Jul '20
commit 4c7124a311d6b7930d527a4379f09873b93993ba
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Jul 27 10:43:34 2020 -0400
Change index file name so it doesn't override readme.
---
proposals/{INDEX.md => BY_INDEX.md} | 0
proposals/{INDEX_template.md => BY_INDEX_template.md} | 0
proposals/reindex.py | 2 +-
3 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/proposals/INDEX.md b/proposals/BY_INDEX.md
similarity index 100%
rename from proposals/INDEX.md
rename to proposals/BY_INDEX.md
diff --git a/proposals/INDEX_template.md b/proposals/BY_INDEX_template.md
similarity index 100%
rename from proposals/INDEX_template.md
rename to proposals/BY_INDEX_template.md
diff --git a/proposals/reindex.py b/proposals/reindex.py
index eb4da0f..6ac1bbb 100755
--- a/proposals/reindex.py
+++ b/proposals/reindex.py
@@ -161,7 +161,7 @@ def writeMarkdownFile(prefix, format_inputs):
f.write(content)
def writeMarkdownIndexFiles(proposals):
- markdown_files = [ "README", "INDEX" ]
+ markdown_files = [ "README", "BY_INDEX" ]
format_inputs = {}
entries = []
1
0

27 Jul '20
commit 246a5864619e2393d447aab5826a990fdef3dfd5
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Jul 27 10:49:51 2020 -0400
Small template and script improvements
---
proposals/BY_INDEX.md | 10 ++++++++--
proposals/BY_INDEX_template.md | 10 ++++++++--
proposals/README.md | 35 ++++++++++++++++++++++++++---------
proposals/README_template.md | 35 ++++++++++++++++++++++++++---------
proposals/reindex.py | 2 ++
5 files changed, 70 insertions(+), 22 deletions(-)
diff --git a/proposals/BY_INDEX.md b/proposals/BY_INDEX.md
index d0e3b2b..5a66ae2 100644
--- a/proposals/BY_INDEX.md
+++ b/proposals/BY_INDEX.md
@@ -1,11 +1,17 @@
# Tor proposals by number
+<!-- DO NOT EDIT THIS FILE -->
+
+<!-- If you want to make changes here, make sure to edit the -->
+<!-- BY_INDEX_TEMPLATE.md file. The BY_INDEX.md file is -->
+<!-- generated by the reindex.py script. -->
+
Here we have a set of proposals for changes to the Tor protocol. Some
of these proposals are implemented; some are works in progress; and some
will never be implemented.
-Below are a list of proposals sorted by status. See
-[README.md](/proposals/README.md) for a list of proposals sorted by number.
+Below are a list of proposals sorted by their proposal number. See
+[README.md](/proposals/README.md) for a list of proposals sorted by status.
* [`000-index.txt`](/proposals/000-index.txt): Index of Tor Proposals [META]
* [`001-process.txt`](/proposals/001-process.txt): The Tor Proposal Process [META]
diff --git a/proposals/BY_INDEX_template.md b/proposals/BY_INDEX_template.md
index 48c457c..d18dc60 100644
--- a/proposals/BY_INDEX_template.md
+++ b/proposals/BY_INDEX_template.md
@@ -1,10 +1,16 @@
# Tor proposals by number
+{warning}
+
+<!-- If you want to make changes here, make sure to edit the -->
+<!-- BY_INDEX_TEMPLATE.md file. The BY_INDEX.md file is -->
+<!-- generated by the reindex.py script. -->
+
Here we have a set of proposals for changes to the Tor protocol. Some
of these proposals are implemented; some are works in progress; and some
will never be implemented.
-Below are a list of proposals sorted by status. See
-[README.md](/proposals/README.md) for a list of proposals sorted by number.
+Below are a list of proposals sorted by their proposal number. See
+[README.md](/proposals/README.md) for a list of proposals sorted by status.
{BY_INDEX}
diff --git a/proposals/README.md b/proposals/README.md
index 9574070..79abf0c 100644
--- a/proposals/README.md
+++ b/proposals/README.md
@@ -1,5 +1,11 @@
# Tor proposals by status
+<!-- DO NOT EDIT THIS FILE -->
+
+<!-- If you want to make changes here, make sure to edit the -->
+<!-- README_template.md file. The README.md file is generated by the -->
+<!-- reindex.py script. -->
+
Here we have a set of proposals for changes to the Tor protocol. Some
of these proposals are implemented; some are works in progress; and some
will never be implemented.
@@ -9,7 +15,7 @@ Below are a list of proposals sorted by status. See
# Active proposals by status
-## OPEN proposals: Under discussion
+## OPEN proposals: under discussion
These are proposals that we think are likely to be complete, and ripe
for discussion.
@@ -38,7 +44,7 @@ for discussion.
* [`324-rtt-congestion-control.txt`](/proposals/324-rtt-congestion-control.txt): RTT-based Congestion Control for Tor
-## ACCEPTED proposals: Slated for implementation
+## ACCEPTED proposals: slated for implementation
These are the proposals that we agree we'd like to implement. They
might or might not have a specific timeframe planned for their
@@ -54,7 +60,7 @@ implementation.
* [`314-allow-markdown-proposals.md`](/proposals/314-allow-markdown-proposals.md): Allow Markdown for proposal format
-## FINISHED proposals: Implemented, specs not merged
+## FINISHED proposals: implemented, specs not merged
These proposals are implemented in some version of Tor; the proposals
themselves still need to be merged into the specifications proper.
@@ -66,7 +72,7 @@ themselves still need to be merged into the specifications proper.
* [`260-rend-single-onion.txt`](/proposals/260-rend-single-onion.txt): Rendezvous Single Onion Services
-## META proposals: About the proposal process
+## META proposals: about the proposal process
These proposals describe ongoing policies and changes to the proposals
process.
@@ -92,6 +98,10 @@ proposed changes in the Tor specifications.
## DRAFT proposals: incomplete works
+These proposals have been marked as a draft by their author or the editors,
+indicating that they aren't yet in a complete form. They're still open for
+discussion.
+
* [`240-auth-cert-revocation.txt`](/proposals/240-auth-cert-revocation.txt): Early signing key revocation for directory authorities
* [`273-exit-relay-pinning.txt`](/proposals/273-exit-relay-pinning.txt): Exit relay pinning for web services
* [`294-tls-1.3.txt`](/proposals/294-tls-1.3.txt): TLS 1.3 Migration
@@ -108,7 +118,10 @@ proposed changes in the Tor specifications.
* [`325-packed-relay-cells.md`](/proposals/325-packed-relay-cells.md): Packed relay cells: saving space on small commands
-## NEEDS-REVISION proposals: good ideas that we can't implement as-is.
+## NEEDS-REVISION proposals: ideas that we can't implement as-is
+
+These proposals have some promise, but we can't implement them without
+certain changes.
* [`212-using-old-consensus.txt`](/proposals/212-using-old-consensus.txt): Increase Acceptable Consensus Age
* [`219-expanded-dns.txt`](/proposals/219-expanded-dns.txt): Support for full DNS and DNSSEC resolution in Tor
@@ -122,12 +135,16 @@ proposed changes in the Tor specifications.
## NEEDS-RESEARCH proposals: blocking on research
+These proposals are interesting ideas, but there's more research that would
+need to happen before we can know whether to implement them or not, or to
+fill in certain details.
+
(There are no proposals in this category)
# Inactive proposals by status
-## CLOSED proposals: Implemented and specified
+## CLOSED proposals: implemented and specified
These proposals have been implemented in some version of Tor, and the
changes from the proposals have been merged into the specifications as
@@ -224,7 +241,7 @@ necessary.
* [`305-establish-intro-dos-defense-extention.txt`](/proposals/305-establish-intro-dos-defense-extention.txt): ESTABLISH_INTRO Cell DoS Defense Extension
-## RESERVE proposals: Saving for later
+## RESERVE proposals: saving for later
These proposals aren't anything we plan to implement soon, but for one
reason or another we think they might be a good idea in the
@@ -243,7 +260,7 @@ confront the problems that they try to solve.
* [`281-bulk-md-download.txt`](/proposals/281-bulk-md-download.txt): Downloading microdescriptors in bulk
-## SUPERSEDED proposals: Replaced by something else
+## SUPERSEDED proposals: replaced by something else
These proposals were obsoleted by a later proposal before they were
implemented.
@@ -272,7 +289,7 @@ implemented.
* [`280-privcount-in-tor.txt`](/proposals/280-privcount-in-tor.txt): Privacy-Preserving Statistics with Privcount in Tor
-## DEAD, REJECTED, OBSOLETE proposals: Not in our plans.
+## DEAD, REJECTED, OBSOLETE proposals: not in our plans
These proposals are not on-track for discussion or
implementation. Either discussion has stalled out (the proposal is
diff --git a/proposals/README_template.md b/proposals/README_template.md
index b8fa7e2..55a913d 100644
--- a/proposals/README_template.md
+++ b/proposals/README_template.md
@@ -1,5 +1,11 @@
# Tor proposals by status
+{warning}
+
+<!-- If you want to make changes here, make sure to edit the -->
+<!-- README_template.md file. The README.md file is generated by the -->
+<!-- reindex.py script. -->
+
Here we have a set of proposals for changes to the Tor protocol. Some
of these proposals are implemented; some are works in progress; and some
will never be implemented.
@@ -9,14 +15,14 @@ Below are a list of proposals sorted by status. See
# Active proposals by status
-## OPEN proposals: Under discussion
+## OPEN proposals: under discussion
These are proposals that we think are likely to be complete, and ripe
for discussion.
{OPEN}
-## ACCEPTED proposals: Slated for implementation
+## ACCEPTED proposals: slated for implementation
These are the proposals that we agree we'd like to implement. They
might or might not have a specific timeframe planned for their
@@ -24,14 +30,14 @@ implementation.
{ACCEPTED}
-## FINISHED proposals: Implemented, specs not merged
+## FINISHED proposals: implemented, specs not merged
These proposals are implemented in some version of Tor; the proposals
themselves still need to be merged into the specifications proper.
{FINISHED}
-## META proposals: About the proposal process
+## META proposals: about the proposal process
These proposals describe ongoing policies and changes to the proposals
process.
@@ -49,19 +55,30 @@ proposed changes in the Tor specifications.
## DRAFT proposals: incomplete works
+These proposals have been marked as a draft by their author or the editors,
+indicating that they aren't yet in a complete form. They're still open for
+discussion.
+
{DRAFT}
-## NEEDS-REVISION proposals: good ideas that we can't implement as-is.
+## NEEDS-REVISION proposals: ideas that we can't implement as-is
+
+These proposals have some promise, but we can't implement them without
+certain changes.
{NEEDS-REVISION}
## NEEDS-RESEARCH proposals: blocking on research
+These proposals are interesting ideas, but there's more research that would
+need to happen before we can know whether to implement them or not, or to
+fill in certain details.
+
{NEEDS-RESEARCH}
# Inactive proposals by status
-## CLOSED proposals: Implemented and specified
+## CLOSED proposals: implemented and specified
These proposals have been implemented in some version of Tor, and the
changes from the proposals have been merged into the specifications as
@@ -69,7 +86,7 @@ necessary.
{CLOSED}
-## RESERVE proposals: Saving for later
+## RESERVE proposals: saving for later
These proposals aren't anything we plan to implement soon, but for one
reason or another we think they might be a good idea in the
@@ -78,14 +95,14 @@ confront the problems that they try to solve.
{RESERVE}
-## SUPERSEDED proposals: Replaced by something else
+## SUPERSEDED proposals: replaced by something else
These proposals were obsoleted by a later proposal before they were
implemented.
{SUPERSEDED}
-## DEAD, REJECTED, OBSOLETE proposals: Not in our plans.
+## DEAD, REJECTED, OBSOLETE proposals: not in our plans
These proposals are not on-track for discussion or
implementation. Either discussion has stalled out (the proposal is
diff --git a/proposals/reindex.py b/proposals/reindex.py
index 6ac1bbb..72b1234 100755
--- a/proposals/reindex.py
+++ b/proposals/reindex.py
@@ -164,6 +164,8 @@ def writeMarkdownIndexFiles(proposals):
markdown_files = [ "README", "BY_INDEX" ]
format_inputs = {}
+ format_inputs['warning'] = "<!-- DO NOT EDIT THIS FILE -->"
+
entries = []
for prop in proposals:
entries.append(formatMarkdownEntry(prop, withStatus=True))
1
0

27 Jul '20
commit 017789403188b1e44ac1425be5b5f386bd1b226e
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Jul 27 10:38:57 2020 -0400
Add nice markdown to proposals directory.
---
proposals/INDEX.md | 240 ++++++++++++++++++++++++++++++++++++++
proposals/README.md | 330 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 570 insertions(+)
diff --git a/proposals/INDEX.md b/proposals/INDEX.md
new file mode 100644
index 0000000..d0e3b2b
--- /dev/null
+++ b/proposals/INDEX.md
@@ -0,0 +1,240 @@
+# Tor proposals by number
+
+Here we have a set of proposals for changes to the Tor protocol. Some
+of these proposals are implemented; some are works in progress; and some
+will never be implemented.
+
+Below are a list of proposals sorted by status. See
+[README.md](/proposals/README.md) for a list of proposals sorted by number.
+
+* [`000-index.txt`](/proposals/000-index.txt): Index of Tor Proposals [META]
+* [`001-process.txt`](/proposals/001-process.txt): The Tor Proposal Process [META]
+* [`098-todo.txt`](/proposals/098-todo.txt): Proposals that should be written [META]
+* [`099-misc.txt`](/proposals/099-misc.txt): Miscellaneous proposals [META]
+* [`100-tor-spec-udp.txt`](/proposals/100-tor-spec-udp.txt): Tor Unreliable Datagram Extension Proposal [DEAD]
+* [`101-dir-voting.txt`](/proposals/101-dir-voting.txt): Voting on the Tor Directory System [CLOSED]
+* [`102-drop-opt.txt`](/proposals/102-drop-opt.txt): Dropping "opt" from the directory format [CLOSED]
+* [`103-multilevel-keys.txt`](/proposals/103-multilevel-keys.txt): Splitting identity key from regularly used signing key [CLOSED]
+* [`104-short-descriptors.txt`](/proposals/104-short-descriptors.txt): Long and Short Router Descriptors [CLOSED]
+* [`105-handshake-revision.txt`](/proposals/105-handshake-revision.txt): Version negotiation for the Tor protocol [CLOSED]
+* [`106-less-tls-constraint.txt`](/proposals/106-less-tls-constraint.txt): Checking fewer things during TLS handshakes [CLOSED]
+* [`107-uptime-sanity-checking.txt`](/proposals/107-uptime-sanity-checking.txt): Uptime Sanity Checking [CLOSED]
+* [`108-mtbf-based-stability.txt`](/proposals/108-mtbf-based-stability.txt): Base "Stable" Flag on Mean Time Between Failures [CLOSED]
+* [`109-no-sharing-ips.txt`](/proposals/109-no-sharing-ips.txt): No more than one server per IP address [CLOSED]
+* [`110-avoid-infinite-circuits.txt`](/proposals/110-avoid-infinite-circuits.txt): Avoiding infinite length circuits [CLOSED]
+* [`111-local-traffic-priority.txt`](/proposals/111-local-traffic-priority.txt): Prioritizing local traffic over relayed traffic [CLOSED]
+* [`112-bring-back-pathlencoinweight.txt`](/proposals/112-bring-back-pathlencoinweight.txt): Bring Back Pathlen Coin Weight [SUPERSEDED]
+* [`113-fast-authority-interface.txt`](/proposals/113-fast-authority-interface.txt): Simplifying directory authority administration [SUPERSEDED]
+* [`114-distributed-storage.txt`](/proposals/114-distributed-storage.txt): Distributed Storage for Tor Hidden Service Descriptors [CLOSED]
+* [`115-two-hop-paths.txt`](/proposals/115-two-hop-paths.txt): Two Hop Paths [DEAD]
+* [`116-two-hop-paths-from-guard.txt`](/proposals/116-two-hop-paths-from-guard.txt): Two hop paths from entry guards [DEAD]
+* [`117-ipv6-exits.txt`](/proposals/117-ipv6-exits.txt): IPv6 exits [CLOSED]
+* [`118-multiple-orports.txt`](/proposals/118-multiple-orports.txt): Advertising multiple ORPorts at once [SUPERSEDED]
+* [`119-controlport-auth.txt`](/proposals/119-controlport-auth.txt): New PROTOCOLINFO command for controllers [CLOSED]
+* [`120-shutdown-descriptors.txt`](/proposals/120-shutdown-descriptors.txt): Shutdown descriptors when Tor servers stop [DEAD]
+* [`121-hidden-service-authentication.txt`](/proposals/121-hidden-service-authentication.txt): Hidden Service Authentication [CLOSED]
+* [`122-unnamed-flag.txt`](/proposals/122-unnamed-flag.txt): Network status entries need a new Unnamed flag [CLOSED]
+* [`123-autonaming.txt`](/proposals/123-autonaming.txt): Naming authorities automatically create bindings [CLOSED]
+* [`124-tls-certificates.txt`](/proposals/124-tls-certificates.txt): Blocking resistant TLS certificate usage [SUPERSEDED]
+* [`125-bridges.txt`](/proposals/125-bridges.txt): Behavior for bridge users, bridge relays, and bridge authorities [CLOSED]
+* [`126-geoip-reporting.txt`](/proposals/126-geoip-reporting.txt): Getting GeoIP data and publishing usage summaries [CLOSED]
+* [`127-dirport-mirrors-downloads.txt`](/proposals/127-dirport-mirrors-downloads.txt): Relaying dirport requests to Tor download site / website [OBSOLETE]
+* [`128-bridge-families.txt`](/proposals/128-bridge-families.txt): Families of private bridges [DEAD]
+* [`129-reject-plaintext-ports.txt`](/proposals/129-reject-plaintext-ports.txt): Block Insecure Protocols by Default [CLOSED]
+* [`130-v2-conn-protocol.txt`](/proposals/130-v2-conn-protocol.txt): Version 2 Tor connection protocol [CLOSED]
+* [`131-verify-tor-usage.txt`](/proposals/131-verify-tor-usage.txt): Help users to verify they are using Tor [OBSOLETE]
+* [`132-browser-check-tor-service.txt`](/proposals/132-browser-check-tor-service.txt): A Tor Web Service For Verifying Correct Browser Configuration [OBSOLETE]
+* [`133-unreachable-ors.txt`](/proposals/133-unreachable-ors.txt): Incorporate Unreachable ORs into the Tor Network [RESERVE]
+* [`134-robust-voting.txt`](/proposals/134-robust-voting.txt): More robust consensus voting with diverse authority sets [REJECTED]
+* [`135-private-tor-networks.txt`](/proposals/135-private-tor-networks.txt): Simplify Configuration of Private Tor Networks [CLOSED]
+* [`136-legacy-keys.txt`](/proposals/136-legacy-keys.txt): Mass authority migration with legacy keys [CLOSED]
+* [`137-bootstrap-phases.txt`](/proposals/137-bootstrap-phases.txt): Keep controllers informed as Tor bootstraps [CLOSED]
+* [`138-remove-down-routers-from-consensus.txt`](/proposals/138-remove-down-routers-from-consensus.txt): Remove routers that are not Running from consensus documents [CLOSED]
+* [`139-conditional-consensus-download.txt`](/proposals/139-conditional-consensus-download.txt): Download consensus documents only when it will be trusted [CLOSED]
+* [`140-consensus-diffs.txt`](/proposals/140-consensus-diffs.txt): Provide diffs between consensuses [CLOSED]
+* [`141-jit-sd-downloads.txt`](/proposals/141-jit-sd-downloads.txt): Download server descriptors on demand [OBSOLETE]
+* [`142-combine-intro-and-rend-points.txt`](/proposals/142-combine-intro-and-rend-points.txt): Combine Introduction and Rendezvous Points [DEAD]
+* [`143-distributed-storage-improvements.txt`](/proposals/143-distributed-storage-improvements.txt): Improvements of Distributed Storage for Tor Hidden Service Descriptors [SUPERSEDED]
+* [`144-enforce-distinct-providers.txt`](/proposals/144-enforce-distinct-providers.txt): Increase the diversity of circuits by detecting nodes belonging the same provider [OBSOLETE]
+* [`145-newguard-flag.txt`](/proposals/145-newguard-flag.txt): Separate "suitable as a guard" from "suitable as a new guard" [SUPERSEDED]
+* [`146-long-term-stability.txt`](/proposals/146-long-term-stability.txt): Add new flag to reflect long-term stability [SUPERSEDED]
+* [`147-prevoting-opinions.txt`](/proposals/147-prevoting-opinions.txt): Eliminate the need for v2 directories in generating v3 directories [REJECTED]
+* [`148-uniform-client-end-reason.txt`](/proposals/148-uniform-client-end-reason.txt): Stream end reasons from the client side should be uniform [CLOSED]
+* [`149-using-netinfo-data.txt`](/proposals/149-using-netinfo-data.txt): Using data from NETINFO cells [SUPERSEDED]
+* [`150-exclude-exit-nodes.txt`](/proposals/150-exclude-exit-nodes.txt): Exclude Exit Nodes from a circuit [CLOSED]
+* [`151-path-selection-improvements.txt`](/proposals/151-path-selection-improvements.txt): Improving Tor Path Selection [CLOSED]
+* [`152-single-hop-circuits.txt`](/proposals/152-single-hop-circuits.txt): Optionally allow exit from single-hop circuits [CLOSED]
+* [`153-automatic-software-update-protocol.txt`](/proposals/153-automatic-software-update-protocol.txt): Automatic software update protocol [SUPERSEDED]
+* [`154-automatic-updates.txt`](/proposals/154-automatic-updates.txt): Automatic Software Update Protocol [SUPERSEDED]
+* [`155-four-hidden-service-improvements.txt`](/proposals/155-four-hidden-service-improvements.txt): Four Improvements of Hidden Service Performance [CLOSED]
+* [`156-tracking-blocked-ports.txt`](/proposals/156-tracking-blocked-ports.txt): Tracking blocked ports on the client side [SUPERSEDED]
+* [`157-specific-cert-download.txt`](/proposals/157-specific-cert-download.txt): Make certificate downloads specific [CLOSED]
+* [`158-microdescriptors.txt`](/proposals/158-microdescriptors.txt): Clients download consensus + microdescriptors [CLOSED]
+* [`159-exit-scanning.txt`](/proposals/159-exit-scanning.txt): Exit Scanning [INFORMATIONAL]
+* [`160-bandwidth-offset.txt`](/proposals/160-bandwidth-offset.txt): Authorities vote for bandwidth offsets in consensus [FINISHED]
+* [`161-computing-bandwidth-adjustments.txt`](/proposals/161-computing-bandwidth-adjustments.txt): Computing Bandwidth Adjustments [CLOSED]
+* [`162-consensus-flavors.txt`](/proposals/162-consensus-flavors.txt): Publish the consensus in multiple flavors [CLOSED]
+* [`163-detecting-clients.txt`](/proposals/163-detecting-clients.txt): Detecting whether a connection comes from a client [SUPERSEDED]
+* [`164-reporting-server-status.txt`](/proposals/164-reporting-server-status.txt): Reporting the status of server votes [OBSOLETE]
+* [`165-simple-robust-voting.txt`](/proposals/165-simple-robust-voting.txt): Easy migration for voting authority sets [REJECTED]
+* [`166-statistics-extra-info-docs.txt`](/proposals/166-statistics-extra-info-docs.txt): Including Network Statistics in Extra-Info Documents [CLOSED]
+* [`167-params-in-consensus.txt`](/proposals/167-params-in-consensus.txt): Vote on network parameters in consensus [CLOSED]
+* [`168-reduce-circwindow.txt`](/proposals/168-reduce-circwindow.txt): Reduce default circuit window [REJECTED]
+* [`169-eliminating-renegotiation.txt`](/proposals/169-eliminating-renegotiation.txt): Eliminate TLS renegotiation for the Tor connection handshake [SUPERSEDED]
+* [`170-user-path-config.txt`](/proposals/170-user-path-config.txt): Configuration options regarding circuit building [SUPERSEDED]
+* [`171-separate-streams.txt`](/proposals/171-separate-streams.txt): Separate streams across circuits by connection metadata [CLOSED]
+* [`172-circ-getinfo-option.txt`](/proposals/172-circ-getinfo-option.txt): GETINFO controller option for circuit information [RESERVE]
+* [`173-getinfo-option-expansion.txt`](/proposals/173-getinfo-option-expansion.txt): GETINFO Option Expansion [OBSOLETE]
+* [`174-optimistic-data-server.txt`](/proposals/174-optimistic-data-server.txt): Optimistic Data for Tor: Server Side [CLOSED]
+* [`175-automatic-node-promotion.txt`](/proposals/175-automatic-node-promotion.txt): Automatically promoting Tor clients to nodes [REJECTED]
+* [`176-revising-handshake.txt`](/proposals/176-revising-handshake.txt): Proposed version-3 link handshake for Tor [CLOSED]
+* [`177-flag-abstention.txt`](/proposals/177-flag-abstention.txt): Abstaining from votes on individual flags [RESERVE]
+* [`178-param-voting.txt`](/proposals/178-param-voting.txt): Require majority of authorities to vote for consensus parameters [CLOSED]
+* [`179-TLS-cert-and-parameter-normalization.txt`](/proposals/179-TLS-cert-and-parameter-normalization.txt): TLS certificate and parameter normalization [CLOSED]
+* [`180-pluggable-transport.txt`](/proposals/180-pluggable-transport.txt): Pluggable transports for circumvention [CLOSED]
+* [`181-optimistic-data-client.txt`](/proposals/181-optimistic-data-client.txt): Optimistic Data for Tor: Client Side [CLOSED]
+* [`182-creditbucket.txt`](/proposals/182-creditbucket.txt): Credit Bucket [OBSOLETE]
+* [`183-refillintervals.txt`](/proposals/183-refillintervals.txt): Refill Intervals [CLOSED]
+* [`184-v3-link-protocol.txt`](/proposals/184-v3-link-protocol.txt): Miscellaneous changes for a v3 Tor link protocol [CLOSED]
+* [`185-dir-without-dirport.txt`](/proposals/185-dir-without-dirport.txt): Directory caches without DirPort [SUPERSEDED]
+* [`186-multiple-orports.txt`](/proposals/186-multiple-orports.txt): Multiple addresses for one OR or bridge [CLOSED]
+* [`187-allow-client-auth.txt`](/proposals/187-allow-client-auth.txt): Reserve a cell type to allow client authorization [CLOSED]
+* [`188-bridge-guards.txt`](/proposals/188-bridge-guards.txt): Bridge Guards and other anti-enumeration defenses [ACCEPTED]
+* [`189-authorize-cell.txt`](/proposals/189-authorize-cell.txt): AUTHORIZE and AUTHORIZED cells [OBSOLETE]
+* [`190-shared-secret-bridge-authorization.txt`](/proposals/190-shared-secret-bridge-authorization.txt): Bridge Client Authorization Based on a Shared Secret [OBSOLETE]
+* [`191-mitm-bridge-detection-resistance.txt`](/proposals/191-mitm-bridge-detection-resistance.txt): Bridge Detection Resistance against MITM-capable Adversaries [OBSOLETE]
+* [`192-store-bridge-information.txt`](/proposals/192-store-bridge-information.txt): Automatically retrieve and store information about bridges [OBSOLETE]
+* [`193-safe-cookie-authentication.txt`](/proposals/193-safe-cookie-authentication.txt): Safe cookie authentication for Tor controllers [CLOSED]
+* [`194-mnemonic-urls.txt`](/proposals/194-mnemonic-urls.txt): Mnemonic .onion URLs [SUPERSEDED]
+* [`195-TLS-normalization-for-024.txt`](/proposals/195-TLS-normalization-for-024.txt): TLS certificate normalization for Tor 0.2.4.x [DEAD]
+* [`196-transport-control-ports.txt`](/proposals/196-transport-control-ports.txt): Extended ORPort and TransportControlPort [FINISHED]
+* [`197-postmessage-ipc.txt`](/proposals/197-postmessage-ipc.txt): Message-based Inter-Controller IPC Channel [REJECTED]
+* [`198-restore-clienthello-semantics.txt`](/proposals/198-restore-clienthello-semantics.txt): Restore semantics of TLS ClientHello [CLOSED]
+* [`199-bridgefinder-integration.txt`](/proposals/199-bridgefinder-integration.txt): Integration of BridgeFinder and BridgeFinderHelper [OBSOLETE]
+* [`200-new-create-and-extend-cells.txt`](/proposals/200-new-create-and-extend-cells.txt): Adding new, extensible CREATE, EXTEND, and related cells [CLOSED]
+* [`201-bridge-v3-reqs-stats.txt`](/proposals/201-bridge-v3-reqs-stats.txt): Make bridges report statistics on daily v3 network status requests [OPEN]
+* [`202-improved-relay-crypto.txt`](/proposals/202-improved-relay-crypto.txt): Two improved relay encryption protocols for Tor cells [META]
+* [`203-https-frontend.txt`](/proposals/203-https-frontend.txt): Avoiding censorship by impersonating an HTTPS server [OBSOLETE]
+* [`204-hidserv-subdomains.txt`](/proposals/204-hidserv-subdomains.txt): Subdomain support for Hidden Service addresses [CLOSED]
+* [`205-local-dnscache.txt`](/proposals/205-local-dnscache.txt): Remove global client-side DNS caching [CLOSED]
+* [`206-directory-sources.txt`](/proposals/206-directory-sources.txt): Preconfigured directory sources for bootstrapping [CLOSED]
+* [`207-directory-guards.txt`](/proposals/207-directory-guards.txt): Directory guards [CLOSED]
+* [`208-ipv6-exits-redux.txt`](/proposals/208-ipv6-exits-redux.txt): IPv6 Exits Redux [CLOSED]
+* [`209-path-bias-tuning.txt`](/proposals/209-path-bias-tuning.txt): Tuning the Parameters for the Path Bias Defense [OBSOLETE]
+* [`210-faster-headless-consensus-bootstrap.txt`](/proposals/210-faster-headless-consensus-bootstrap.txt): Faster Headless Consensus Bootstrapping [SUPERSEDED]
+* [`211-mapaddress-tor-status.txt`](/proposals/211-mapaddress-tor-status.txt): Internal Mapaddress for Tor Configuration Testing [RESERVE]
+* [`212-using-old-consensus.txt`](/proposals/212-using-old-consensus.txt): Increase Acceptable Consensus Age [NEEDS-REVISION]
+* [`213-remove-stream-sendmes.txt`](/proposals/213-remove-stream-sendmes.txt): Remove stream-level sendmes from the design [DEAD]
+* [`214-longer-circids.txt`](/proposals/214-longer-circids.txt): Allow 4-byte circuit IDs in a new link protocol [CLOSED]
+* [`215-update-min-consensus-ver.txt`](/proposals/215-update-min-consensus-ver.txt): Let the minimum consensus method change with time [CLOSED]
+* [`216-ntor-handshake.txt`](/proposals/216-ntor-handshake.txt): Improved circuit-creation key exchange [CLOSED]
+* [`217-ext-orport-auth.txt`](/proposals/217-ext-orport-auth.txt): Tor Extended ORPort Authentication [FINISHED]
+* [`218-usage-controller-events.txt`](/proposals/218-usage-controller-events.txt): Controller events to better understand connection/circuit usage [CLOSED]
+* [`219-expanded-dns.txt`](/proposals/219-expanded-dns.txt): Support for full DNS and DNSSEC resolution in Tor [NEEDS-REVISION]
+* [`220-ecc-id-keys.txt`](/proposals/220-ecc-id-keys.txt): Migrate server identity keys to Ed25519 [CLOSED]
+* [`221-stop-using-create-fast.txt`](/proposals/221-stop-using-create-fast.txt): Stop using CREATE_FAST [CLOSED]
+* [`222-remove-client-timestamps.txt`](/proposals/222-remove-client-timestamps.txt): Stop sending client timestamps [CLOSED]
+* [`223-ace-handshake.txt`](/proposals/223-ace-handshake.txt): Ace: Improved circuit-creation key exchange [RESERVE]
+* [`224-rend-spec-ng.txt`](/proposals/224-rend-spec-ng.txt): Next-Generation Hidden Services in Tor [CLOSED]
+* [`225-strawman-shared-rand.txt`](/proposals/225-strawman-shared-rand.txt): Strawman proposal: commit-and-reveal shared rng [SUPERSEDED]
+* [`226-bridgedb-database-improvements.txt`](/proposals/226-bridgedb-database-improvements.txt): "Scalability and Stability Improvements to BridgeDB: Switching to a Distributed Database System and RDBMS" [RESERVE]
+* [`227-vote-on-package-fingerprints.txt`](/proposals/227-vote-on-package-fingerprints.txt): Include package fingerprints in consensus documents [CLOSED]
+* [`228-cross-certification-onionkeys.txt`](/proposals/228-cross-certification-onionkeys.txt): Cross-certifying identity keys with onion keys [CLOSED]
+* [`229-further-socks5-extensions.txt`](/proposals/229-further-socks5-extensions.txt): Further SOCKS5 extensions [REJECTED]
+* [`230-rsa1024-relay-id-migration.txt`](/proposals/230-rsa1024-relay-id-migration.txt): How to change RSA1024 relay identity keys [OBSOLETE]
+* [`231-migrate-authority-rsa1024-ids.txt`](/proposals/231-migrate-authority-rsa1024-ids.txt): Migrating authority RSA1024 identity keys [OBSOLETE]
+* [`232-pluggable-transports-through-proxy.txt`](/proposals/232-pluggable-transports-through-proxy.txt): Pluggable Transport through SOCKS proxy [FINISHED]
+* [`233-quicken-tor2web-mode.txt`](/proposals/233-quicken-tor2web-mode.txt): Making Tor2Web mode faster [REJECTED]
+* [`234-remittance-addresses.txt`](/proposals/234-remittance-addresses.txt): Adding remittance field to directory specification [REJECTED]
+* [`235-kill-named-flag.txt`](/proposals/235-kill-named-flag.txt): Stop assigning (and eventually supporting) the Named flag [CLOSED]
+* [`236-single-guard-node.txt`](/proposals/236-single-guard-node.txt): The move to a single guard node [CLOSED]
+* [`237-directory-servers-for-all.txt`](/proposals/237-directory-servers-for-all.txt): All relays are directory servers [CLOSED]
+* [`238-hs-relay-stats.txt`](/proposals/238-hs-relay-stats.txt): Better hidden service stats from Tor relays [CLOSED]
+* [`239-consensus-hash-chaining.txt`](/proposals/239-consensus-hash-chaining.txt): Consensus Hash Chaining [OPEN]
+* [`240-auth-cert-revocation.txt`](/proposals/240-auth-cert-revocation.txt): Early signing key revocation for directory authorities [DRAFT]
+* [`241-suspicious-guard-turnover.txt`](/proposals/241-suspicious-guard-turnover.txt): Resisting guard-turnover attacks [REJECTED]
+* [`242-better-families.txt`](/proposals/242-better-families.txt): Better performance and usability for the MyFamily option [RESERVE]
+* [`243-hsdir-flag-need-stable.txt`](/proposals/243-hsdir-flag-need-stable.txt): Give out HSDir flag only to relays with Stable flag [CLOSED]
+* [`244-use-rfc5705-for-tls-binding.txt`](/proposals/244-use-rfc5705-for-tls-binding.txt): Use RFC5705 Key Exporting in our AUTHENTICATE calls [CLOSED]
+* [`245-tap-out.txt`](/proposals/245-tap-out.txt): Deprecating and removing the TAP circuit extension protocol [NEEDS-REVISION]
+* [`246-merge-hsdir-and-intro.txt`](/proposals/246-merge-hsdir-and-intro.txt): Merging Hidden Service Directories and Introduction Points [REJECTED]
+* [`247-hs-guard-discovery.txt`](/proposals/247-hs-guard-discovery.txt): Defending Against Guard Discovery Attacks using Vanguards [SUPERSEDED]
+* [`248-removing-rsa-identities.txt`](/proposals/248-removing-rsa-identities.txt): Remove all RSA identity keys [NEEDS-REVISION]
+* [`249-large-create-cells.txt`](/proposals/249-large-create-cells.txt): Allow CREATE cells with >505 bytes of handshake data [ACCEPTED]
+* [`250-commit-reveal-consensus.txt`](/proposals/250-commit-reveal-consensus.txt): Random Number Generation During Tor Voting [CLOSED]
+* [`251-netflow-padding.txt`](/proposals/251-netflow-padding.txt): Padding for netflow record resolution reduction [CLOSED]
+* [`252-single-onion.txt`](/proposals/252-single-onion.txt): Single Onion Services [SUPERSEDED]
+* [`253-oob-hmac.txt`](/proposals/253-oob-hmac.txt): Out of Band Circuit HMACs [DEAD]
+* [`254-padding-negotiation.txt`](/proposals/254-padding-negotiation.txt): Padding Negotiation [NEEDS-REVISION]
+* [`255-hs-load-balancing.txt`](/proposals/255-hs-load-balancing.txt): Controller features to allow for load-balancing hidden services [RESERVE]
+* [`256-key-revocation.txt`](/proposals/256-key-revocation.txt): Key revocation for relays and authorities [RESERVE]
+* [`257-hiding-authorities.txt`](/proposals/257-hiding-authorities.txt): Refactoring authorities and making them more isolated from the net [META]
+* [`258-dirauth-dos.txt`](/proposals/258-dirauth-dos.txt): Denial-of-service resistance for directory authorities [DEAD]
+* [`259-guard-selection.txt`](/proposals/259-guard-selection.txt): New Guard Selection Behaviour [OBSOLETE]
+* [`260-rend-single-onion.txt`](/proposals/260-rend-single-onion.txt): Rendezvous Single Onion Services [FINISHED]
+* [`261-aez-crypto.txt`](/proposals/261-aez-crypto.txt): AEZ for relay cryptography [OBSOLETE]
+* [`262-rekey-circuits.txt`](/proposals/262-rekey-circuits.txt): Re-keying live circuits with new cryptographic material [OPEN]
+* [`263-ntru-for-pq-handshake.txt`](/proposals/263-ntru-for-pq-handshake.txt): Request to change key exchange protocol for handshake v1.2 [OBSOLETE]
+* [`264-subprotocol-versions.txt`](/proposals/264-subprotocol-versions.txt): Putting version numbers on the Tor subprotocols [CLOSED]
+* [`265-load-balancing-with-overhead.txt`](/proposals/265-load-balancing-with-overhead.txt): Load Balancing with Overhead Parameters [ACCEPTED]
+* [`266-removing-current-obsolete-clients.txt`](/proposals/266-removing-current-obsolete-clients.txt): Removing current obsolete clients from the Tor network [SUPERSEDED]
+* [`267-tor-consensus-transparency.txt`](/proposals/267-tor-consensus-transparency.txt): Tor Consensus Transparency [OPEN]
+* [`268-guard-selection.txt`](/proposals/268-guard-selection.txt): New Guard Selection Behaviour [OBSOLETE]
+* [`269-hybrid-handshake.txt`](/proposals/269-hybrid-handshake.txt): Transitionally secure hybrid handshakes [NEEDS-REVISION]
+* [`270-newhope-hybrid-handshake.txt`](/proposals/270-newhope-hybrid-handshake.txt): RebelAlliance: A Post-Quantum Secure Hybrid Handshake Based on NewHope [OBSOLETE]
+* [`271-another-guard-selection.txt`](/proposals/271-another-guard-selection.txt): Another algorithm for guard selection [CLOSED]
+* [`272-valid-and-running-by-default.txt`](/proposals/272-valid-and-running-by-default.txt): Listed routers should be Valid, Running, and treated as such [CLOSED]
+* [`273-exit-relay-pinning.txt`](/proposals/273-exit-relay-pinning.txt): Exit relay pinning for web services [DRAFT]
+* [`274-rotate-onion-keys-less.txt`](/proposals/274-rotate-onion-keys-less.txt): Rotate onion keys less frequently [CLOSED]
+* [`275-md-published-time-is-silly.txt`](/proposals/275-md-published-time-is-silly.txt): Stop including meaningful "published" time in microdescriptor consensus [OPEN]
+* [`276-lower-bw-granularity.txt`](/proposals/276-lower-bw-granularity.txt): Report bandwidth with lower granularity in consensus documents [OPEN]
+* [`277-detect-id-sharing.txt`](/proposals/277-detect-id-sharing.txt): Detect multiple relay instances running with same ID [OPEN]
+* [`278-directory-compression-scheme-negotiation.txt`](/proposals/278-directory-compression-scheme-negotiation.txt): Directory Compression Scheme Negotiation [CLOSED]
+* [`279-naming-layer-api.txt`](/proposals/279-naming-layer-api.txt): A Name System API for Tor Onion Services [NEEDS-REVISION]
+* [`280-privcount-in-tor.txt`](/proposals/280-privcount-in-tor.txt): Privacy-Preserving Statistics with Privcount in Tor [SUPERSEDED]
+* [`281-bulk-md-download.txt`](/proposals/281-bulk-md-download.txt): Downloading microdescriptors in bulk [RESERVE]
+* [`282-remove-named-from-consensus.txt`](/proposals/282-remove-named-from-consensus.txt): Remove "Named" and "Unnamed" handling from consensus voting [ACCEPTED]
+* [`283-ipv6-in-micro-consensus.txt`](/proposals/283-ipv6-in-micro-consensus.txt): Move IPv6 ORPorts from microdescriptors to the microdesc consensus [CLOSED]
+* [`284-hsv3-control-port.txt`](/proposals/284-hsv3-control-port.txt): Hidden Service v3 Control Port [CLOSED]
+* [`285-utf-8.txt`](/proposals/285-utf-8.txt): Directory documents should be standardized as UTF-8 [OPEN]
+* [`286-hibernation-api.txt`](/proposals/286-hibernation-api.txt): Controller APIs for hibernation access on mobile [REJECTED]
+* [`287-reduce-lifetime.txt`](/proposals/287-reduce-lifetime.txt): Reduce circuit lifetime without overloading the network [OPEN]
+* [`288-privcount-with-shamir.txt`](/proposals/288-privcount-with-shamir.txt): Privacy-Preserving Statistics with Privcount in Tor (Shamir version) [ACCEPTED]
+* [`289-authenticated-sendmes.txt`](/proposals/289-authenticated-sendmes.txt): Authenticating sendme cells to mitigate bandwidth attacks [CLOSED]
+* [`290-deprecate-consensus-methods.txt`](/proposals/290-deprecate-consensus-methods.txt): Continuously update consensus methods [META]
+* [`291-two-guard-nodes.txt`](/proposals/291-two-guard-nodes.txt): The move to two guard nodes [NEEDS-REVISION]
+* [`292-mesh-vanguards.txt`](/proposals/292-mesh-vanguards.txt): Mesh-based vanguards [ACCEPTED]
+* [`293-know-when-to-publish.txt`](/proposals/293-know-when-to-publish.txt): Other ways for relays to know when to publish [CLOSED]
+* [`294-tls-1.3.txt`](/proposals/294-tls-1.3.txt): TLS 1.3 Migration [DRAFT]
+* [`295-relay-crypto-with-adl.txt`](/proposals/295-relay-crypto-with-adl.txt): Using ADL for relay cryptography (solving the crypto-tagging attack) [OPEN]
+* [`296-expose-bandwidth-files.txt`](/proposals/296-expose-bandwidth-files.txt): Have Directory Authorities expose raw bandwidth list files [OPEN]
+* [`297-safer-protover-shutdowns.txt`](/proposals/297-safer-protover-shutdowns.txt): Relaxing the protover-based shutdown rules [CLOSED]
+* [`298-canonical-families.txt`](/proposals/298-canonical-families.txt): Putting family lines in canonical form [CLOSED]
+* [`299-ip-failure-count.txt`](/proposals/299-ip-failure-count.txt): Preferring IPv4 or IPv6 based on IP Version Failure Count [OPEN]
+* [`300-walking-onions.txt`](/proposals/300-walking-onions.txt): Walking Onions: Scaling and Saving Bandwidth [DRAFT]
+* [`301-dont-vote-on-package-fingerprints.txt`](/proposals/301-dont-vote-on-package-fingerprints.txt): Don't include package fingerprints in consensus documents [ACCEPTED]
+* [`302-padding-machines-for-onion-clients.txt`](/proposals/302-padding-machines-for-onion-clients.txt): Hiding onion service clients using padding [CLOSED]
+* [`303-protover-removal-policy.txt`](/proposals/303-protover-removal-policy.txt): When and how to remove support for protocol versions [DRAFT]
+* [`304-socks5-extending-hs-error-codes.txt`](/proposals/304-socks5-extending-hs-error-codes.txt): Extending SOCKS5 Onion Service Error Codes [CLOSED]
+* [`305-establish-intro-dos-defense-extention.txt`](/proposals/305-establish-intro-dos-defense-extention.txt): ESTABLISH_INTRO Cell DoS Defense Extension [CLOSED]
+* [`306-ipv6-happy-eyeballs.txt`](/proposals/306-ipv6-happy-eyeballs.txt): A Tor Implementation of IPv6 Happy Eyeballs [OPEN]
+* [`307-onionbalance-v3.txt`](/proposals/307-onionbalance-v3.txt): Onion Balance Support for Onion Service v3 [DRAFT]
+* [`308-counter-galois-onion.txt`](/proposals/308-counter-galois-onion.txt): Counter Galois Onion: A New Proposal for Forward-Secure Relay Cryptography [DRAFT]
+* [`309-optimistic-socks-in-tor.txt`](/proposals/309-optimistic-socks-in-tor.txt): Optimistic SOCKS Data [DRAFT]
+* [`310-bandaid-on-guard-selection.txt`](/proposals/310-bandaid-on-guard-selection.txt): Towards load-balancing in Prop 271 [OPEN]
+* [`311-relay-ipv6-reachability.txt`](/proposals/311-relay-ipv6-reachability.txt): Tor Relay IPv6 Reachability [DRAFT]
+* [`312-relay-auto-ipv6-addr.txt`](/proposals/312-relay-auto-ipv6-addr.txt): Tor Relay Automatic IPv6 Address Discovery [DRAFT]
+* [`313-relay-ipv6-stats.txt`](/proposals/313-relay-ipv6-stats.txt): Tor Relay IPv6 Statistics [DRAFT]
+* [`314-allow-markdown-proposals.md`](/proposals/314-allow-markdown-proposals.md): Allow Markdown for proposal format [ACCEPTED]
+* [`315-update-dir-required-fields.txt`](/proposals/315-update-dir-required-fields.txt): Updating the list of fields required in directory documents [OPEN]
+* [`316-flashflow.txt`](/proposals/316-flashflow.txt): FlashFlow: A Secure Speed Test for Tor (Parent Proposal) [DRAFT]
+* [`317-secure-dns-name-resolution.txt`](/proposals/317-secure-dns-name-resolution.txt): Improve security aspects of DNS name resolution [OPEN]
+* [`318-limit-protovers.md`](/proposals/318-limit-protovers.md): Limit protover values to 0-63 [OPEN]
+* [`319-wide-everything.md`](/proposals/319-wide-everything.md): RELAY_FRAGMENT cells [OPEN]
+* [`320-tap-out-again.md`](/proposals/320-tap-out-again.md): Removing TAP usage from v2 onion services [OPEN]
+* [`321-happy-families.md`](/proposals/321-happy-families.md): Better performance and usability for the MyFamily option (v2) [OPEN]
+* [`322-dirport-linkspec.md`](/proposals/322-dirport-linkspec.md): Extending link specifiers to include the directory port [OPEN]
+* [`323-walking-onions-full.md`](/proposals/323-walking-onions-full.md): Specification for Walking Onions [DRAFT]
+* [`324-rtt-congestion-control.txt`](/proposals/324-rtt-congestion-control.txt): RTT-based Congestion Control for Tor [OPEN]
+* [`325-packed-relay-cells.md`](/proposals/325-packed-relay-cells.md): Packed relay cells: saving space on small commands [DRAFT]
+
diff --git a/proposals/README.md b/proposals/README.md
new file mode 100644
index 0000000..9574070
--- /dev/null
+++ b/proposals/README.md
@@ -0,0 +1,330 @@
+# Tor proposals by status
+
+Here we have a set of proposals for changes to the Tor protocol. Some
+of these proposals are implemented; some are works in progress; and some
+will never be implemented.
+
+Below are a list of proposals sorted by status. See
+[INDEX.md](/proposals/INDEX.md) for a list of proposals sorted by number.
+
+# Active proposals by status
+
+## OPEN proposals: Under discussion
+
+These are proposals that we think are likely to be complete, and ripe
+for discussion.
+
+* [`201-bridge-v3-reqs-stats.txt`](/proposals/201-bridge-v3-reqs-stats.txt): Make bridges report statistics on daily v3 network status requests
+* [`239-consensus-hash-chaining.txt`](/proposals/239-consensus-hash-chaining.txt): Consensus Hash Chaining
+* [`262-rekey-circuits.txt`](/proposals/262-rekey-circuits.txt): Re-keying live circuits with new cryptographic material
+* [`267-tor-consensus-transparency.txt`](/proposals/267-tor-consensus-transparency.txt): Tor Consensus Transparency
+* [`275-md-published-time-is-silly.txt`](/proposals/275-md-published-time-is-silly.txt): Stop including meaningful "published" time in microdescriptor consensus
+* [`276-lower-bw-granularity.txt`](/proposals/276-lower-bw-granularity.txt): Report bandwidth with lower granularity in consensus documents
+* [`277-detect-id-sharing.txt`](/proposals/277-detect-id-sharing.txt): Detect multiple relay instances running with same ID
+* [`285-utf-8.txt`](/proposals/285-utf-8.txt): Directory documents should be standardized as UTF-8
+* [`287-reduce-lifetime.txt`](/proposals/287-reduce-lifetime.txt): Reduce circuit lifetime without overloading the network
+* [`295-relay-crypto-with-adl.txt`](/proposals/295-relay-crypto-with-adl.txt): Using ADL for relay cryptography (solving the crypto-tagging attack)
+* [`296-expose-bandwidth-files.txt`](/proposals/296-expose-bandwidth-files.txt): Have Directory Authorities expose raw bandwidth list files
+* [`299-ip-failure-count.txt`](/proposals/299-ip-failure-count.txt): Preferring IPv4 or IPv6 based on IP Version Failure Count
+* [`306-ipv6-happy-eyeballs.txt`](/proposals/306-ipv6-happy-eyeballs.txt): A Tor Implementation of IPv6 Happy Eyeballs
+* [`310-bandaid-on-guard-selection.txt`](/proposals/310-bandaid-on-guard-selection.txt): Towards load-balancing in Prop 271
+* [`315-update-dir-required-fields.txt`](/proposals/315-update-dir-required-fields.txt): Updating the list of fields required in directory documents
+* [`317-secure-dns-name-resolution.txt`](/proposals/317-secure-dns-name-resolution.txt): Improve security aspects of DNS name resolution
+* [`318-limit-protovers.md`](/proposals/318-limit-protovers.md): Limit protover values to 0-63
+* [`319-wide-everything.md`](/proposals/319-wide-everything.md): RELAY_FRAGMENT cells
+* [`320-tap-out-again.md`](/proposals/320-tap-out-again.md): Removing TAP usage from v2 onion services
+* [`321-happy-families.md`](/proposals/321-happy-families.md): Better performance and usability for the MyFamily option (v2)
+* [`322-dirport-linkspec.md`](/proposals/322-dirport-linkspec.md): Extending link specifiers to include the directory port
+* [`324-rtt-congestion-control.txt`](/proposals/324-rtt-congestion-control.txt): RTT-based Congestion Control for Tor
+
+
+## ACCEPTED proposals: Slated for implementation
+
+These are the proposals that we agree we'd like to implement. They
+might or might not have a specific timeframe planned for their
+implementation.
+
+* [`188-bridge-guards.txt`](/proposals/188-bridge-guards.txt): Bridge Guards and other anti-enumeration defenses
+* [`249-large-create-cells.txt`](/proposals/249-large-create-cells.txt): Allow CREATE cells with >505 bytes of handshake data
+* [`265-load-balancing-with-overhead.txt`](/proposals/265-load-balancing-with-overhead.txt): Load Balancing with Overhead Parameters
+* [`282-remove-named-from-consensus.txt`](/proposals/282-remove-named-from-consensus.txt): Remove "Named" and "Unnamed" handling from consensus voting
+* [`288-privcount-with-shamir.txt`](/proposals/288-privcount-with-shamir.txt): Privacy-Preserving Statistics with Privcount in Tor (Shamir version)
+* [`292-mesh-vanguards.txt`](/proposals/292-mesh-vanguards.txt): Mesh-based vanguards
+* [`301-dont-vote-on-package-fingerprints.txt`](/proposals/301-dont-vote-on-package-fingerprints.txt): Don't include package fingerprints in consensus documents
+* [`314-allow-markdown-proposals.md`](/proposals/314-allow-markdown-proposals.md): Allow Markdown for proposal format
+
+
+## FINISHED proposals: Implemented, specs not merged
+
+These proposals are implemented in some version of Tor; the proposals
+themselves still need to be merged into the specifications proper.
+
+* [`160-bandwidth-offset.txt`](/proposals/160-bandwidth-offset.txt): Authorities vote for bandwidth offsets in consensus
+* [`196-transport-control-ports.txt`](/proposals/196-transport-control-ports.txt): Extended ORPort and TransportControlPort
+* [`217-ext-orport-auth.txt`](/proposals/217-ext-orport-auth.txt): Tor Extended ORPort Authentication
+* [`232-pluggable-transports-through-proxy.txt`](/proposals/232-pluggable-transports-through-proxy.txt): Pluggable Transport through SOCKS proxy
+* [`260-rend-single-onion.txt`](/proposals/260-rend-single-onion.txt): Rendezvous Single Onion Services
+
+
+## META proposals: About the proposal process
+
+These proposals describe ongoing policies and changes to the proposals
+process.
+
+* [`000-index.txt`](/proposals/000-index.txt): Index of Tor Proposals
+* [`001-process.txt`](/proposals/001-process.txt): The Tor Proposal Process
+* [`098-todo.txt`](/proposals/098-todo.txt): Proposals that should be written
+* [`099-misc.txt`](/proposals/099-misc.txt): Miscellaneous proposals
+* [`202-improved-relay-crypto.txt`](/proposals/202-improved-relay-crypto.txt): Two improved relay encryption protocols for Tor cells
+* [`257-hiding-authorities.txt`](/proposals/257-hiding-authorities.txt): Refactoring authorities and making them more isolated from the net
+* [`290-deprecate-consensus-methods.txt`](/proposals/290-deprecate-consensus-methods.txt): Continuously update consensus methods
+
+
+## INFORMATIONAL proposals: not actually specifications
+
+These proposals describe a process or project, but aren't actually
+proposed changes in the Tor specifications.
+
+* [`159-exit-scanning.txt`](/proposals/159-exit-scanning.txt): Exit Scanning
+
+
+# Preliminary proposals
+
+## DRAFT proposals: incomplete works
+
+* [`240-auth-cert-revocation.txt`](/proposals/240-auth-cert-revocation.txt): Early signing key revocation for directory authorities
+* [`273-exit-relay-pinning.txt`](/proposals/273-exit-relay-pinning.txt): Exit relay pinning for web services
+* [`294-tls-1.3.txt`](/proposals/294-tls-1.3.txt): TLS 1.3 Migration
+* [`300-walking-onions.txt`](/proposals/300-walking-onions.txt): Walking Onions: Scaling and Saving Bandwidth
+* [`303-protover-removal-policy.txt`](/proposals/303-protover-removal-policy.txt): When and how to remove support for protocol versions
+* [`307-onionbalance-v3.txt`](/proposals/307-onionbalance-v3.txt): Onion Balance Support for Onion Service v3
+* [`308-counter-galois-onion.txt`](/proposals/308-counter-galois-onion.txt): Counter Galois Onion: A New Proposal for Forward-Secure Relay Cryptography
+* [`309-optimistic-socks-in-tor.txt`](/proposals/309-optimistic-socks-in-tor.txt): Optimistic SOCKS Data
+* [`311-relay-ipv6-reachability.txt`](/proposals/311-relay-ipv6-reachability.txt): Tor Relay IPv6 Reachability
+* [`312-relay-auto-ipv6-addr.txt`](/proposals/312-relay-auto-ipv6-addr.txt): Tor Relay Automatic IPv6 Address Discovery
+* [`313-relay-ipv6-stats.txt`](/proposals/313-relay-ipv6-stats.txt): Tor Relay IPv6 Statistics
+* [`316-flashflow.txt`](/proposals/316-flashflow.txt): FlashFlow: A Secure Speed Test for Tor (Parent Proposal)
+* [`323-walking-onions-full.md`](/proposals/323-walking-onions-full.md): Specification for Walking Onions
+* [`325-packed-relay-cells.md`](/proposals/325-packed-relay-cells.md): Packed relay cells: saving space on small commands
+
+
+## NEEDS-REVISION proposals: good ideas that we can't implement as-is.
+
+* [`212-using-old-consensus.txt`](/proposals/212-using-old-consensus.txt): Increase Acceptable Consensus Age
+* [`219-expanded-dns.txt`](/proposals/219-expanded-dns.txt): Support for full DNS and DNSSEC resolution in Tor
+* [`245-tap-out.txt`](/proposals/245-tap-out.txt): Deprecating and removing the TAP circuit extension protocol
+* [`248-removing-rsa-identities.txt`](/proposals/248-removing-rsa-identities.txt): Remove all RSA identity keys
+* [`254-padding-negotiation.txt`](/proposals/254-padding-negotiation.txt): Padding Negotiation
+* [`269-hybrid-handshake.txt`](/proposals/269-hybrid-handshake.txt): Transitionally secure hybrid handshakes
+* [`279-naming-layer-api.txt`](/proposals/279-naming-layer-api.txt): A Name System API for Tor Onion Services
+* [`291-two-guard-nodes.txt`](/proposals/291-two-guard-nodes.txt): The move to two guard nodes
+
+
+## NEEDS-RESEARCH proposals: blocking on research
+
+(There are no proposals in this category)
+
+
+# Inactive proposals by status
+
+## CLOSED proposals: Implemented and specified
+
+These proposals have been implemented in some version of Tor, and the
+changes from the proposals have been merged into the specifications as
+necessary.
+
+* [`101-dir-voting.txt`](/proposals/101-dir-voting.txt): Voting on the Tor Directory System
+* [`102-drop-opt.txt`](/proposals/102-drop-opt.txt): Dropping "opt" from the directory format
+* [`103-multilevel-keys.txt`](/proposals/103-multilevel-keys.txt): Splitting identity key from regularly used signing key
+* [`104-short-descriptors.txt`](/proposals/104-short-descriptors.txt): Long and Short Router Descriptors
+* [`105-handshake-revision.txt`](/proposals/105-handshake-revision.txt): Version negotiation for the Tor protocol
+* [`106-less-tls-constraint.txt`](/proposals/106-less-tls-constraint.txt): Checking fewer things during TLS handshakes
+* [`107-uptime-sanity-checking.txt`](/proposals/107-uptime-sanity-checking.txt): Uptime Sanity Checking
+* [`108-mtbf-based-stability.txt`](/proposals/108-mtbf-based-stability.txt): Base "Stable" Flag on Mean Time Between Failures
+* [`109-no-sharing-ips.txt`](/proposals/109-no-sharing-ips.txt): No more than one server per IP address
+* [`110-avoid-infinite-circuits.txt`](/proposals/110-avoid-infinite-circuits.txt): Avoiding infinite length circuits
+* [`111-local-traffic-priority.txt`](/proposals/111-local-traffic-priority.txt): Prioritizing local traffic over relayed traffic
+* [`114-distributed-storage.txt`](/proposals/114-distributed-storage.txt): Distributed Storage for Tor Hidden Service Descriptors
+* [`117-ipv6-exits.txt`](/proposals/117-ipv6-exits.txt): IPv6 exits
+* [`119-controlport-auth.txt`](/proposals/119-controlport-auth.txt): New PROTOCOLINFO command for controllers
+* [`121-hidden-service-authentication.txt`](/proposals/121-hidden-service-authentication.txt): Hidden Service Authentication
+* [`122-unnamed-flag.txt`](/proposals/122-unnamed-flag.txt): Network status entries need a new Unnamed flag
+* [`123-autonaming.txt`](/proposals/123-autonaming.txt): Naming authorities automatically create bindings
+* [`125-bridges.txt`](/proposals/125-bridges.txt): Behavior for bridge users, bridge relays, and bridge authorities
+* [`126-geoip-reporting.txt`](/proposals/126-geoip-reporting.txt): Getting GeoIP data and publishing usage summaries
+* [`129-reject-plaintext-ports.txt`](/proposals/129-reject-plaintext-ports.txt): Block Insecure Protocols by Default
+* [`130-v2-conn-protocol.txt`](/proposals/130-v2-conn-protocol.txt): Version 2 Tor connection protocol
+* [`135-private-tor-networks.txt`](/proposals/135-private-tor-networks.txt): Simplify Configuration of Private Tor Networks
+* [`136-legacy-keys.txt`](/proposals/136-legacy-keys.txt): Mass authority migration with legacy keys
+* [`137-bootstrap-phases.txt`](/proposals/137-bootstrap-phases.txt): Keep controllers informed as Tor bootstraps
+* [`138-remove-down-routers-from-consensus.txt`](/proposals/138-remove-down-routers-from-consensus.txt): Remove routers that are not Running from consensus documents
+* [`139-conditional-consensus-download.txt`](/proposals/139-conditional-consensus-download.txt): Download consensus documents only when it will be trusted
+* [`140-consensus-diffs.txt`](/proposals/140-consensus-diffs.txt): Provide diffs between consensuses
+* [`148-uniform-client-end-reason.txt`](/proposals/148-uniform-client-end-reason.txt): Stream end reasons from the client side should be uniform
+* [`150-exclude-exit-nodes.txt`](/proposals/150-exclude-exit-nodes.txt): Exclude Exit Nodes from a circuit
+* [`151-path-selection-improvements.txt`](/proposals/151-path-selection-improvements.txt): Improving Tor Path Selection
+* [`152-single-hop-circuits.txt`](/proposals/152-single-hop-circuits.txt): Optionally allow exit from single-hop circuits
+* [`155-four-hidden-service-improvements.txt`](/proposals/155-four-hidden-service-improvements.txt): Four Improvements of Hidden Service Performance
+* [`157-specific-cert-download.txt`](/proposals/157-specific-cert-download.txt): Make certificate downloads specific
+* [`158-microdescriptors.txt`](/proposals/158-microdescriptors.txt): Clients download consensus + microdescriptors
+* [`161-computing-bandwidth-adjustments.txt`](/proposals/161-computing-bandwidth-adjustments.txt): Computing Bandwidth Adjustments
+* [`162-consensus-flavors.txt`](/proposals/162-consensus-flavors.txt): Publish the consensus in multiple flavors
+* [`166-statistics-extra-info-docs.txt`](/proposals/166-statistics-extra-info-docs.txt): Including Network Statistics in Extra-Info Documents
+* [`167-params-in-consensus.txt`](/proposals/167-params-in-consensus.txt): Vote on network parameters in consensus
+* [`171-separate-streams.txt`](/proposals/171-separate-streams.txt): Separate streams across circuits by connection metadata
+* [`174-optimistic-data-server.txt`](/proposals/174-optimistic-data-server.txt): Optimistic Data for Tor: Server Side
+* [`176-revising-handshake.txt`](/proposals/176-revising-handshake.txt): Proposed version-3 link handshake for Tor
+* [`178-param-voting.txt`](/proposals/178-param-voting.txt): Require majority of authorities to vote for consensus parameters
+* [`179-TLS-cert-and-parameter-normalization.txt`](/proposals/179-TLS-cert-and-parameter-normalization.txt): TLS certificate and parameter normalization
+* [`180-pluggable-transport.txt`](/proposals/180-pluggable-transport.txt): Pluggable transports for circumvention
+* [`181-optimistic-data-client.txt`](/proposals/181-optimistic-data-client.txt): Optimistic Data for Tor: Client Side
+* [`183-refillintervals.txt`](/proposals/183-refillintervals.txt): Refill Intervals
+* [`184-v3-link-protocol.txt`](/proposals/184-v3-link-protocol.txt): Miscellaneous changes for a v3 Tor link protocol
+* [`186-multiple-orports.txt`](/proposals/186-multiple-orports.txt): Multiple addresses for one OR or bridge
+* [`187-allow-client-auth.txt`](/proposals/187-allow-client-auth.txt): Reserve a cell type to allow client authorization
+* [`193-safe-cookie-authentication.txt`](/proposals/193-safe-cookie-authentication.txt): Safe cookie authentication for Tor controllers
+* [`198-restore-clienthello-semantics.txt`](/proposals/198-restore-clienthello-semantics.txt): Restore semantics of TLS ClientHello
+* [`200-new-create-and-extend-cells.txt`](/proposals/200-new-create-and-extend-cells.txt): Adding new, extensible CREATE, EXTEND, and related cells
+* [`204-hidserv-subdomains.txt`](/proposals/204-hidserv-subdomains.txt): Subdomain support for Hidden Service addresses
+* [`205-local-dnscache.txt`](/proposals/205-local-dnscache.txt): Remove global client-side DNS caching
+* [`206-directory-sources.txt`](/proposals/206-directory-sources.txt): Preconfigured directory sources for bootstrapping
+* [`207-directory-guards.txt`](/proposals/207-directory-guards.txt): Directory guards
+* [`208-ipv6-exits-redux.txt`](/proposals/208-ipv6-exits-redux.txt): IPv6 Exits Redux
+* [`214-longer-circids.txt`](/proposals/214-longer-circids.txt): Allow 4-byte circuit IDs in a new link protocol
+* [`215-update-min-consensus-ver.txt`](/proposals/215-update-min-consensus-ver.txt): Let the minimum consensus method change with time
+* [`216-ntor-handshake.txt`](/proposals/216-ntor-handshake.txt): Improved circuit-creation key exchange
+* [`218-usage-controller-events.txt`](/proposals/218-usage-controller-events.txt): Controller events to better understand connection/circuit usage
+* [`220-ecc-id-keys.txt`](/proposals/220-ecc-id-keys.txt): Migrate server identity keys to Ed25519
+* [`221-stop-using-create-fast.txt`](/proposals/221-stop-using-create-fast.txt): Stop using CREATE_FAST
+* [`222-remove-client-timestamps.txt`](/proposals/222-remove-client-timestamps.txt): Stop sending client timestamps
+* [`224-rend-spec-ng.txt`](/proposals/224-rend-spec-ng.txt): Next-Generation Hidden Services in Tor
+* [`227-vote-on-package-fingerprints.txt`](/proposals/227-vote-on-package-fingerprints.txt): Include package fingerprints in consensus documents
+* [`228-cross-certification-onionkeys.txt`](/proposals/228-cross-certification-onionkeys.txt): Cross-certifying identity keys with onion keys
+* [`235-kill-named-flag.txt`](/proposals/235-kill-named-flag.txt): Stop assigning (and eventually supporting) the Named flag
+* [`236-single-guard-node.txt`](/proposals/236-single-guard-node.txt): The move to a single guard node
+* [`237-directory-servers-for-all.txt`](/proposals/237-directory-servers-for-all.txt): All relays are directory servers
+* [`238-hs-relay-stats.txt`](/proposals/238-hs-relay-stats.txt): Better hidden service stats from Tor relays
+* [`243-hsdir-flag-need-stable.txt`](/proposals/243-hsdir-flag-need-stable.txt): Give out HSDir flag only to relays with Stable flag
+* [`244-use-rfc5705-for-tls-binding.txt`](/proposals/244-use-rfc5705-for-tls-binding.txt): Use RFC5705 Key Exporting in our AUTHENTICATE calls
+* [`250-commit-reveal-consensus.txt`](/proposals/250-commit-reveal-consensus.txt): Random Number Generation During Tor Voting
+* [`251-netflow-padding.txt`](/proposals/251-netflow-padding.txt): Padding for netflow record resolution reduction
+* [`264-subprotocol-versions.txt`](/proposals/264-subprotocol-versions.txt): Putting version numbers on the Tor subprotocols
+* [`271-another-guard-selection.txt`](/proposals/271-another-guard-selection.txt): Another algorithm for guard selection
+* [`272-valid-and-running-by-default.txt`](/proposals/272-valid-and-running-by-default.txt): Listed routers should be Valid, Running, and treated as such
+* [`274-rotate-onion-keys-less.txt`](/proposals/274-rotate-onion-keys-less.txt): Rotate onion keys less frequently
+* [`278-directory-compression-scheme-negotiation.txt`](/proposals/278-directory-compression-scheme-negotiation.txt): Directory Compression Scheme Negotiation
+* [`283-ipv6-in-micro-consensus.txt`](/proposals/283-ipv6-in-micro-consensus.txt): Move IPv6 ORPorts from microdescriptors to the microdesc consensus
+* [`284-hsv3-control-port.txt`](/proposals/284-hsv3-control-port.txt): Hidden Service v3 Control Port
+* [`289-authenticated-sendmes.txt`](/proposals/289-authenticated-sendmes.txt): Authenticating sendme cells to mitigate bandwidth attacks
+* [`293-know-when-to-publish.txt`](/proposals/293-know-when-to-publish.txt): Other ways for relays to know when to publish
+* [`297-safer-protover-shutdowns.txt`](/proposals/297-safer-protover-shutdowns.txt): Relaxing the protover-based shutdown rules
+* [`298-canonical-families.txt`](/proposals/298-canonical-families.txt): Putting family lines in canonical form
+* [`302-padding-machines-for-onion-clients.txt`](/proposals/302-padding-machines-for-onion-clients.txt): Hiding onion service clients using padding
+* [`304-socks5-extending-hs-error-codes.txt`](/proposals/304-socks5-extending-hs-error-codes.txt): Extending SOCKS5 Onion Service Error Codes
+* [`305-establish-intro-dos-defense-extention.txt`](/proposals/305-establish-intro-dos-defense-extention.txt): ESTABLISH_INTRO Cell DoS Defense Extension
+
+
+## RESERVE proposals: Saving for later
+
+These proposals aren't anything we plan to implement soon, but for one
+reason or another we think they might be a good idea in the
+future. We're keeping them around as a reference in case we someday
+confront the problems that they try to solve.
+
+* [`133-unreachable-ors.txt`](/proposals/133-unreachable-ors.txt): Incorporate Unreachable ORs into the Tor Network
+* [`172-circ-getinfo-option.txt`](/proposals/172-circ-getinfo-option.txt): GETINFO controller option for circuit information
+* [`177-flag-abstention.txt`](/proposals/177-flag-abstention.txt): Abstaining from votes on individual flags
+* [`211-mapaddress-tor-status.txt`](/proposals/211-mapaddress-tor-status.txt): Internal Mapaddress for Tor Configuration Testing
+* [`223-ace-handshake.txt`](/proposals/223-ace-handshake.txt): Ace: Improved circuit-creation key exchange
+* [`226-bridgedb-database-improvements.txt`](/proposals/226-bridgedb-database-improvements.txt): "Scalability and Stability Improvements to BridgeDB: Switching to a Distributed Database System and RDBMS"
+* [`242-better-families.txt`](/proposals/242-better-families.txt): Better performance and usability for the MyFamily option
+* [`255-hs-load-balancing.txt`](/proposals/255-hs-load-balancing.txt): Controller features to allow for load-balancing hidden services
+* [`256-key-revocation.txt`](/proposals/256-key-revocation.txt): Key revocation for relays and authorities
+* [`281-bulk-md-download.txt`](/proposals/281-bulk-md-download.txt): Downloading microdescriptors in bulk
+
+
+## SUPERSEDED proposals: Replaced by something else
+
+These proposals were obsoleted by a later proposal before they were
+implemented.
+
+* [`112-bring-back-pathlencoinweight.txt`](/proposals/112-bring-back-pathlencoinweight.txt): Bring Back Pathlen Coin Weight
+* [`113-fast-authority-interface.txt`](/proposals/113-fast-authority-interface.txt): Simplifying directory authority administration
+* [`118-multiple-orports.txt`](/proposals/118-multiple-orports.txt): Advertising multiple ORPorts at once
+* [`124-tls-certificates.txt`](/proposals/124-tls-certificates.txt): Blocking resistant TLS certificate usage
+* [`143-distributed-storage-improvements.txt`](/proposals/143-distributed-storage-improvements.txt): Improvements of Distributed Storage for Tor Hidden Service Descriptors
+* [`145-newguard-flag.txt`](/proposals/145-newguard-flag.txt): Separate "suitable as a guard" from "suitable as a new guard"
+* [`146-long-term-stability.txt`](/proposals/146-long-term-stability.txt): Add new flag to reflect long-term stability
+* [`149-using-netinfo-data.txt`](/proposals/149-using-netinfo-data.txt): Using data from NETINFO cells
+* [`153-automatic-software-update-protocol.txt`](/proposals/153-automatic-software-update-protocol.txt): Automatic software update protocol
+* [`154-automatic-updates.txt`](/proposals/154-automatic-updates.txt): Automatic Software Update Protocol
+* [`156-tracking-blocked-ports.txt`](/proposals/156-tracking-blocked-ports.txt): Tracking blocked ports on the client side
+* [`163-detecting-clients.txt`](/proposals/163-detecting-clients.txt): Detecting whether a connection comes from a client
+* [`169-eliminating-renegotiation.txt`](/proposals/169-eliminating-renegotiation.txt): Eliminate TLS renegotiation for the Tor connection handshake
+* [`170-user-path-config.txt`](/proposals/170-user-path-config.txt): Configuration options regarding circuit building
+* [`185-dir-without-dirport.txt`](/proposals/185-dir-without-dirport.txt): Directory caches without DirPort
+* [`194-mnemonic-urls.txt`](/proposals/194-mnemonic-urls.txt): Mnemonic .onion URLs
+* [`210-faster-headless-consensus-bootstrap.txt`](/proposals/210-faster-headless-consensus-bootstrap.txt): Faster Headless Consensus Bootstrapping
+* [`225-strawman-shared-rand.txt`](/proposals/225-strawman-shared-rand.txt): Strawman proposal: commit-and-reveal shared rng
+* [`247-hs-guard-discovery.txt`](/proposals/247-hs-guard-discovery.txt): Defending Against Guard Discovery Attacks using Vanguards
+* [`252-single-onion.txt`](/proposals/252-single-onion.txt): Single Onion Services
+* [`266-removing-current-obsolete-clients.txt`](/proposals/266-removing-current-obsolete-clients.txt): Removing current obsolete clients from the Tor network
+* [`280-privcount-in-tor.txt`](/proposals/280-privcount-in-tor.txt): Privacy-Preserving Statistics with Privcount in Tor
+
+
+## DEAD, REJECTED, OBSOLETE proposals: Not in our plans.
+
+These proposals are not on-track for discussion or
+implementation. Either discussion has stalled out (the proposal is
+DEAD), the proposal has been considered and not adopted (the proposal is
+REJECTED), or the proposal addresses an issue or a solution that is no
+longer relevant (the proposal is OBSOLETE).
+
+* [`100-tor-spec-udp.txt`](/proposals/100-tor-spec-udp.txt): Tor Unreliable Datagram Extension Proposal [DEAD]
+* [`115-two-hop-paths.txt`](/proposals/115-two-hop-paths.txt): Two Hop Paths [DEAD]
+* [`116-two-hop-paths-from-guard.txt`](/proposals/116-two-hop-paths-from-guard.txt): Two hop paths from entry guards [DEAD]
+* [`120-shutdown-descriptors.txt`](/proposals/120-shutdown-descriptors.txt): Shutdown descriptors when Tor servers stop [DEAD]
+* [`127-dirport-mirrors-downloads.txt`](/proposals/127-dirport-mirrors-downloads.txt): Relaying dirport requests to Tor download site / website [OBSOLETE]
+* [`128-bridge-families.txt`](/proposals/128-bridge-families.txt): Families of private bridges [DEAD]
+* [`131-verify-tor-usage.txt`](/proposals/131-verify-tor-usage.txt): Help users to verify they are using Tor [OBSOLETE]
+* [`132-browser-check-tor-service.txt`](/proposals/132-browser-check-tor-service.txt): A Tor Web Service For Verifying Correct Browser Configuration [OBSOLETE]
+* [`134-robust-voting.txt`](/proposals/134-robust-voting.txt): More robust consensus voting with diverse authority sets [REJECTED]
+* [`141-jit-sd-downloads.txt`](/proposals/141-jit-sd-downloads.txt): Download server descriptors on demand [OBSOLETE]
+* [`142-combine-intro-and-rend-points.txt`](/proposals/142-combine-intro-and-rend-points.txt): Combine Introduction and Rendezvous Points [DEAD]
+* [`144-enforce-distinct-providers.txt`](/proposals/144-enforce-distinct-providers.txt): Increase the diversity of circuits by detecting nodes belonging the same provider [OBSOLETE]
+* [`147-prevoting-opinions.txt`](/proposals/147-prevoting-opinions.txt): Eliminate the need for v2 directories in generating v3 directories [REJECTED]
+* [`164-reporting-server-status.txt`](/proposals/164-reporting-server-status.txt): Reporting the status of server votes [OBSOLETE]
+* [`165-simple-robust-voting.txt`](/proposals/165-simple-robust-voting.txt): Easy migration for voting authority sets [REJECTED]
+* [`168-reduce-circwindow.txt`](/proposals/168-reduce-circwindow.txt): Reduce default circuit window [REJECTED]
+* [`173-getinfo-option-expansion.txt`](/proposals/173-getinfo-option-expansion.txt): GETINFO Option Expansion [OBSOLETE]
+* [`175-automatic-node-promotion.txt`](/proposals/175-automatic-node-promotion.txt): Automatically promoting Tor clients to nodes [REJECTED]
+* [`182-creditbucket.txt`](/proposals/182-creditbucket.txt): Credit Bucket [OBSOLETE]
+* [`189-authorize-cell.txt`](/proposals/189-authorize-cell.txt): AUTHORIZE and AUTHORIZED cells [OBSOLETE]
+* [`190-shared-secret-bridge-authorization.txt`](/proposals/190-shared-secret-bridge-authorization.txt): Bridge Client Authorization Based on a Shared Secret [OBSOLETE]
+* [`191-mitm-bridge-detection-resistance.txt`](/proposals/191-mitm-bridge-detection-resistance.txt): Bridge Detection Resistance against MITM-capable Adversaries [OBSOLETE]
+* [`192-store-bridge-information.txt`](/proposals/192-store-bridge-information.txt): Automatically retrieve and store information about bridges [OBSOLETE]
+* [`195-TLS-normalization-for-024.txt`](/proposals/195-TLS-normalization-for-024.txt): TLS certificate normalization for Tor 0.2.4.x [DEAD]
+* [`197-postmessage-ipc.txt`](/proposals/197-postmessage-ipc.txt): Message-based Inter-Controller IPC Channel [REJECTED]
+* [`199-bridgefinder-integration.txt`](/proposals/199-bridgefinder-integration.txt): Integration of BridgeFinder and BridgeFinderHelper [OBSOLETE]
+* [`203-https-frontend.txt`](/proposals/203-https-frontend.txt): Avoiding censorship by impersonating an HTTPS server [OBSOLETE]
+* [`209-path-bias-tuning.txt`](/proposals/209-path-bias-tuning.txt): Tuning the Parameters for the Path Bias Defense [OBSOLETE]
+* [`213-remove-stream-sendmes.txt`](/proposals/213-remove-stream-sendmes.txt): Remove stream-level sendmes from the design [DEAD]
+* [`229-further-socks5-extensions.txt`](/proposals/229-further-socks5-extensions.txt): Further SOCKS5 extensions [REJECTED]
+* [`230-rsa1024-relay-id-migration.txt`](/proposals/230-rsa1024-relay-id-migration.txt): How to change RSA1024 relay identity keys [OBSOLETE]
+* [`231-migrate-authority-rsa1024-ids.txt`](/proposals/231-migrate-authority-rsa1024-ids.txt): Migrating authority RSA1024 identity keys [OBSOLETE]
+* [`233-quicken-tor2web-mode.txt`](/proposals/233-quicken-tor2web-mode.txt): Making Tor2Web mode faster [REJECTED]
+* [`234-remittance-addresses.txt`](/proposals/234-remittance-addresses.txt): Adding remittance field to directory specification [REJECTED]
+* [`241-suspicious-guard-turnover.txt`](/proposals/241-suspicious-guard-turnover.txt): Resisting guard-turnover attacks [REJECTED]
+* [`246-merge-hsdir-and-intro.txt`](/proposals/246-merge-hsdir-and-intro.txt): Merging Hidden Service Directories and Introduction Points [REJECTED]
+* [`253-oob-hmac.txt`](/proposals/253-oob-hmac.txt): Out of Band Circuit HMACs [DEAD]
+* [`258-dirauth-dos.txt`](/proposals/258-dirauth-dos.txt): Denial-of-service resistance for directory authorities [DEAD]
+* [`259-guard-selection.txt`](/proposals/259-guard-selection.txt): New Guard Selection Behaviour [OBSOLETE]
+* [`261-aez-crypto.txt`](/proposals/261-aez-crypto.txt): AEZ for relay cryptography [OBSOLETE]
+* [`263-ntru-for-pq-handshake.txt`](/proposals/263-ntru-for-pq-handshake.txt): Request to change key exchange protocol for handshake v1.2 [OBSOLETE]
+* [`268-guard-selection.txt`](/proposals/268-guard-selection.txt): New Guard Selection Behaviour [OBSOLETE]
+* [`270-newhope-hybrid-handshake.txt`](/proposals/270-newhope-hybrid-handshake.txt): RebelAlliance: A Post-Quantum Secure Hybrid Handshake Based on NewHope [OBSOLETE]
+* [`286-hibernation-api.txt`](/proposals/286-hibernation-api.txt): Controller APIs for hibernation access on mobile [REJECTED]
+
+
+
+
1
0