### Tor Specifications - Examples and References Source: https://spec.torproject.org/rend-spec/index Provides example client and server pluggable transport sessions, along with references. ```APIDOC Example Client Pluggable Transport Session: https://spec.torproject.org/pt-spec/example-client-session.html Example Server Pluggable Transport Session: https://spec.torproject.org/pt-spec/example-server-session.html References: https://spec.torproject.org/pt-spec/references.html ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/pt-spec/example-client-session Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Example Client Pluggable Transport Session Source: https://spec.torproject.org/pt-spec/example-client-session Demonstrates an example client session for a pluggable transport, including environment variables and messages exchanged between the PT Proxy and Tor. This showcases the setup and communication flow for establishing a connection through a pluggable transport. ```bash TOR_PT_MANAGED_TRANSPORT_VER=1 TOR_PT_STATE_LOCATION=/var/lib/tor/pt_state/ TOR_PT_EXIT_ON_STDIN_CLOSE=1 TOR_PT_PROXY=socks5://127.0.0.1:8001 TOR_PT_CLIENT_TRANSPORTS=obfs3,obfs4 ``` -------------------------------- ### Tor Guard Selection Algorithm Components Source: https://spec.torproject.org/proposals/268-guard-selection Defines the core components of the Tor entry guard selection algorithm: START, NEXT, and END. These components guide the process of selecting and managing guard nodes for Tor clients. ```APIDOC START: - Initializes the guard selection process. NEXT: - Repeatedly called to select the next guard. - Can be invoked asynchronously. - SHOULD_CONTINUE: Indicates whether the process should continue. END: - Finalizes the guard selection process. ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/pt-spec/example-server-session Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/tor-spec/setting-circuit-keys Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### RFC 3742: Limited Slow Start Source: https://spec.torproject.org/proposals/324-rtt-congestion-control The official RFC document specifying 'Limited Slow Start' for TCP congestion control. This provides the technical details and rationale behind this slow start mechanism. ```APIDOC RFC 3742: Limited Slow Start https://datatracker.ietf.org/doc/html/rfc3742#section-2 ``` -------------------------------- ### Client-Side Introduction Circuit Construction (Before WTF-PAD) Source: https://spec.torproject.org/proposals/302-padding-machines-for-onion-clients This sequence illustrates the cell flow for client-side introduction circuits before the activation of WTF-PAD machines. It highlights the initial steps that match general circuits, followed by introduction-specific cells. ```APIDOC Client-Side Introduction Circuit (Pre-WTF-PAD): [EXTEND2] -> EXTENDED2 -> [EXTEND2] -> EXTENDED2 -> [EXTEND2] -> EXTENDED2 -> [INTRODUCE1] Note: This sequence is followed by an INTRODUCE_ACK and circuit teardown, which differs from the general circuit sequence. ``` -------------------------------- ### Example Tool for Exit Policy Clustering Source: https://spec.torproject.org/proposals/323-walking-onions-full Provides an example of a tool that uses a greedy algorithm to find a good partition of exit policies, treating all ports equally. It references specific example files generated by this algorithm. ```English See exit-analysis for an example tool that runs a greedy algorithm to find a "good" partition using an unweighted, all-ports-are-equal cost function. See the files "greedy-set-cov-{4,8,16}" for examples of port classes produced by this algorithm. ``` -------------------------------- ### Tor Specifications Style Guide Source: https://spec.torproject.org/dir-spec/index Style guide for contributing to and maintaining the Tor Specifications documents. ```APIDOC Style guide for Tor Specifications documents ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/bandwidth-file-spec/scaling-bandwidths Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/tor-spec/creating-circuits Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Example Client Pluggable Transport Session Source: https://spec.torproject.org/dir-spec/directory-cache-operation Provides an example of a client pluggable transport session in Tor. ```APIDOC Example Client Pluggable Transport Session: Specification: https://spec.torproject.org/pt-spec/example-client-session.html ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/pt-spec/configuration-environment Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Example Server Pluggable Transport Session Source: https://spec.torproject.org/dir-spec/directory-cache-operation Provides an example of a server pluggable transport session in Tor. ```APIDOC Example Server Pluggable Transport Session: Specification: https://spec.torproject.org/pt-spec/example-server-session.html ``` -------------------------------- ### Example Tor Client Pluggable Transport Session Source: https://spec.torproject.org/tor-spec/index Provides an example of a client-side Pluggable Transport session in Tor. ```APIDOC Example Client Pluggable Transport Session: - Illustrates a typical session flow for a client using a Pluggable Transport. ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/path-spec/building-circuits Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Example Tor Server Pluggable Transport Session Source: https://spec.torproject.org/tor-spec/index Provides an example of a server-side Pluggable Transport session in Tor. ```APIDOC Example Server Pluggable Transport Session: - Illustrates a typical session flow for a server using a Pluggable Transport. ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/dir-spec/creating-key-certificates Provides a brief introduction to the Tor network and its fundamental concepts. ```APIDOC Introduction to Tor: - Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Example Client Pluggable Transport Session Source: https://spec.torproject.org/guard-spec Provides an example of a Tor client session using a pluggable transport. ```APIDOC Example Client Pluggable Transport Session: Illustrates a typical session flow for a Tor client utilizing a pluggable transport, showing the interaction and data exchange. ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/vanguards-spec/full-vanguards Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/bandwidth-file-spec/sample-data Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Example Server Pluggable Transport Session Source: https://spec.torproject.org/guard-spec Provides an example of a Tor server session using a pluggable transport. ```APIDOC Example Server Pluggable Transport Session: Demonstrates a typical session flow for a Tor server employing a pluggable transport, highlighting server-side operations. ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/vanguards-spec/path-construction Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Tor Specifications Style Guide Source: https://spec.torproject.org/path-spec/server-descriptor-purposes Outlines the style guide and formatting conventions for writing Tor Specifications documents. ```APIDOC Tor Specifications Style Guide: This style guide provides a set of rules and recommendations for authors contributing to the Tor Specifications. It covers aspects such as document structure, formatting, language usage, and citation practices to ensure consistency and clarity across all specification documents. ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/control-spec/commands Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Tor Circuit Setup Initialization Source: https://spec.torproject.org/proposals/202-improved-relay-crypto Describes the initial state of cryptographic keys and counters during Tor circuit setup. ```APIDOC Circuit setup: (Specified elsewhere; the client negotiates with each router in a circuit the secret AES keys Kf, Kb, and the secret 'digest keys' Df, and Db. They initialize AES counters Cf and Cb to 0. They initialize the digest stream Sf to Df, and Sb to Db.) ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/bandwidth-file-spec/scope-preliminaries Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ``` -------------------------------- ### Tor Client Bridge Line Example Source: https://spec.torproject.org/proposals/190-shared-secret-bridge-authorization Provides an example of how a Tor client should specify a bridge with a shared secret in its configuration. ```APIDOC Example usage: Bridge 12.34.56.78 shared_secret=934caff420aa7852b855 ``` -------------------------------- ### Introduction to Tor Source: https://spec.torproject.org/bandwidth-file-spec/header-list-format Provides a short introduction to the Tor network and its conventions. ```APIDOC Introduction to Tor: https://spec.torproject.org/intro/index.html Sections: 1.1 Notation and conventions: https://spec.torproject.org/intro/conventions.html ```