The core Tor protocol
1.
Tor Protocol Specification
1.1.
Preliminaries
1.2.
System overview
1.3.
Connections
1.4.
Cell Packet format
1.5.
Negotiating and initializing connections
1.6.
Circuit management
1.6.1.
CREATE and CREATED cells
1.6.2.
Setting circuit keys
1.6.3.
Creating circuits
1.6.4.
Tearing down circuits
1.6.5.
Routing relay cells
1.6.6.
Handling relay_early cells
1.7.
Application connections and stream management
1.7.1.
Relay cells
1.7.2.
Opening streams and transferring data
1.7.3.
Closing streams
1.7.4.
Remote hostname lookup
1.8.
Flow control
1.9.
Handling resource exhaustion
1.10.
Subprotocol versioning
1.11.
Ed25519 certificates in Tor
2.
Tor directory protocol, version 3
2.1.
Scope and preliminaries
2.2.
Outline
2.3.
Router operation and formats
2.3.1.
Uploading server descriptors and extra-info documents
2.3.1.1.
Server descriptor format
2.3.1.2.
Extra-info document format
2.3.1.3.
Nonterminals in server descriptors
2.4.
Directory authority operation and formats
2.4.1.
Creating key certificates
2.4.2.
Accepting server descriptor and extra-info document uploads
2.4.3.
Computing microdescriptors
2.4.4.
Exchanging votes
2.4.4.1.
Vote and consensus status document formats
2.4.4.2.
Assigning flags in a vote
2.4.4.3.
Serving bandwidth list files
2.5.
Directory cache operation
2.6.
Client operation
2.7.
Standards compliance
2.8.
Consensus-negotiation timeline.
2.9.
General-use HTTP URLs
2.10.
Converting a curve25519 public key to an ed25519 public key
2.11.
Inferring missing proto lines.
2.12.
Limited ed diff format
2.13.
Tor Shared Random Subsystem Specification
2.13.1.
Introduction
2.13.2.
Overview
2.13.3.
Protocol
2.13.4.
Specification [SPEC]
2.13.5.
Security Analysis
2.13.6.
Discussion
2.13.7.
Acknowledgements
3.
Tor Path Specification
3.1.
General operation
3.2.
Building circuits
3.2.1.
When we build
3.2.2.
Path selection and constraints
3.2.3.
Cannibalizing circuits
3.2.4.
Learning when to give up ("timeout") on circuit construction
3.2.5.
Handling failure
3.3.
Attaching streams to circuits
3.4.
Hidden-service related circuits
3.5.
Guard nodes
3.6.
Server descriptor purposes
3.7.
Detecting route manipulation by Guard nodes (Path Bias)
3.8.
Old notes
4.
Tor Guard Specification
4.1.
Introduction and motivation
4.2.
State instances
4.3.
Circuit Creation, Entry Guard Selection (1000 foot view)
4.4.
The algorithm.
4.5.
Appendices
4.6.
Still non-addressed issues [Section:TODO]
5.
Tor Padding Specification
5.1.
Overview
5.2.
Connection-level padding
5.3.
Circuit-level padding
5.4.
Acknowledgments
6.
Preventing Denial-Of-Service
Additional behaviors for clients
7.
Tor's extensions to the SOCKS protocol
8.
Special Hostnames in Tor
Onion services
9.
Tor Rendezvous Specification - Version 3
9.1.
Hidden services: overview and preliminaries.
9.2.
Protocol overview
9.3.
Generating and publishing hidden service descriptors [HSDIR]
9.3.1.
Deriving blinded keys and subcredentials [SUBCRED]
9.3.2.
Publishing shared random values [PUB-SHAREDRANDOM]
9.3.3.
Hidden service descriptors: outer wrapper [DESC-OUTER]
9.3.4.
Hidden service descriptors: encryption format [HS-DESC-ENC]
9.4.
The introduction protocol [INTRO-PROTOCOL]
9.5.
The rendezvous protocol
9.6.
Encrypting data between client and host
9.7.
Encoding onion addresses [ONIONADDRESS]
9.8.
Open Questions:
9.9.
Appendix A: Signature scheme with key blinding [KEYBLIND]
9.10.
Appendix B: Selecting nodes [PICKNODES]
9.11.
Appendix C: Recommendations for searching for vanity .onions [VANITY]
9.12.
Appendix D: Numeric values reserved in this document
9.13.
Appendix E: Reserved numbers
9.14.
Appendix F: Hidden service directory format [HIDSERVDIR-FORMAT]
9.15.
Appendix G: Managing authorized client data [CLIENT-AUTH-MGMT]
9.16.
Appendix F: Two methods for managing revision counters.
9.17.
Appendix G: Text vectors
Anticensorship tools and protocols
10.
BridgeDB specification
11.
Extended ORPort for pluggable transports
12.
Pluggable Transport Specification (Version 1)
12.1.
Introduction
12.2.
Architecture Overview
12.3.
Specification
12.3.1.
Pluggable Transport Naming
12.3.2.
Pluggable Transport Configuration Environment Variables
12.3.3.
Pluggable Transport To Parent Process Communication
12.3.4.
Pluggable Transport Shutdown
12.3.5.
Pluggable Transport Client Per-Connection Arguments
12.4.
Anonymity Considerations
12.5.
References
12.6.
Acknowledgments
12.7.
Appendix A: Example Client Pluggable Transport Session
12.8.
Appendix B: Example Server Pluggable Transport Session
13.
GetTor specification
For C Tor only
14.
The Tor Control Protocol
14.1.
Scope
14.2.
Protocol outline
14.3.
Message format
14.4.
Commands
14.5.
Replies
14.6.
Implementation notes
15.
How Tor Version Numbers Work
Less commonly needed file formatc
16.
Tor Bandwidth File Format
16.1.
Scope and preliminaries
16.2.
Format details
16.2.1.
Definitions
16.2.2.
Header List format
16.2.3.
Relay Line format
16.2.4.
Implementation details
16.3.
Sample data
16.4.
Scaling bandwidths
Implementation details
17.
Tor Directory List Format
Reserved names and numbers
18.
Tor network parameters
Unfinished
19.
Glossary
Light
Rust
Coal
Navy
Ayu
Tor specifications (draft mdbook port)
Document not found (404)
This URL is invalid, sorry. Please use the navigation bar or search to continue.