# Summary [Introduction](./README.md) # The core Tor protocol - [`Tor Protocol Specification`](./tor-spec-intro.md) - [Preliminaries](./tor-spec/preliminaries.md) - [System overview](./tor-spec/system-overview.md) - [Connections](./tor-spec/connections.md) - [Cell Packet format](./tor-spec/cell-packet-format.md) - [Negotiating and initializing connections](./tor-spec/negotiating-initializing-connections.md) - [Circuit management](./tor-spec/circuit-management.md) - [CREATE and CREATED cells](./tor-spec/create-created-cells.md) - [Setting circuit keys](./tor-spec/setting-circuit-keys.md) - [Creating circuits](./tor-spec/creating-circuits.md) - [Tearing down circuits](./tor-spec/tearing-down-circuits.md) - [Routing relay cells](./tor-spec/routing-relay-cells.md) - [Handling relay_early cells](./tor-spec/handling-relay_early-cells.md) - [Application connections and stream management](./tor-spec/application-connections-stream-management.md) - [Relay cells](./tor-spec/relay-cells.md) - [Opening streams and transferring data](./tor-spec/opening-streams-transferring-data.md) - [Closing streams](./tor-spec/closing-streams.md) - [Remote hostname lookup](./tor-spec/remote-hostname-lookup.md) - [Flow control](./tor-spec/flow-control.md) - [Handling resource exhaustion](./tor-spec/handling-resource-exhaustion.md) - [Subprotocol versioning](./tor-spec/subprotocol-versioning.md) - [`Ed25519 certificates in Tor`](./cert-spec.md) - [`Tor directory protocol, version 3`](./dir-spec-intro.md) - [Scope and preliminaries](./dir-spec/scope-preliminaries.md) - [Outline](./dir-spec/outline.md) - [Router operation and formats](./dir-spec/router-operation-formats.md) - [Uploading server descriptors and extra-info documents](./dir-spec/uploading-server-descriptors-extra-info-documents.md) - [Server descriptor format](./dir-spec/server-descriptor-format.md) - [Extra-info document format](./dir-spec/extra-info-document-format.md) - [Nonterminals in server descriptors](./dir-spec/nonterminals-server-descriptors.md) - [Directory authority operation and formats](./dir-spec/directory-authority-operation-formats.md) - [Creating key certificates](./dir-spec/creating-key-certificates.md) - [Accepting server descriptor and extra-info document uploads](./dir-spec/accepting-server-descriptor-extra-info-document.md) - [Computing microdescriptors](./dir-spec/computing-microdescriptors.md) - [Exchanging votes](./dir-spec/exchanging-votes.md) - [Vote and consensus status document formats](./dir-spec/vote-consensus-status-document-formats.md) - [Assigning flags in a vote](./dir-spec/assigning-flags-vote.md) - [Serving bandwidth list files](./dir-spec/serving-bandwidth-list-files.md) - [Directory cache operation](./dir-spec/directory-cache-operation.md) - [Client operation](./dir-spec/client-operation.md) - [Standards compliance](./dir-spec/standards-compliance.md) - [Consensus-negotiation timeline.](./dir-spec/consensus-negotiation-timeline.md) - [General-use HTTP URLs](./dir-spec/general-use-http-urls.md) - [Converting a curve25519 public key to an ed25519 public key](./dir-spec/converting-curve25519-public-key-to-ed25519-public.md) - [Inferring missing proto lines.](./dir-spec/inferring-missing-proto-lines.md) - [Limited ed diff format](./dir-spec/limited-ed-diff-format.md) - [`Tor Shared Random Subsystem Specification`](./srv-spec-intro.md) - [Introduction](./srv-spec/introduction.md) - [Overview](./srv-spec/overview.md) - [Protocol](./srv-spec/protocol.md) - [Specification \[SPEC\]](./srv-spec/specification-spec.md) - [Security Analysis](./srv-spec/security-analysis.md) - [Discussion](./srv-spec/discussion.md) - [Acknowledgements](./srv-spec/acknowledgements.md) - [`Tor Path Specification`](./path-spec-intro.md) - [General operation](./path-spec/general-operation.md) - [Building circuits](./path-spec/building-circuits.md) - [When we build](./path-spec/when-we-build.md) - [Path selection and constraints](./path-spec/path-selection-constraints.md) - [Cannibalizing circuits](./path-spec/cannibalizing-circuits.md) - [Learning when to give up ("timeout") on circuit construction](./path-spec/learning-when-to-give-up-timeout-on-circuit-construction.md) - [Handling failure](./path-spec/handling-failure.md) - [Attaching streams to circuits](./path-spec/attaching-streams-to-circuits.md) - [Hidden-service related circuits](./path-spec/hidden-service-related-circuits.md) - [Guard nodes](./path-spec/guard-nodes.md) - [Server descriptor purposes](./path-spec/server-descriptor-purposes.md) - [Detecting route manipulation by Guard nodes (Path Bias)](./path-spec/detecting-route-manipulation-by-guard-nodes-path.md) - [Old notes](./path-spec/old-notes.md) - [`Tor Guard Specification`](./guard-spec-intro.md) - [Introduction and motivation](./guard-spec/introduction-motivation.md) - [State instances](./guard-spec/state-instances.md) - [Circuit Creation, Entry Guard Selection (1000 foot view)](./guard-spec/circuit-creation-entry-guard-selection-1000-foot.md) - [The algorithm.](./guard-spec/algorithm.md) - [Appendices](./guard-spec/appendices.md) - [Still non-addressed issues \[Section:TODO\]](./guard-spec/still-non-addressed-issues-sectiontodo.md) - [`Tor Padding Specification`](./padding-spec-intro.md) - [Overview](./padding-spec/overview.md) - [Connection-level padding](./padding-spec/connection-level-padding.md) - [Circuit-level padding](./padding-spec/circuit-level-padding.md) - [Acknowledgments](./padding-spec/acknowledgments.md) - [Preventing Denial-Of-Service](./dos-spec.md) # Additional behaviors for clients - [`Tor's extensions to the SOCKS protocol`](./socks-extensions.md) - [`Special Hostnames in Tor`](./address-spec.md) # Onion services - [`Tor Rendezvous Specification - Version 3`](./rend-spec-v3-intro.md) - [Hidden services: overview and preliminaries.](./rend-spec-v3/hidden-services-overview-preliminaries.md) - [Protocol overview](./rend-spec-v3/protocol-overview.md) - [Generating and publishing hidden service descriptors \[HSDIR\]](./rend-spec-v3/generating-publishing-hidden-service-descriptors.md) - [Deriving blinded keys and subcredentials \[SUBCRED\]](./rend-spec-v3/deriving-blinded-keys-subcredentials-subcred.md) - [Publishing shared random values \[PUB-SHAREDRANDOM\]](./rend-spec-v3/publishing-shared-random-values-pub-sharedrandom.md) - [Hidden service descriptors: outer wrapper \[DESC-OUTER\]](./rend-spec-v3/hidden-service-descriptors-outer-wrapper-desc-outer.md) - [Hidden service descriptors: encryption format \[HS-DESC-ENC\]](./rend-spec-v3/hidden-service-descriptors-encryption-format-hs-desc-enc.md) - [The introduction protocol \[INTRO-PROTOCOL\]](./rend-spec-v3/introduction-protocol-intro-protocol.md) - [The rendezvous protocol](./rend-spec-v3/rendezvous-protocol.md) - [Encrypting data between client and host](./rend-spec-v3/encrypting-data-between-client-host.md) - [Encoding onion addresses \[ONIONADDRESS\]](./rend-spec-v3/encoding-onion-addresses-onionaddress.md) - [Open Questions:](./rend-spec-v3/open-questions.md) - [Appendix A: Signature scheme with key blinding \[KEYBLIND\]](./rend-spec-v3/signature-scheme-with-key-blinding-keyblind.md) - [Appendix B: Selecting nodes \[PICKNODES\]](./rend-spec-v3/selecting-nodes-picknodes.md) - [Appendix C: Recommendations for searching for vanity .onions \[VANITY\]](./rend-spec-v3/recommendations-for-searching-for-vanity-onions.md) - [Appendix D: Numeric values reserved in this document](./rend-spec-v3/numeric-values-reserved-this-document.md) - [Appendix E: Reserved numbers](./rend-spec-v3/reserved-numbers.md) - [Appendix F: Hidden service directory format \[HIDSERVDIR-FORMAT\]](./rend-spec-v3/hidden-service-directory-format-hidservdir-format.md) - [Appendix G: Managing authorized client data \[CLIENT-AUTH-MGMT\]](./rend-spec-v3/managing-authorized-client-data-client-auth-mgmt.md) - [Appendix F: Two methods for managing revision counters.](./rend-spec-v3/two-methods-for-managing-revision-counters.md) - [Appendix G: Text vectors](./rend-spec-v3/text-vectors.md) # Anticensorship tools and protocols - [`BridgeDB specification`](./bridgedb-spec.md) - [`Extended ORPort for pluggable transports`](./ext-orport-spec.md) - [`Pluggable Transport Specification (Version 1)`](./pt-spec-intro.md) - [Introduction](./pt-spec/introduction.md) - [Architecture Overview](./pt-spec/architecture-overview.md) - [Specification](./pt-spec/specification.md) - [Pluggable Transport Naming](./pt-spec/pluggable-transport-naming.md) - [Pluggable Transport Configuration Environment Variables](./pt-spec/pluggable-transport-configuration-environment.md) - [Pluggable Transport To Parent Process Communication](./pt-spec/pluggable-transport-to-parent-process-communication.md) - [Pluggable Transport Shutdown](./pt-spec/pluggable-transport-shutdown.md) - [Pluggable Transport Client Per-Connection Arguments](./pt-spec/pluggable-transport-client-per-connection-arguments.md) - [Anonymity Considerations](./pt-spec/anonymity-considerations.md) - [References](./pt-spec/references.md) - [Acknowledgments](./pt-spec/acknowledgments.md) - [Appendix A: Example Client Pluggable Transport Session](./pt-spec/example-client-pluggable-transport-session.md) - [Appendix B: Example Server Pluggable Transport Session](./pt-spec/example-server-pluggable-transport-session.md) - [`GetTor specification`](./gettor-spec.md) # For C Tor only - [`The Tor Control Protocol`](./control-spec-intro.md) - [Scope](./control-spec/scope.md) - [Protocol outline](./control-spec/protocol-outline.md) - [Message format](./control-spec/message-format.md) - [Commands](./control-spec/commands.md) - [Replies](./control-spec/replies.md) - [Implementation notes](./control-spec/implementation-notes.md) - [`How Tor Version Numbers Work`](./version-spec.md) # Less commonly needed file formats - [`Tor Bandwidth File Format`](./bandwidth-file-spec-intro.md) - [Scope and preliminaries](./bandwidth-file-spec/scope-preliminaries.md) - [Format details](./bandwidth-file-spec/format-details.md) - [Definitions](./bandwidth-file-spec/definitions.md) - [Header List format](./bandwidth-file-spec/header-list-format.md) - [Relay Line format](./bandwidth-file-spec/relay-line-format.md) - [Implementation details](./bandwidth-file-spec/implementation-details.md) - [Sample data](./bandwidth-file-spec/sample-data.md) - [Scaling bandwidths](./bandwidth-file-spec/scaling-bandwidths.md) # Implementation details - [`Tor Directory List Format`](./dir-list-spec.md) # Reserved names and numbers - [`Tor network parameters`](./param-spec.md) # Unfinished - [`Glossary`](./glossary.md)