diff options
-rwxr-xr-x | bin/make_redirects.py | 3 | ||||
-rw-r--r-- | mdbook/spec/book.toml | 10 | ||||
-rw-r--r-- | mdbook/spec/spec-redirects.yaml | 74 | ||||
-rw-r--r-- | spec/README.md | 44 |
4 files changed, 78 insertions, 53 deletions
diff --git a/bin/make_redirects.py b/bin/make_redirects.py index 99a5ea3..ea8ea3b 100755 --- a/bin/make_redirects.py +++ b/bin/make_redirects.py @@ -24,10 +24,13 @@ def book_redirects(rs, spec_dir): for kwd, info in rs.items(): if os.path.isdir(os.path.join(spec_dir, kwd)): assert os.path.isfile(os.path.join(spec_dir, kwd, "index.md")) + assert info.get('implicit') continue elif any((os.path.isfile(os.path.join(spec_dir, kwd) + ext)) for ext in [".txt", ".md"]): + assert info.get('implicit') continue else: + assert not info.get('implicit') source = kwd + ".html" target = info['target'] lines.append( diff --git a/mdbook/spec/book.toml b/mdbook/spec/book.toml index bd9aa80..5c4a582 100644 --- a/mdbook/spec/book.toml +++ b/mdbook/spec/book.toml @@ -17,11 +17,11 @@ build-dir = "../../html" [output.html.redirect] # BEGIN AUTO-GENERATED REDIRECTS -"/collector-protocol.html" = "https://gitweb.torproject.org/collector.git/tree/src/main/resources/docs/PROTOCOL" -"/rend-spec-v2.html" = "https://gitweb.torproject.org/torspec.git/tree/attic/rend-spec-v2.txt" -"/rend-spec-v3.html" = "https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt" -"/tor-fw-helper-spec.html" = "https://gitweb.torproject.org/torspec.git/tree/attic/tor-fw-helper-spec.txt" +"/collector-protocol.html" = "https://gitlab.torproject.org/tpo/network-health/metrics/collector/-/blob/master/src/main/resources/docs/PROTOCOL?ref_type=heads" +"/rend-spec-v2.html" = "https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/attic/rend-spec-v2.txt?ref_type=heads" +"/rend-spec-v3.html" = "https://spec.torproject.org/rend-spec" +"/tor-fw-helper-spec.html" = "https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/attic/tor-fw-helper-spec.txt?ref_type=heads" "/torbrowser-design.html" = "https://2019.www.torproject.org/projects/torbrowser/design/" "/tor-design.html" = "https://svn.torproject.org/svn/projects/design-paper/tor-design.pdf" -"/walking-onions.html" = "https://github.com/nmathewson/walking-onions-wip/tree/master/specs" +"/walking-onions.html" = "https://spec.torproject.org/proposals/323-walking-onions-full.html" # END AUTO-GENERATED REDIRECTS diff --git a/mdbook/spec/spec-redirects.yaml b/mdbook/spec/spec-redirects.yaml index 26310a7..567b1db 100644 --- a/mdbook/spec/spec-redirects.yaml +++ b/mdbook/spec/spec-redirects.yaml @@ -4,76 +4,98 @@ # temporary redirect, or a redirect that is not a documentated # permanent link, do not add it here! +# A permalink is marked as "implicit" below if it already has the +# right URL, and no further redirect HTML needs to be created in the +# mdbook configuration. + redirects: 'address-spec': - target: https://gitweb.torproject.org/torspec.git/tree/address-spec.txt + target: https://spec.torproject.org/address-spec description: Special Hostnames in Tor + implicit: yes 'bandwidth-file-spec': - target: https://gitweb.torproject.org/torspec.git/tree/bandwidth-file-spec.txt + target: https://spec.torproject.org/bandwidth-file-spec description: Directory Authority Bandwidth File spec + implicit: yes 'bridgedb-spec': - target: https://gitweb.torproject.org/torspec.git/tree/bridgedb-spec.txt + target: https://spec.torproject.org/bridgedb-spec description: BridgeDB specification + implicit: yes 'cert-spec': - target: https://gitweb.torproject.org/torspec.git/tree/cert-spec.txt + target: https://spec.torproject.org/cert-spec description: Ed25519 certificates in Tor + implicit: yes 'collector-protocol': - target: https://gitweb.torproject.org/collector.git/tree/src/main/resources/docs/PROTOCOL + target: https://gitlab.torproject.org/tpo/network-health/metrics/collector/-/blob/master/src/main/resources/docs/PROTOCOL?ref_type=heads description: Protocol of CollecTor's File Structure 'control-spec': - target: https://gitweb.torproject.org/torspec.git/tree/control-spec.txt + target: https://spec.torproject.org/control-spec description: Tor control protocol, version 1 + implicit: yes 'dir-spec': - target: https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt + target: https://spec.torproject.org/dir-spec description: Tor directory protocol, version 3 + implicit: yes 'dir-list-spec': - target: https://gitweb.torproject.org/torspec.git/tree/dir-list-spec.txt + target: https://spec.torproject.org/dir-list-spec description: Tor Directory List file format + implicit: yes 'ext-orport-spec': - target: https://gitweb.torproject.org/torspec.git/tree/ext-orport-spec.txt + target: https://spec.torproject.org/ext-orport-spec description: Extended ORPort for pluggable transports + implicit: yes 'gettor-spec': - target: https://gitweb.torproject.org/torspec.git/tree/gettor-spec.txt + target: https://spec.torproject.org/gettor-spec description: GetTor specification + implicit: yes 'padding-spec': - target: https://gitweb.torproject.org/torspec.git/tree/padding-spec.txt + target: https://spec.torproject.org/padding-spec description: Tor Padding Specification + implicit: yes 'path-spec': - target: https://gitweb.torproject.org/torspec.git/tree/path-spec.txt + target: https://spec.torproject.org/path-spec description: Tor Path Specification + implicit: yes 'pt-spec': - target: https://gitweb.torproject.org/torspec.git/tree/pt-spec.txt + target: https://spec.torproject.org/pt-spec description: Tor Pluggable Transport Specification, version 1 + implicit: yes 'rend-spec': - target: https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt - description: Tor Onion Service Rendezvous Specification, Version 2 + target: https://spec.torproject.org/rend-spec + description: Tor Onion Service Rendezvous Specification, latest version + implicit: yes 'rend-spec-v2': - target: https://gitweb.torproject.org/torspec.git/tree/attic/rend-spec-v2.txt - description: Tor Onion Service Rendezvous Specification, Version 2 + target: https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/attic/rend-spec-v2.txt?ref_type=heads + description: Tor Onion Service Rendezvous Specification, Version 2 (Obsolete) 'rend-spec-v3': - target: https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt - description: Tor Onion Service Rendezvous Specification, Version 3 + target: https://spec.torproject.org/rend-spec + description: Tor Onion Service Rendezvous Specification, Version 3 (Latest) + implicit: no 'socks-extensions': - target: https://gitweb.torproject.org/torspec.git/tree/socks-extensions.txt + target: https://spec.torproject.org/socks-extensions description: "Tor's extensions to the SOCKS protocol" + implicit: yes 'srv-spec': - target: https://gitweb.torproject.org/torspec.git/tree/srv-spec.txt + target: https://spec.torproject.org/srv-spec description: Tor Shared Random Subsystem Specification + implicit: yes 'tor-fw-helper-spec': - target: https://gitweb.torproject.org/torspec.git/tree/attic/tor-fw-helper-spec.txt + target: https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/attic/tor-fw-helper-spec.txt?ref_type=heads description: "Tor's (little) Firewall Helper specification" 'tor-spec': - target: https://gitweb.torproject.org/torspec.git/tree/tor-spec.txt + target: https://spec.torproject.org/tor-spec description: Tor Protocol Specification + implicit: yes 'torbrowser-design': target: https://2019.www.torproject.org/projects/torbrowser/design/ description: The Design and Implementation of the Tor Browser 'version-spec': - target: https://gitweb.torproject.org/torspec.git/tree/version-spec.txt + target: https://spec.torproject.org/version-spec description: How Tor Version Numbers Work + implicit: yes 'tor-design': target: https://svn.torproject.org/svn/projects/design-paper/tor-design.pdf description: "Tor: The Second-Generation Onion Router" 'walking-onions': - target: https://github.com/nmathewson/walking-onions-wip/tree/master/specs - description: Walking Onions specifications (work in progress) + target: https://spec.torproject.org/proposals/323-walking-onions-full.html + description: Walking Onions specifications diff --git a/spec/README.md b/spec/README.md index cdf51ad..8a97192 100644 --- a/spec/README.md +++ b/spec/README.md @@ -97,53 +97,53 @@ long-term permalinks. <!-- BEGIN AUTO-GENERATED REDIRECTS --> <dl> <dt><a href="/address-spec"><code>/address-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/address-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/address-spec.txt</code> (Special Hostnames in Tor)</a></dt> +<dd><a href="https://spec.torproject.org/address-spec"><code>https://spec.torproject.org/address-spec</code> (Special Hostnames in Tor)</a></dt> <dt><a href="/bandwidth-file-spec"><code>/bandwidth-file-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/bandwidth-file-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/bandwidth-file-spec.txt</code> (Directory Authority Bandwidth File spec)</a></dt> +<dd><a href="https://spec.torproject.org/bandwidth-file-spec"><code>https://spec.torproject.org/bandwidth-file-spec</code> (Directory Authority Bandwidth File spec)</a></dt> <dt><a href="/bridgedb-spec"><code>/bridgedb-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/bridgedb-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/bridgedb-spec.txt</code> (BridgeDB specification)</a></dt> +<dd><a href="https://spec.torproject.org/bridgedb-spec"><code>https://spec.torproject.org/bridgedb-spec</code> (BridgeDB specification)</a></dt> <dt><a href="/cert-spec"><code>/cert-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/cert-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/cert-spec.txt</code> (Ed25519 certificates in Tor)</a></dt> +<dd><a href="https://spec.torproject.org/cert-spec"><code>https://spec.torproject.org/cert-spec</code> (Ed25519 certificates in Tor)</a></dt> <dt><a href="/collector-protocol"><code>/collector-protocol</code></a></dt> -<dd><a href="https://gitweb.torproject.org/collector.git/tree/src/main/resources/docs/PROTOCOL"><code>https://gitweb.torproject.org/collector.git/tree/src/main/resources/docs/PROTOCOL</code> (Protocol of CollecTor's File Structure)</a></dt> +<dd><a href="https://gitlab.torproject.org/tpo/network-health/metrics/collector/-/blob/master/src/main/resources/docs/PROTOCOL?ref_type=heads"><code>https://gitlab.torproject.org/tpo/network-health/metrics/collector/-/blob/master/src/main/resources/docs/PROTOCOL?ref_type=heads</code> (Protocol of CollecTor's File Structure)</a></dt> <dt><a href="/control-spec"><code>/control-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/control-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/control-spec.txt</code> (Tor control protocol, version 1)</a></dt> +<dd><a href="https://spec.torproject.org/control-spec"><code>https://spec.torproject.org/control-spec</code> (Tor control protocol, version 1)</a></dt> <dt><a href="/dir-spec"><code>/dir-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt</code> (Tor directory protocol, version 3)</a></dt> +<dd><a href="https://spec.torproject.org/dir-spec"><code>https://spec.torproject.org/dir-spec</code> (Tor directory protocol, version 3)</a></dt> <dt><a href="/dir-list-spec"><code>/dir-list-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/dir-list-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/dir-list-spec.txt</code> (Tor Directory List file format)</a></dt> +<dd><a href="https://spec.torproject.org/dir-list-spec"><code>https://spec.torproject.org/dir-list-spec</code> (Tor Directory List file format)</a></dt> <dt><a href="/ext-orport-spec"><code>/ext-orport-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/ext-orport-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/ext-orport-spec.txt</code> (Extended ORPort for pluggable transports)</a></dt> +<dd><a href="https://spec.torproject.org/ext-orport-spec"><code>https://spec.torproject.org/ext-orport-spec</code> (Extended ORPort for pluggable transports)</a></dt> <dt><a href="/gettor-spec"><code>/gettor-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/gettor-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/gettor-spec.txt</code> (GetTor specification)</a></dt> +<dd><a href="https://spec.torproject.org/gettor-spec"><code>https://spec.torproject.org/gettor-spec</code> (GetTor specification)</a></dt> <dt><a href="/padding-spec"><code>/padding-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/padding-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/padding-spec.txt</code> (Tor Padding Specification)</a></dt> +<dd><a href="https://spec.torproject.org/padding-spec"><code>https://spec.torproject.org/padding-spec</code> (Tor Padding Specification)</a></dt> <dt><a href="/path-spec"><code>/path-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/path-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/path-spec.txt</code> (Tor Path Specification)</a></dt> +<dd><a href="https://spec.torproject.org/path-spec"><code>https://spec.torproject.org/path-spec</code> (Tor Path Specification)</a></dt> <dt><a href="/pt-spec"><code>/pt-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/pt-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/pt-spec.txt</code> (Tor Pluggable Transport Specification, version 1)</a></dt> +<dd><a href="https://spec.torproject.org/pt-spec"><code>https://spec.torproject.org/pt-spec</code> (Tor Pluggable Transport Specification, version 1)</a></dt> <dt><a href="/rend-spec"><code>/rend-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt"><code>https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt</code> (Tor Onion Service Rendezvous Specification, Version 2)</a></dt> +<dd><a href="https://spec.torproject.org/rend-spec"><code>https://spec.torproject.org/rend-spec</code> (Tor Onion Service Rendezvous Specification, latest version)</a></dt> <dt><a href="/rend-spec-v2"><code>/rend-spec-v2</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/attic/rend-spec-v2.txt"><code>https://gitweb.torproject.org/torspec.git/tree/attic/rend-spec-v2.txt</code> (Tor Onion Service Rendezvous Specification, Version 2)</a></dt> +<dd><a href="https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/attic/rend-spec-v2.txt?ref_type=heads"><code>https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/attic/rend-spec-v2.txt?ref_type=heads</code> (Tor Onion Service Rendezvous Specification, Version 2 (Obsolete))</a></dt> <dt><a href="/rend-spec-v3"><code>/rend-spec-v3</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt"><code>https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt</code> (Tor Onion Service Rendezvous Specification, Version 3)</a></dt> +<dd><a href="https://spec.torproject.org/rend-spec"><code>https://spec.torproject.org/rend-spec</code> (Tor Onion Service Rendezvous Specification, Version 3 (Latest))</a></dt> <dt><a href="/socks-extensions"><code>/socks-extensions</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/socks-extensions.txt"><code>https://gitweb.torproject.org/torspec.git/tree/socks-extensions.txt</code> (Tor's extensions to the SOCKS protocol)</a></dt> +<dd><a href="https://spec.torproject.org/socks-extensions"><code>https://spec.torproject.org/socks-extensions</code> (Tor's extensions to the SOCKS protocol)</a></dt> <dt><a href="/srv-spec"><code>/srv-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/srv-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/srv-spec.txt</code> (Tor Shared Random Subsystem Specification)</a></dt> +<dd><a href="https://spec.torproject.org/srv-spec"><code>https://spec.torproject.org/srv-spec</code> (Tor Shared Random Subsystem Specification)</a></dt> <dt><a href="/tor-fw-helper-spec"><code>/tor-fw-helper-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/attic/tor-fw-helper-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/attic/tor-fw-helper-spec.txt</code> (Tor's (little) Firewall Helper specification)</a></dt> +<dd><a href="https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/attic/tor-fw-helper-spec.txt?ref_type=heads"><code>https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/attic/tor-fw-helper-spec.txt?ref_type=heads</code> (Tor's (little) Firewall Helper specification)</a></dt> <dt><a href="/tor-spec"><code>/tor-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/tor-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/tor-spec.txt</code> (Tor Protocol Specification)</a></dt> +<dd><a href="https://spec.torproject.org/tor-spec"><code>https://spec.torproject.org/tor-spec</code> (Tor Protocol Specification)</a></dt> <dt><a href="/torbrowser-design"><code>/torbrowser-design</code></a></dt> <dd><a href="https://2019.www.torproject.org/projects/torbrowser/design/"><code>https://2019.www.torproject.org/projects/torbrowser/design/</code> (The Design and Implementation of the Tor Browser)</a></dt> <dt><a href="/version-spec"><code>/version-spec</code></a></dt> -<dd><a href="https://gitweb.torproject.org/torspec.git/tree/version-spec.txt"><code>https://gitweb.torproject.org/torspec.git/tree/version-spec.txt</code> (How Tor Version Numbers Work)</a></dt> +<dd><a href="https://spec.torproject.org/version-spec"><code>https://spec.torproject.org/version-spec</code> (How Tor Version Numbers Work)</a></dt> <dt><a href="/tor-design"><code>/tor-design</code></a></dt> <dd><a href="https://svn.torproject.org/svn/projects/design-paper/tor-design.pdf"><code>https://svn.torproject.org/svn/projects/design-paper/tor-design.pdf</code> (Tor: The Second-Generation Onion Router)</a></dt> <dt><a href="/walking-onions"><code>/walking-onions</code></a></dt> -<dd><a href="https://github.com/nmathewson/walking-onions-wip/tree/master/specs"><code>https://github.com/nmathewson/walking-onions-wip/tree/master/specs</code> (Walking Onions specifications (work in progress))</a></dt> +<dd><a href="https://spec.torproject.org/proposals/323-walking-onions-full.html"><code>https://spec.torproject.org/proposals/323-walking-onions-full.html</code> (Walking Onions specifications)</a></dt> </dl> <!-- END AUTO-GENERATED REDIRECTS --> |