{"id":18254601,"url":"https://github.com/torproject/torspec","last_synced_at":"2025-04-05T14:08:46.105Z","repository":{"id":8815946,"uuid":"10514001","full_name":"torproject/torspec","owner":"torproject","description":"unofficial git repo -- report bugs/issues/pull requests on https://gitlab.torproject.org/ -- discuss proposals on tor-dev@lists.torproject","archived":false,"fork":false,"pushed_at":"2024-03-25T13:06:02.000Z","size":5100,"stargazers_count":231,"open_issues_count":0,"forks_count":85,"subscribers_count":30,"default_branch":"main","last_synced_at":"2025-03-29T13:11:21.483Z","etag":null,"topics":["tor"],"latest_commit_sha":null,"homepage":"https://gitweb.torproject.org/torspec.git","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/torproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-06-05T22:20:04.000Z","updated_at":"2025-02-22T08:16:49.000Z","dependencies_parsed_at":"2024-12-24T10:21:00.105Z","dependency_job_id":"5c954b0f-8474-407e-a5e0-aa7846315f48","html_url":"https://github.com/torproject/torspec","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torproject%2Ftorspec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torproject%2Ftorspec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torproject%2Ftorspec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torproject%2Ftorspec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/torproject","download_url":"https://codeload.github.com/torproject/torspec/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345854,"owners_count":20924102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tor"],"created_at":"2024-11-05T10:13:00.962Z","updated_at":"2025-04-05T14:08:46.086Z","avatar_url":"https://github.com/torproject.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Tor specifications\n\nThis repository holds the specifications that describe how Tor works.\nThey try to present Tor's protocols in sufficient detail to allow\nthe reader to implement a compatible implementation of Tor without ever\nhaving to read the Tor source code.\n\nThe [proposals](/proposals) directory holds our design proposals.  These\ninclude historical documents that have now been merged into the main\nspecifications.  For more information on the proposal process, including an\nexplanation of how to make new proposals, see\n[001-process.txt](/proposals/001-process.txt).\n\n## What you can find here\n\nTor's specification is pretty big, and we've broken it into a bunch of\nfiles.\n\n* General interest\n  * [tor-spec.txt](tor-spec.txt)\n    contains the specification for the core Tor protocol\n    itself; this is a good place to start reading.\n  * [cert-spec.txt](cert-spec.txt) describes a certificate format used\n    in the other parts of the protocol.\n  * [dir-spec.txt](dir-spec.txt) specifies the operations and formats used to\n    maintain a view of the network directory.\n  * [padding-spec.txt](padding-spec.txt) describes a set of padding mechanisms\n    used to impede traffic analysis.\n  * [version-spec.txt](version-spec.txt) explains how to parse Tor\n    version numbers.\n  * [glossary.txt](glossary.txt) is a glossary of terms used\n    in the other specifications.\n* Client operations\n  * [address-spec.txt](address-spec.txt) lists a set of special\n    addresses that Tor handles differently from the regular DNS system.\n  * [guard-spec.txt](guard-spec.txt) explains the \"guard node\" algorithm\n    that Tor clients use to avoid sampling attacks.\n  * [path-spec.txt](path-spec.txt) explains how clients choose their paths\n    through the Tor network.\n  * [socks-extensions](socks-extensions.txt) specifies Tor-specific\n    extensions to the SOCKS protocol.\n* Onion services\n  * [rend-spec-v2.txt](rend-spec-v2.txt) is the old, deprecated version\n    of the onion service protocol.\n  * [rend-spec-v3.txt](rend-spec-v3.txt) is the current version of the\n    onion service protocol.\n* Censorship resistance\n  * [bridgedb-spec.txt](bridgedb-spec.txt) explains how the `bridgedb`\n    server gives out bridges to censored clients.\n  * [gettor-spec.txt](gettor-spec.txt) describes the `gettor` tool,\n    which is used to download Tor in censored areas.\n  * [pt-spec.txt](pt-spec.txt) describes the protocol that Tor clients\n    and relays  use to communicate with pluggable transports used for\n    traffic obfuscation.\n* Directory authorities\n  * [bandwidth-file-spec.txt](bandwidth-file-spec.txt) specifies the\n    file format used by bandwidth-measuring tools to report their\n    observations to directory authorities.\n  * [srv-spec.txt](src-spec.txt) specifies the protocol that\n    directory authorities use to securely compute shared random values\n    for the network.\n* Controller protocol\n  * [control-spec.txt](control-spec.txt) explains the protocol used by\n    controllers to communicate with a running Tor process.\n* Miscellaneous\n  * [dir-list-spec.txt](dir-list-spec.txt) explains the format used by\n    tools like the fallback directory scripts to output a list of\n    Tor directories for inclusion in the Tor source code.\n  * The [attic](attic) directory has obsolete or historical documents.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorproject%2Ftorspec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftorproject%2Ftorspec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorproject%2Ftorspec/lists"}