aboutsummaryrefslogtreecommitdiff
path: root/spec/socks-extensions.md
diff options
context:
space:
mode:
Diffstat (limited to 'spec/socks-extensions.md')
-rw-r--r--spec/socks-extensions.md14
1 files changed, 11 insertions, 3 deletions
diff --git a/spec/socks-extensions.md b/spec/socks-extensions.md
index 011c119..6486215 100644
--- a/spec/socks-extensions.md
+++ b/spec/socks-extensions.md
@@ -13,6 +13,7 @@ Table of Contents
```
<a id="socks-extensions.txt-1"></a>
+
# Overview
The SOCKS protocol provides a generic interface for TCP proxies. Client
@@ -32,14 +33,17 @@ SOCKS4 to allow addressing by hostname; SOCKS5 supports IPv4, IPv6, and
hostnames.
<a id="socks-extensions.txt-1.1"></a>
+
## Extent of support
Tor supports the SOCKS4, SOCKS4A, and SOCKS5 standards, except as follows:
BOTH:
+
- The BIND command is not supported.
SOCKS4,4A:
+
- SOCKS4 usernames are used to implement stream isolation.
```text
@@ -67,6 +71,7 @@ SOCKS4,4A:
manpage.)
<a id="socks-extensions.txt-2"></a>
+
# Name lookup
As an extension to SOCKS4A and SOCKS5, Tor implements a new command value,
@@ -86,7 +91,8 @@ address" portion of the reply.
(This command was not supported before Tor 0.1.2.2-alpha.)
<a id="socks-extensions.txt-3"></a>
-# Other command extensions.
+
+# Other command extensions
Tor 0.1.2.4-alpha added a new command value: "CONNECT_DIR" [F2].
In this case, Tor will open an encrypted direct TCP connection to the
@@ -98,6 +104,7 @@ The F2 command value was removed in Tor 0.2.0.10-alpha in favor of a
new use_begindir flag in edge_connection_t.
<a id="socks-extensions.txt-4"></a>
+
# HTTP-resistance
Tor checks the first byte of each SOCKS request to see whether it looks
@@ -107,6 +114,7 @@ misconfigured. This is helpful for the many users who mistakenly try to
use Tor as an HTTP proxy instead of a SOCKS proxy.
<a id="socks-extensions.txt-5"></a>
+
# Optimistic data
Tor allows SOCKS clients to send connection data before Tor has sent a
@@ -119,6 +127,7 @@ their connection has succeeded or failed _after_ they have sent the
data.
<a id="socks-extensions.txt-6"></a>
+
# Extended error codes
We define a set of additional extension error codes that can be returned
@@ -129,7 +138,7 @@ connections.
via the ExtendedErrors flag. In Arti, these error codes are enabled
whenever onion services are.)
-* X'F0' Onion Service Descriptor Can Not be Found
+- X'F0' Onion Service Descriptor Can Not be Found
```text
The requested onion service descriptor can't be found on the hashring
@@ -185,4 +194,3 @@ References:
[3] SOCKS5: RFC 1928 https://www.ietf.org/rfc/rfc1928.txt
[4] RFC 1929: https://www.ietf.org/rfc/rfc1929.txt
```
-