aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/TODO2
-rw-r--r--doc/address-spec.txt61
3 files changed, 63 insertions, 2 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 24613611a..5e888d4d3 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,7 +1,7 @@
EXTRA_DIST = tor-spec.txt rend-spec.txt control-spec.txt \
dir-spec.txt socks-extensions.txt path-spec.txt \
- version-spec.txt \
+ version-spec.txt address-spec.txt \
website img HACKING \
tor-resolve.1 \
tor-osx-dmg-creation.txt tor-rpm-creation.txt \
diff --git a/doc/TODO b/doc/TODO
index df3018e90..2b94014f7 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -60,7 +60,7 @@ N - list versions in status page
a version, treat it like one. If it's something else, assume
it's at least 0.1.2.x.
-N - Document .noconnect addresses...
+ o Document .noconnect addresses...
A new file 'address-spec.txt' that describes .exit, .onion,
.noconnect, etc?
diff --git a/doc/address-spec.txt b/doc/address-spec.txt
new file mode 100644
index 000000000..c1af2e0d9
--- /dev/null
+++ b/doc/address-spec.txt
@@ -0,0 +1,61 @@
+$Id$
+
+ Special Hostnames in Tor
+ Nick Mathewson
+
+1. Overview
+
+ Most of the time, Tor treats user-specified hostnames as opaque: When the
+ user connects to tor.eff.org, Tor picks an exit node and uses that node to
+ connect to "tor.eff.org". Some hostnames, however, can be used to override
+ Tor's default behavior and circuit-building rules.
+
+ These hostnames can be passed to Tor as the address part of a SOCKS4a or
+ SOCKS5 request. If the application is connected to Tor using an IP-only
+ method (such as SOCKS4, TransPort, or NatdPort), these hostnames can be
+ substituted for certain IP addresses using the MapAddress configuration
+ option or the MAPADDRESS control command.
+
+2. .exit
+
+ SYNTAX: [hostname].[name-or-digest].exit
+ [name-or-digest].exit
+
+ Hostname is a valid hostname; [name-or-digest] is either the nickname of a
+ Tor node or the hex-encoded digest of that node's public key.
+
+ When Tor sees an address in this format, it uses the specified hostname as
+ the exit node. If no "hostname" component is given, Tor defaults to the
+ published IPv4 address of the exit node.
+
+ It is valid to try to resolve hostnames
+
+ EXAMPLES:
+ www.example.com.exampletornode.exit
+
+ Connect to www.example.com from the node called "exampletornode."
+
+ exampletornode.exit
+
+ Connect to the published IP address of "exampletornode" using
+ "exampletornode" as the exit.
+
+3. .onion
+
+ SYNTAX [digest].onion
+
+ The digest is the first eighty bits of a SHA1 hash of the identity key for
+ a hidden service, encoded in base32.
+
+ When Tor sees an address in this format, it tries to look up and connect to
+ the specified hidden service. See rend-spec.txt for full details.
+
+4. .noconnect
+
+ SYNTAX: [string].noconnect
+
+ When Tor sees an address in this format, it immediately closes the
+ connection without attaching it to any circuit. This is useful for
+ controllers that want to test whether a given application is indeed using
+ the same instance of Tor that they're controlling.
+