address-spec.txt 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. Special Hostnames in Tor
  2. Nick Mathewson
  3. 1. Overview
  4. Most of the time, Tor treats user-specified hostnames as opaque: When
  5. the user connects to www.torproject.org, Tor picks an exit node and uses
  6. that node to connect to "www.torproject.org". Some hostnames, however,
  7. can be used to override Tor's default behavior and circuit-building
  8. rules.
  9. These hostnames can be passed to Tor as the address part of a SOCKS4a or
  10. SOCKS5 request. If the application is connected to Tor using an IP-only
  11. method (such as SOCKS4, TransPort, or NATDPort), these hostnames can be
  12. substituted for certain IP addresses using the MapAddress configuration
  13. option or the MAPADDRESS control command.
  14. 2. .exit
  15. SYNTAX: [hostname].[name-or-digest].exit
  16. [name-or-digest].exit
  17. Hostname is a valid hostname; [name-or-digest] is either the nickname of a
  18. Tor node or the hex-encoded digest of that node's public key.
  19. When Tor sees an address in this format, it uses the specified hostname as
  20. the exit node. If no "hostname" component is given, Tor defaults to the
  21. published IPv4 address of the exit node.
  22. It is valid to try to resolve hostnames, and in fact upon success Tor
  23. will cache an internal mapaddress of the form
  24. "www.google.com.foo.exit=64.233.161.99.foo.exit" to speed subsequent
  25. lookups.
  26. The .exit notation is disabled by default as of Tor 0.2.2.1-alpha, due
  27. to potential application-level attacks.
  28. EXAMPLES:
  29. www.example.com.exampletornode.exit
  30. Connect to www.example.com from the node called "exampletornode".
  31. exampletornode.exit
  32. Connect to the published IP address of "exampletornode" using
  33. "exampletornode" as the exit.
  34. 3. .onion
  35. SYNTAX: [digest].onion
  36. [ignored].[digest].onion
  37. The digest is the first eighty bits of a SHA1 hash of the identity key for
  38. a hidden service, encoded in base32.
  39. When Tor sees an address in this format, it tries to look up and connect to
  40. the specified hidden service. See rend-spec.txt for full details.
  41. The "ignored" portion of the address is intended for use in vhosting, and
  42. is supported in Tor 0.2.4.10-alpha and later.
  43. 4. .noconnect
  44. SYNTAX: [string].noconnect
  45. When Tor sees an address in this format, it immediately closes the
  46. connection without attaching it to any circuit. This is useful for
  47. controllers that want to test whether a given application is indeed
  48. using the same instance of Tor that they're controlling.
  49. This feature was added in Tor 0.1.2.4-alpha, and taken out in Tor
  50. 0.2.2.1-alpha over fears that it provided another avenue for detecting
  51. Tor users via application-level web tricks.