note r17993 for backport
[tor.git] / doc / tor.1.in
blob14996b418b00c00c0cc06df37026879dbd160531
1 .TH TOR 1 "February 2008" "TOR"
2 .SH NAME
3 tor \- The second-generation onion router
4 .SH SYNOPSIS
5 .B tor
6 [\fIOPTION value\fR]...
7 .SH DESCRIPTION
8 .I tor
9 is a connection-oriented anonymizing communication
10 service. Users choose a source-routed path through a set of nodes, and
11 negotiate a "virtual circuit" through the network, in which each node
12 knows its predecessor and successor, but no others. Traffic flowing down
13 the circuit is unwrapped by a symmetric key at each node, which reveals
14 the downstream node.
15 .PP
16 Basically \fItor\fR provides a distributed network of servers ("onion
17 routers"). Users bounce their TCP streams -- web traffic, ftp, ssh, etc --
18 around the routers, and recipients, observers, and even the routers
19 themselves have difficulty tracking the source of the stream.
20 .SH OPTIONS
21 \fB-h, -help\fP
22 Display a short help message and exit.
23 .LP
24 .TP
25 \fB-f \fR\fIFILE\fP
26 FILE contains further "option value" pairs. (Default: @CONFDIR@/torrc)
27 .LP
28 .TP
29 \fB--hash-password\fP
30 Generates a hashed password for control port access.
31 .LP
32 .TP
33 \fB--list-fingerprint\fP
34 Generate your keys and output your nickname and fingerprint.
35 .LP
36 .TP
37 \fB--verify-config\fP
38 Verify the configuration file is valid.
39 .LP
40 .TP
41 \fB--nt-service\fP
42 \fB--service [install|remove|start|stop]\fP
43 Manage the Tor Windows NT/2000/XP service.  Current instructions can
44 be found at http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#WinNTService
45 .LP
46 .TP
47 \fB--list-torrc-options\fP
48 List all valid options.
49 .LP
50 .TP
51 \fB--version\fP
52 Display Tor version and exit.
53 .LP
54 .TP
55 \fB--quiet\fP
56 Do not start Tor with a console log unless explicitly requested to do
57 so.  (By default, Tor starts out logging messages at level "notice" or
58 higher to the console, until it has parsed its configuration.)
59 .LP
60 .TP
61 Other options can be specified either on the command-line (\fI--option
62 value\fR), or in the configuration file (\fIoption value\fR or
63 \fIoption "value"\fR).  Options are case-insensitive.  C-style escaped
64 characters are allowed inside quoted values.
65 .LP
66 .TP
67 \fBBandwidthRate \fR\fIN\fR \fBbytes\fR|\fBKB\fR|\fBMB\fR|\fBGB\fR|\fBTB\fP
68 A token bucket limits the average incoming bandwidth usage on this node
69 to the specified number of bytes per second, and the average outgoing
70 bandwidth usage to that same value. (Default: 5 MB)
71 .LP
72 .TP
73 \fBBandwidthBurst \fR\fIN\fR \fBbytes\fR|\fBKB\fR|\fBMB\fR|\fBGB\fR|\fBTB\fP
74 Limit the maximum token bucket size (also known as the burst) to the
75 given number of bytes in each direction. (Default: 10 MB)
76 .LP
77 .TP
78 \fBMaxAdvertisedBandwidth \fR\fIN\fR \fBbytes\fR|\fBKB\fR|\fBMB\fR|\fBGB\fR|\fBTB\fP
79 If set, we will not advertise more than this amount of bandwidth for our
80 BandwidthRate. Server operators who want to reduce the number of clients
81 who ask to build circuits through them (since this is proportional to
82 advertised bandwidth rate) can thus reduce the CPU demands on their
83 server without impacting network performance.
84 .LP
85 .TP
86 \fBRelayBandwidthRate \fR\fIN\fR \fBbytes\fR|\fBKB\fR|\fBMB\fR|\fBGB\fR|\fBTB\fP
87 If defined, a separate token bucket limits the average incoming bandwidth
88 usage for _relayed traffic_ on this node to the specified number of
89 bytes per second, and the average outgoing bandwidth usage to that same
90 value. Relayed traffic currently is calculated to include answers to directory
91 requests, but that may change in future versions. (Default: 0)
92 .LP
93 .TP
94 \fBRelayBandwidthBurst \fR\fIN\fR \fBbytes\fR|\fBKB\fR|\fBMB\fR|\fBGB\fR|\fBTB\fP
95 Limit the maximum token bucket size (also known as the burst) for
96 _relayed traffic_ to the
97 given number of bytes in each direction. (Default: 0)
98 .LP
99 .TP
100 \fBConnLimit \fR\fINUM\fP
101 The minimum number of file descriptors that must be available to
102 the Tor process before it will start. Tor will ask the OS for as
103 many file descriptors as the OS will allow (you can find this
104 by "ulimit -H -n"). If this number is less than ConnLimit, then
105 Tor will refuse to start.
107 You probably don't need to adjust this. It has no effect on
108 Windows since that platform lacks getrlimit(). (Default: 1000)
111 \fBConstrainedSockets \fR\fB0\fR|\fB1\fR\fP
112 If set, Tor will tell the kernel to attempt to shrink the buffers for all
113 sockets to the size specified in \fBConstrainedSockSize\fP.  This is useful
114 for virtual servers and other environments where system level TCP
115 buffers may be limited.  If you're on a virtual server, and you
116 encounter the "Error creating network
117 socket: No buffer space available" message, you are likely experiencing
118 this problem.
120 The preferred solution is to have the admin increase the buffer pool for
121 the host itself via /proc/sys/net/ipv4/tcp_mem or equivalent facility; this
122 configuration option is a second-resort.
124 The DirPort option should also not be used if TCP buffers are scarce.  The
125 cached directory requests consume additional sockets which exacerbates the
126 problem.
128 You should \fBnot\fP enable this feature unless you encounter the "no buffer
129 space available" issue.  Reducing the TCP buffers affects window size for
130 the TCP stream and will reduce throughput in proportion to round trip
131 time on long paths.  (Default: 0.)
134 \fBConstrainedSockSize \fR\fIN\fR \fBbytes\fR|\fBKB\fP
135 When \fBConstrainedSockets\fP is enabled the receive and transmit buffers for
136 all sockets will be set to this limit.  Must be a value between 2048
137 and 262144, in 1024 byte increments.  Default of 8192 is recommended.
140 \fBControlPort \fR\fIPort\fP
141 If set, Tor will accept connections on this port and allow those
142 connections to control the Tor process using the Tor Control Protocol
143 (described in control-spec.txt).  Note: unless you also specify one of
144 \fBHashedControlPassword\fP or \fBCookieAuthentication\fP, setting
145 this option will cause Tor to allow any process on the local host to
146 control it. This option is required for many Tor controllers; most use
147 the value of 9051.
150 \fBControlListenAddress \fR\fIIP\fR[:\fIPORT\fR]\fP
151 Bind the controller listener to this address. If you specify a port,
152 bind to this port rather than the one specified in ControlPort. We
153 strongly recommend that you leave this alone unless you know what you're
154 doing, since giving attackers access to your control listener is really
155 dangerous. (Default: 127.0.0.1)
156 This directive can be specified multiple times to bind to multiple
157 addresses/ports.
160 \fBControlSocket \fR\fIPath\fP
161 Like ControlPort, but listens on a Unix domain socket, rather than a TCP
162 socket.  (Unix and Unix-like systems only.)
165 \fBHashedControlPassword \fR\fIhashed_password\fP
166 Don't allow any connections on the control port except when the other process
167 knows the password whose one-way hash is \fIhashed_password\fP.  You can
168 compute the hash of a password by running "tor --hash-password
169 \fIpassword\fP". You can provide several acceptable passwords by using
170 more than HashedControlPassword line.
173 \fBCookieAuthentication \fR\fB0\fR|\fB1\fP
174 If this option is set to 1, don't allow any connections on the control port
175 except when the connecting process knows the contents of a file named
176 "control_auth_cookie", which Tor will create in its data directory.  This
177 authentication method should only be used on systems with good filesystem
178 security. (Default: 0)
181 \fBCookieAuthFile \fR\fIPath\fP
182 If set, this option overrides the default location and file name for Tor's
183 cookie file.  (See CookieAuthentication above.)
186 \fBCookieAuthFileGroupReadable \fR\fB0\fR|\fB1\fR|\fIGroupName\fP
187 If this option is set to 0, don't allow the filesystem group to read
188 the cookie file.  If the option is set to 1, make the cookie file
189 readable by the default GID.  [Making the file readable by other
190 groups is not yet implemented; let us know if you need this for some
191 reason.]  (Default: 0).
194 \fBDataDirectory \fR\fIDIR\fP
195 Store working data in DIR (Default: @LOCALSTATEDIR@/lib/tor)
198 \fBDirServer \fR[\fInickname\fR] [\fBflags\fR] \fIaddress\fR\fB:\fIport fingerprint\fP
199 Use a nonstandard authoritative directory server at the provided
200 address and port, with the specified key fingerprint.  This option can
201 be repeated many times, for multiple authoritative directory
202 servers.  Flags are separated by spaces, and determine what kind of an
203 authority this directory is.  By default, every authority is authoritative
204 for current ("v2")-style directories, unless the "no-v2" flag is given.  If the "v1" flags is provided, Tor will use this server as an
205 authority for old-style (v1) directories as well.  (Only directory mirrors
206 care about this.)  Tor will use this server as an authority for hidden
207 service information if the "hs" flag is set, or if the "v1" flag is set and
208 the "no-hs" flag is \fBnot\fP set.  Tor will use this authority as a bridge
209 authoritative directory if the "bridge" flag is set.  If a flag
210 "orport=\fBport\fR" is given, Tor will use the given port when opening
211 encrypted tunnels to the dirserver.  Lastly, if a flag "v3ident=\fBfp\fR" is
212 given, the dirserver is a v3 directory authority whose v3 long-term
213 signing key has the fingerprint \fBfp\fR.
215 If no \fBdirserver\fP line is given, Tor will use the default
216 directory servers.  NOTE: this option is intended
217 for setting up a private Tor network with its own directory authorities.  If
218 you use it, you will be distinguishable from other users, because you won't
219 believe the same authorities they do.
222 \fBAlternateDirAuthority \fR[\fInickname\fR] [\fBflags\fR] \fIaddress\fR\fB:\fIport fingerprint\fP
223 \fBAlternateHSAuthority \fR[\fInickname\fR] [\fBflags\fR] \fIaddress\fR\fB:\fIport fingerprint\fP
224 \fBAlternateBridgeAuthority \fR[\fInickname\fR] [\fBflags\fR] \fIaddress\fR\fB:\fIport fingerprint\fP
225 As DirServer, but replaces less of the default directory authorities.
226 Using AlternateDirAuthority replaces the default Tor directory
227 authorities, but leaves the hidden service authorities and bridge
228 authorities in place.  Similarly, Using AlternatieHSAuthority replaces
229 the default hidden service authorities, but not the directory or
230 bridge authorities.
232 \fBFetchDirInfoEarly \fR\fB0\fR|\fB1\fR\fP
233 If set to 1, Tor will always fetch directory information like other
234 directory caches, even if you don't meet the normal criteria for
235 fetching early. Normal users should leave it off.
236 (Default: 0)
239 \fBFetchHidServDescriptors \fR\fB0\fR|\fB1\fR\fP
240 If set to 0, Tor will never fetch any hidden service descriptors from
241 the rendezvous directories. This option is only useful if you're using
242 a Tor controller that handles hidserv fetches for you.
243 (Default: 1)
246 \fBFetchServerDescriptors \fR\fB0\fR|\fB1\fR\fP
247 If set to 0, Tor will never fetch any network status summaries or server
248 descriptors from the directory servers. This option is only useful if
249 you're using a Tor controller that handles directory fetches for you.
250 (Default: 1)
253 \fBFetchUselessDescriptors \fR\fB0\fR|\fB1\fR\fP
254 If set to 1, Tor will fetch every non-obsolete descriptor from the
255 authorities that it hears about. Otherwise, it will avoid fetching
256 useless descriptors, for example for routers that are not running.
257 This option is useful if you're using the contributed "exitlist"
258 script to enumerate Tor nodes that exit to certain addresses.
259 (Default: 0)
262 \fBHttpProxy\fR \fIhost\fR[:\fIport\fR]\fP
263 Tor will make all its directory requests through this host:port
264 (or host:80 if port is not specified),
265 rather than connecting directly to any directory servers.
268 \fBHttpProxyAuthenticator\fR \fIusername:password\fP
269 If defined, Tor will use this username:password for Basic Http proxy
270 authentication, as in RFC 2617. This is currently the only form of
271 Http proxy authentication that Tor supports; feel free to submit a
272 patch if you want it to support others.
275 \fBHttpsProxy\fR \fIhost\fR[:\fIport\fR]\fP
276 Tor will make all its OR (SSL) connections through this host:port
277 (or host:443 if port is not specified), via HTTP CONNECT rather than
278 connecting directly to servers.  You may want to set \fBFascistFirewall\fR
279 to restrict the set of ports you might try to connect to, if your Https
280 proxy only allows connecting to certain ports.
283 \fBHttpsProxyAuthenticator\fR \fIusername:password\fP
284 If defined, Tor will use this username:password for Basic Https proxy
285 authentication, as in RFC 2617. This is currently the only form of
286 Https proxy authentication that Tor supports; feel free to submit a
287 patch if you want it to support others.
290 \fBKeepalivePeriod \fR\fINUM\fP
291 To keep firewalls from expiring connections, send a padding keepalive
292 cell every NUM seconds on open connections that are in use. If the
293 connection has no open circuits, it will instead be closed after NUM
294 seconds of idleness. (Default: 5 minutes)
297 \fBLog \fR\fIminSeverity\fR[-\fImaxSeverity\fR] \fBstderr\fR|\fBstdout\fR|\fBsyslog\fR\fP
298 Send all messages between \fIminSeverity\fR and \fImaxSeverity\fR to
299 the standard output stream, the standard error stream, or to the system
300 log. (The "syslog" value is only supported on Unix.)  Recognized
301 severity levels are debug, info, notice, warn, and err.  We advise using
302 "notice" in most cases, since anything more verbose may provide sensitive
303 information to an attacker who obtains the logs.  If only one
304 severity level is given, all messages of that level or higher will be
305 sent to the listed destination.
308 \fBLog \fR\fIminSeverity\fR[-\fImaxSeverity\fR] \fBfile\fR \fIFILENAME\fP
309 As above, but send log messages to the listed filename.  The "Log"
310 option may appear more than once in a configuration file.  Messages
311 are sent to all the logs that match their severity level.
314 \fBOutboundBindAddress \fR\fIIP\fP
315 Make all outbound connections originate from the IP address specified.  This
316 is only useful when you have multiple network interfaces, and you want all
317 of Tor's outgoing connections to use a single one.
320 \fBPidFile \fR\fIFILE\fP
321 On startup, write our PID to FILE. On clean shutdown, remove FILE.
324 \fBProtocolWarnings \fR\fB0\fR|\fB1\fR\fP
325 If 1, Tor will log with severity 'warn' various cases of other parties
326 not following the Tor specification. Otherwise, they are logged with
327 severity 'info'. (Default: 0)
330 \fBRunAsDaemon \fR\fB0\fR|\fB1\fR\fP
331 If 1, Tor forks and daemonizes to the background. This option has
332 no effect on Windows; instead you should use the --service command-line
333 option. (Default: 0)
336 \fBSafeLogging \fR\fB0\fR|\fB1\fP
337 If 1, Tor replaces potentially sensitive strings in the logs
338 (e.g. addresses) with the string [scrubbed]. This way logs can still be
339 useful, but they don't leave behind personally identifying information
340 about what sites a user might have visited. (Default: 1)
343 \fBUser \fR\fIUID\fP
344 On startup, setuid to this user and setgid to their primary group.
347 \fBHardwareAccel \fR\fB0\fR|\fB1\fP
348 If non-zero, try to use crypto hardware acceleration when
349 available. This is untested and probably buggy. (Default: 0)
352 \fBAvoidDiskWrites \fR\fB0\fR|\fB1\fP
353 If non-zero, try to write to disk less frequently than we would otherwise.
354 This is useful when running on flash memory or other media that support only
355 a limited number of writes.  (Default: 0)
358 \fBTunnelDirConns \fR\fB0\fR|\fB1\fP
359 If non-zero, when a directory server we contact supports it, we will
360 build a one-hop circuit and make an encrypted connection via its
361 ORPort. (Default: 0)
364 \fBPreferTunneledDirConns \fR\fB0\fR|\fB1\fP
365 If non-zero, we will avoid directory servers that don't support tunneled
366 directory connections, when possible. (Default: 0)
368 .SH CLIENT OPTIONS
370 The following options are useful only for clients (that is, if \fBSocksPort\fP is non-zero):
373 \fBAllowInvalidNodes\fR \fBentry\fR|\fBexit\fR|\fBmiddle\fR|\fBintroduction\fR|\fBrendezvous\fR|...\fP
374 If some Tor servers are obviously not working right, the directory
375 authorities can manually mark them as invalid, meaning that it's not
376 recommended you use them for entry or exit positions in your circuits. You
377 can opt to use them in some circuit positions, though. The default is
378 "middle,rendezvous", and other choices are not advised.
381 \fBBridge \fR\fIIP:ORPort\fR [fingerprint]\fP
382 When set along with UseBridges, instructs Tor to use the relay at
383 "IP:ORPort" as a "bridge" relaying into the Tor network. If "fingerprint"
384 is provided (using the same format as for DirServer), we will verify that
385 the relay running at that location has the right fingerprint. We also use
386 fingerprint to look up the bridge descriptor at the bridge authority, if
387 it's provided and if UpdateBridgesFromAuthority is set too.
390 \fBCircuitBuildTimeout \fR\fINUM\fP
391 Try for at most NUM seconds when building circuits. If the circuit
392 isn't open in that time, give up on it.
393 (Default: 1 minute.)
396 \fBCircuitIdleTimeout \fR\fINUM\fP
397 If we have kept a clean (never used) circuit around for NUM seconds,
398 then close it. This way when the Tor client is entirely idle, it can
399 expire all of its circuits, and then expire its TLS connections. Also,
400 if we end up making a circuit that is not useful for exiting any of
401 the requests we're receiving, it won't forever take up a slot in the
402 circuit list.
403 (Default: 1 hour.)
406 \fBClientOnly \fR\fB0\fR|\fB1\fR\fP
407 If set to 1, Tor will under no circumstances run as a server or serve
408 directory requests. The default
409 is to run as a client unless ORPort is configured.  (Usually,
410 you don't need to set this; Tor is pretty smart at figuring out whether
411 you are reliable and high-bandwidth enough to be a useful server.)
412 (Default: 0)
415 \fBExcludeNodes \fR\fInode\fR,\fInode\fR,\fI...\fP
416 A list of identity fingerprints or nicknames of nodes to never use when
417 building a circuit.
420 \fBEntryNodes \fR\fInode\fR,\fInode\fR,\fI...\fP
421 A list of identity fingerprints or nicknames of preferred nodes to use for the
422 first hop in the circuit.
423 These are treated only as preferences unless StrictEntryNodes (see
424 below) is also set.
427 \fBExitNodes \fR\fInode\fR,\fInode\fR,\fI...\fP
428 A list of identity fingerprints or nicknames of preferred nodes to use for the
429 last hop in the circuit.
430 These are treated only as preferences unless StrictExitNodes (see
431 below) is also set.
434 \fBStrictEntryNodes \fR\fB0\fR|\fB1\fR\fP
435 If 1, Tor will never use any nodes besides those listed in "EntryNodes" for
436 the first hop of a circuit.
439 \fBStrictExitNodes \fR\fB0\fR|\fB1\fR\fP
440 If 1, Tor will never use any nodes besides those listed in "ExitNodes" for
441 the last hop of a circuit.
444 \fBFascistFirewall \fR\fB0\fR|\fB1\fR\fP
445 If 1, Tor will only create outgoing connections to ORs running on ports that
446 your firewall allows (defaults to 80 and 443; see \fBFirewallPorts\fR).  This will
447 allow you to run Tor as a client behind a firewall with restrictive policies,
448 but will not allow you to run as a server behind such a firewall.
449 If you prefer more fine-grained control, use ReachableAddresses instead.
452 \fBFirewallPorts \fR\fIPORTS\fP
453 A list of ports that your firewall allows you to connect to.  Only
454 used when \fBFascistFirewall\fR is set. This option is deprecated; use
455 ReachableAddresses instead. (Default: 80, 443)
458 \fBReachableAddresses \fR\fIADDR\fP[\fB/\fP\fIMASK\fP][:\fIPORT\fP]...\fP
459 A comma-separated list of IP addresses and ports that your firewall allows you
460 to connect to. The format is as
461 for the addresses in ExitPolicy, except that "accept" is understood
462 unless "reject" is explicitly provided.  For example, 'ReachableAddresses
463 99.0.0.0/8, reject 18.0.0.0/8:80, accept *:80' means that your
464 firewall allows connections to everything inside net 99, rejects port
465 80 connections to net 18, and accepts connections to port 80 otherwise.
466 (Default: 'accept *:*'.)
469 \fBReachableDirAddresses \fR\fIADDR\fP[\fB/\fP\fIMASK\fP][:\fIPORT\fP]...\fP
470 Like \fBReachableAddresses\fP, a list of addresses and ports.  Tor will obey
471 these restrictions when fetching directory information, using standard HTTP
472 GET requests. If not set explicitly then the value of \fBReachableAddresses\fP
473 is used.  If \fBHttpProxy\fR is set then these connections will go through that
474 proxy.
477 \fBReachableORAddresses \fR\fIADDR\fP[\fB/\fP\fIMASK\fP][:\fIPORT\fP]...\fP
478 Like \fBReachableAddresses\fP, a list of addresses and ports.  Tor will obey
479 these restrictions when connecting to Onion Routers, using TLS/SSL.  If not set
480 explicitly then the value of \fBReachableAddresses\fP is used. If
481 \fBHttpsProxy\fR is set then these connections will go through that proxy.
483 The separation between \fBReachableORAddresses\fP and
484 \fBReachableDirAddresses\fP is only interesting when you are connecting through
485 proxies (see \fBHttpProxy\fR and \fBHttpsProxy\fR).  Most proxies limit TLS
486 connections (which Tor uses to connect to Onion Routers) to port 443, and some
487 limit HTTP GET requests (which Tor uses for fetching directory information) to
488 port 80.
491 \fBLongLivedPorts \fR\fIPORTS\fP
492 A list of ports for services that tend to have long-running connections
493 (e.g. chat and interactive shells). Circuits for streams that use these
494 ports will contain only high-uptime nodes, to reduce the chance that a
495 node will go down before the stream is finished.
496 (Default: 21, 22, 706, 1863, 5050, 5190, 5222, 5223, 6667, 6697, 8300)
499 \fBMapAddress\fR \fIaddress\fR \fInewaddress\fR
500 When a request for address arrives to Tor, it will rewrite it to
501 newaddress before processing it. For example, if you always want
502 connections to www.indymedia.org to exit via \fItorserver\fR (where
503 \fItorserver\fR is the nickname of the server),
504 use "MapAddress www.indymedia.org www.indymedia.org.torserver.exit".
507 \fBNewCircuitPeriod \fR\fINUM\fP
508 Every NUM seconds consider whether to build a new circuit. (Default: 30 seconds)
511 \fBMaxCircuitDirtiness \fR\fINUM\fP
512 Feel free to reuse a circuit that was first used at most NUM seconds ago,
513 but never attach a new stream to a circuit that is too old.
514 (Default: 10 minutes)
517 \fBNodeFamily \fR\fInode\fR,\fInode\fR,\fI...\fP
518 The Tor servers, defined by their identity fingerprints or nicknames,
519 constitute a "family" of similar or co-administered
520 servers, so never use any two of them in the same circuit. Defining a
521 NodeFamily is only needed when a server doesn't list the family itself
522 (with MyFamily). This option can be used multiple times.
525 \fBEnforceDistinctSubnets \fR\fB0\fR|\fB1\fR\fP
526 If 1, Tor will not put two servers whose IP addresses are "too
527 close" on the same circuit.  Currently, two addresses are
528 "too close" if they lie in the same /16 range. (Default: 1)
530 .\" \fBPathlenCoinWeight \fR\fI0.0-1.0\fP
531 .\" Paths are 3 hops plus a geometric distribution centered around this coinweight.
532 .\" Must be >=0.0 and <1.0. (Default: 0.3) NOT USED CURRENTLY
533 .\" .TP
536 \fBRendNodes \fR\fInode\fR,\fInode\fR,\fI...\fP
537 A list of identity fingerprints or nicknames of preferred nodes to use for the
538 rendezvous point, if possible.
541 \fBRendExcludeNodes \fR\fInode\fR,\fInode\fR,\fI...\fP
542 A list of identity fingerprints or nicknames of nodes to never use when
543 choosing a rendezvous point.
546 \fBSocksPort \fR\fIPORT\fP
547 Advertise this port to listen for connections from Socks-speaking
548 applications.  Set this to 0 if you don't want to allow application
549 connections. (Default: 9050)
552 \fBSocksListenAddress \fR\fIIP\fR[:\fIPORT\fR]\fP
553 Bind to this address to listen for connections from Socks-speaking
554 applications. (Default: 127.0.0.1) You can also specify a port
555 (e.g. 192.168.0.1:9100).
556 This directive can be specified multiple times to bind to multiple
557 addresses/ports.
560 \fBSocksPolicy \fR\fIpolicy\fR,\fIpolicy\fR,\fI...\fP
561 Set an entrance policy for this server, to limit who can connect to the
562 SocksPort and DNSPort ports.
563 The policies have the same form as exit policies below.
566 \fBSocksTimeout \fR\fINUM\fP
567 Let a socks connection wait NUM seconds handshaking, and NUM seconds
568 unattached waiting for an appropriate circuit, before we fail it.
569 (Default: 2 minutes.)
572 \fBTestVia \fR\fInode\fR,\fInode\fR,\fI...\fP
573 A list of identity fingerprints or nicknames of nodes to prefer for your middle
574 hop when building testing circuits. This option is mainly for debugging
575 reachability problems.
578 \fBTrackHostExits \fR\fIhost\fR,\fI.domain\fR,\fI...\fR\fP
579 For each value in the comma separated list, Tor will track recent connections
580 to hosts that match this value and attempt to
581 reuse the same exit node for each. If the value is prepended with a '.', it is
582 treated as matching an entire domain. If one of the values is just a '.', it
583 means match everything. This option is useful if you frequently connect to
584 sites that will expire all your authentication cookies (ie log you out) if
585 your IP address changes. Note that this option does have the disadvantage of
586 making it more clear that a given history is
587 associated with a single user. However, most people who would wish to observe
588 this will observe it through cookies or other protocol-specific means anyhow.
591 \fBTrackHostExitsExpire \fR\fINUM\fP
592 Since exit servers go up and down, it is desirable to expire the association
593 between host and exit server after NUM seconds. The default
594 is 1800 seconds (30 minutes).
597 \fBUpdateBridgesFromAuthority \fR\fB0\fR|\fB1\fR\fP
598 When set (along with UseBridges), Tor will try to fetch bridge descriptors
599 from the configured bridge authorities when feasible. It will fall back
600 to a direct request if the authority responds with a 404. (Default: 0)
603 \fBUseBridges \fR\fB0\fR|\fB1\fR\fP
604 When set, Tor will fetch descriptors for each bridge listed in the
605 "Bridge" config lines, and use these relays as both entry guards and
606 directory guards. (Default: 0)
609 \fBUseEntryGuards \fR\fB0\fR|\fB1\fR\fP
610 If this option is set to 1, we pick a few long-term entry servers, and
611 try to stick with them.  This is desirable because
612 constantly changing servers increases the odds that an adversary who owns
613 some servers will observe a fraction of your paths.
614 (Defaults to 1.)
617 \fBNumEntryGuards \fR\fINUM\fP
618 If UseEntryGuards is set to 1, we will try to pick a total of NUM routers
619 as long-term entries for our circuits.
620 (Defaults to 3.)
623 \fBSafeSocks \fR\fB0\fR|\fB1\fR\fP
624 When this option is enabled, Tor will reject application connections that
625 use unsafe variants of the socks protocol -- ones that only provide an
626 IP address, meaning the application is doing a DNS resolve first.
627 Specifically, these are socks4 and socks5 when not doing remote DNS.
628 (Defaults to 0.)
631 \fBTestSocks \fR\fB0\fR|\fB1\fR\fP
632 When this option is enabled, Tor will make a notice-level log entry for
633 each connection to the Socks port indicating whether the request used
634 a safe socks protocol or an unsafe one (see above entry on SafeSocks).
635 This helps to determine whether an application using Tor is possibly
636 leaking DNS requests.
637 (Default: 0)
640 \fBVirtualAddrNetwork \fR\fIAddress\fB/\fIbits\fP
641 When a controller asks for a virtual (unused) address with the
642 MAPADDRESS command, Tor picks an unassigned address from this range.
643 (Default: 127.192.0.0/10)
645 When providing proxy server service to a network of computers using a tool like
646 dns-proxy-tor,
647 change this address to "10.192.0.0/10" or "172.16.0.0/12".
648 The default \fBVirtualAddrNetwork\fP address range on a 
649 properly configured machine will route to the loopback interface. 
650 For local use, no change to the
651 default \fBVirtualAddrNetwork\fP setting is needed.
654 \fBAllowNonRFC953Hostnames \fR\fB0\fR|\fB1\fR\fP
655 When this option is disabled, Tor blocks hostnames containing illegal
656 characters (like @ and :) rather than sending them to an exit node to be
657 resolved.  This helps trap accidental attempts to resolve URLs and so on.
658 (Default: 0)
661 \fBFastFirstHopPK \fR\fB0\fR|\fB1\fR\fP
662 When this option is disabled, Tor uses the public key step for the first
663 hop of creating circuits. Skipping it is generally safe since we have
664 already used TLS to authenticate the relay and to establish forward-secure
665 keys. Turning this option off makes circuit building slower.
667 Note that Tor will always use the public key step for the first hop if
668 it's operating as a relay, and it will never use the public key step if
669 it doesn't yet know the onion key of the first hop.
670 (Default: 1)
673 \fBTransPort\fP \fR\fIPORT\fP
674 If non-zero, enables transparent proxy support on \fR\fIPORT\fP (by
675 convention, 9040).
676 .\" This is required to enable support for \fBdns-proxy-tor\fP.
677 .\" ControlPort must be set when using \fBTransPort\fP.
678 Requires OS support for transparent proxies, such as BSDs' pf or
679 Linux's IPTables.
680 If you're planning 
681 to use Tor as a transparent proxy for a network, you'll want to examine 
682 and change VirtualAddrNetwork from the default setting. You'll also want
683 to set the TransListenAddress option for the network you'd like to proxy.
684 (Default: 0).
687 \fBTransListenAddress\fP \fR\fIIP\fR[:\fIPORT\fR]\fP
688 Bind to this address to listen for transparent proxy connections.
689 (Default: 127.0.0.1).  
690 This is useful for exporting a transparent proxy server 
691 to an entire network.
694 \fBNATDPort\fP \fR\fIPORT\fP
695 Allow old versions of ipfw (as included in old versions of FreeBSD,
696 etc.) to send connections through Tor using the NATD protocol.
697 This option is only for people who cannot
698 use TransPort.
701 \fBNATDListenAddress\fP \fR\fIIP\fR[:\fIPORT\fR]\fP
702 Bind to this address to listen for NATD connections.
703 (Default: 127.0.0.1).
706 \fBAutomapHostsOnResolve\fP \fR\fB0\fR|\fB1\fR\fP
707 When this option is enabled, and we get a request to resolve an
708 address that ends with one of the suffixes in
709 \fBAutomapHostsSuffixes\fP, we map an unused virtual address to that
710 address, and return the new virtual address.  This is handy for making
711 .onion addresses work with applications that resolve an address and
712 then connect to it.
713 (Default: 0).
716 \fBAutomapHostsSuffixes\fP \fR\fISUFFIX\fR,\fISUFFIX\fR,...\fP
717 A comma-separated list of suffixes to use with \fBAutomapHostsOnResolve\fP.
718 The "." suffix is equivalent to "all addresses."
719 (Default: .exit,.onion).
722 \fBDNSPort\fP \fR\fIPORT\fP
723 If non-zero, Tor listens for UDP DNS requests on this port and resolves them
724 anonymously.
725 (Default: 0).
728 \fBDNSListenAddress\fP \fR\fIIP\fR[:\fIPORT\fR]\fP
729 Bind to this address to listen for DNS connections.
730 (Default: 127.0.0.1).
733 \fBClientDNSRejectInternalAddresses\fP \fR\fB0\fR|\fB1\fR\fP
734 If true, Tor does not believe any anonymously retrieved DNS answer that tells
735 it that an address resolves to an internal address (like 127.0.0.1 or
736 192.168.0.1).  This option prevents certain browser-based attacks; don't turn
737 it off unless you know what you're doing.  (Default: 1).
740 \fBDownloadExtraInfo\fP \fR\fB0\fR|\fB1\fR\fP
741 If true, Tor downloads and caches "extra-info" documents.  These
742 documents contain information about servers other than the information
743 in their regular router descriptors.  Tor does not use this information for
744 anything itself; to save bandwidth, leave this option turned off.
745 (Default: 0).
748 \fBFallbackNetworkstatusFile\fP \fIFILENAME\fP
749 If Tor doesn't have a cached networkstatus file, it starts out using
750 this one instead.  Even if this file is out of date, Tor can still use
751 it to learn about directory mirrors, so it doesn't need to put load on
752 the authorities.  (Default: None).
755 \fBWarnPlaintextPorts\fP \fR\fIport\fR,\fIport\fR,\fI...\fP
756 Tells Tor to issue a warnings whenever the user tries to make an
757 anonymous connection to one of these ports.  This option is designed
758 to alert users to services that risk sending passwords in the clear.
759 (Default: 23,109,110,143).
762 \fBRejectPlaintextPorts\fP \fR\fIport\fR,\fIport\fR,\fI...\fP
763 Like WarnPlaintextPorts, but instead of warning about risky port uses,
764 Tor will instead refuse to make the connection.
765 (Default: None).
769 .SH SERVER OPTIONS
771 The following options are useful only for servers (that is, if \fBORPort\fP is non-zero):
774 \fBAddress \fR\fIaddress\fP
775 The IP address or fqdn of this server (e.g. moria.mit.edu). You can
776 leave this unset, and Tor will guess your IP address.
779 \fBAssumeReachable \fR\fB0\fR|\fB1\fR\fP
780 This option is used when bootstrapping a new Tor network. If set to 1,
781 don't do self-reachability testing; just upload your server descriptor
782 immediately. If \fBAuthoritativeDirectory\fP is also set, this option
783 instructs the dirserver to bypass remote reachability testing too and
784 list all connected servers as running.
787 \fBBridgeRelay \fR\fB0\fR|\fB1\fR\fP
788 Sets the relay to act as a "bridge" with respect to relaying connections
789 from bridge users to the Tor network. Mainly it influences how the relay
790 will cache and serve directory information. Usually used in combination
791 with PublishServerDescriptor.
794 \fBContactInfo \fR\fIemail_address\fP
795 Administrative contact information for server. This line might get
796 picked up by spam harvesters, so you may want to obscure the fact
797 that it's an email address.
800 \fBExitPolicy \fR\fIpolicy\fR,\fIpolicy\fR,\fI...\fP
801 Set an exit policy for this server. Each policy is of the form
802 "\fBaccept\fP|\fBreject\fP \fIADDR\fP[\fB/\fP\fIMASK\fP]\fB[:\fP\fIPORT\fP]".
803 If \fB/\fP\fIMASK\fP is omitted then this policy just applies to the host
804 given.  Instead of giving a host or network you can also use "\fB*\fP" to
805 denote the universe (0.0.0.0/0).  \fIPORT\fP can be a single port number,
806 an interval of ports "\fIFROM_PORT\fP\fB-\fP\fITO_PORT\fP", or "\fB*\fP".
807 If \fIPORT\fP is omitted, that means "\fB*\fP".
809 For example, "accept 18.7.22.69:*,reject 18.0.0.0/8:*,accept *:*" would
810 reject any traffic destined for MIT except for web.mit.edu, and
811 accept anything else.
813 To specify all internal and link-local networks (including 0.0.0.0/8,
814 169.254.0.0/16, 127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8, and
815 172.16.0.0/12), you can use the "private" alias instead of an address.
816 These addresses are rejected by default (at the beginning of your
817 exit policy), along with your public IP address, unless you set the
818 ExitPolicyRejectPrivate config option
819 to 0. For example, once you've done that, you could allow HTTP to
820 127.0.0.1 and block all other connections to internal networks with
821 "accept 127.0.0.1:80,reject private:*", though that may also allow
822 connections to your own computer that are addressed to its public
823 (external) IP address. See RFC 1918 and RFC 3330 for more
824 details about internal and reserved IP address space.
826 This directive can be specified multiple times so you don't have to put
827 it all on one line.
829 Policies are considered first to last, and the first match wins. If
830 you want to _replace_ the default exit policy, end your exit policy with
831 either a reject *:* or an accept *:*. Otherwise, you're _augmenting_
832 (prepending to) the default exit policy. The default exit policy is:
833 .PD 0
834 .RS 12
835 .IP "reject *:25"
836 .IP "reject *:119"
837 .IP "reject *:135-139"
838 .IP "reject *:445"
839 .IP "reject *:465"
840 .IP "reject *:563"
841 .IP "reject *:587"
842 .IP "reject *:1214"
843 .IP "reject *:4661-4666"
844 .IP "reject *:6346-6429"
845 .IP "reject *:6699"
846 .IP "reject *:6881-6999"
847 .IP "accept *:*"
852 \fBExitPolicyRejectPrivate \fR\fB0\fR|\fB1\fR\fP
853 Reject all private (local) networks, along with your own public IP
854 address, at the beginning of your exit
855 policy. See above entry on ExitPolicy. (Default: 1)
858 \fBMaxOnionsPending \fR\fINUM\fP
859 If you have more than this number of onionskins queued for decrypt, reject new ones. (Default: 100)
862 \fBMyFamily \fR\fInode\fR,\fInode\fR,\fI...\fP
863 Declare that this Tor server is controlled or administered by a group
864 or organization identical or similar to that of the other servers, defined by their identity fingerprints or nicknames.
865 When two servers both declare that they are in the same 'family', Tor clients
866 will not use them in the same circuit.  (Each server only needs to list the
867 other servers in its family; it doesn't need to list itself, but it won't hurt.)
870 \fBNickname \fR\fIname\fP
871 Set the server's nickname to 'name'. Nicknames must be between 1
872 and 19 characters inclusive, and must contain only the characters
873 [a-zA-Z0-9].
876 \fBNumCPUs \fR\fInum\fP
877 How many processes to use at once for decrypting onionskins. (Default: 1)
880 \fBORPort \fR\fIPORT\fP
881 Advertise this port to listen for connections from Tor clients and servers.
884 \fBORListenAddress \fR\fIIP\fR[:\fIPORT\fR]\fP
885 Bind to this IP address to listen for connections from Tor clients and
886 servers. If you specify a port, bind to this port rather than the one
887 specified in ORPort. (Default: 0.0.0.0)
888 This directive can be specified multiple times to bind to multiple
889 addresses/ports.
892 \fBPublishServerDescriptor \fR\fB0\fR|\fB1\fR|\fBv1\fR|\fBv2\fR|\fBv3\fR|\fBbridge\fR|\fBhidserv\fR, ...\fP
893 This option is only considered if you have an ORPort defined. You can
894 choose multiple arguments, separated by commas.
896 If set to 0, Tor will act as a server but it will not publish its
897 descriptor to the directory authorities. (This is useful if you're
898 testing out your server, or if you're using a Tor controller that handles
899 directory publishing for you.) Otherwise, Tor will publish its descriptor
900 to all directory authorities of the type(s) specified. The value "1" is
901 treated as a synonym for the default, which is currently "v2,v3".
904 \fBRedirectExit \fR\fIpattern target\fP
905 THIS OPTION IS DEPRECATED.  It will go away in a future version of Tor.
906 Whenever an outgoing connection tries to connect to one of a given set
907 of addresses, connect to \fItarget\fP (an \fIaddress:port\fP pair) instead.
908 The address
909 pattern is given in the same format as for an exit policy.  The
910 address translation applies after exit policies are applied.  Multiple
911 \fBRedirectExit\fP options can be used: once any one has matched
912 successfully, no subsequent rules are considered.  You can specify that no
913 redirection is to be performed on a given set of addresses by using the
914 special target string "pass", which prevents subsequent rules from being
915 considered.
918 \fBShutdownWaitLength\fR \fINUM\fP
919 When we get a SIGINT and we're a server, we begin shutting down: we close
920 listeners and start refusing new circuits. After \fBNUM\fP seconds,
921 we exit. If we get a second SIGINT, we exit immediately.  (Default:
922 30 seconds)
925 \fBAccountingMax \fR\fIN\fR \fBbytes\fR|\fBKB\fR|\fBMB\fR|\fBGB\fR|\fBTB\fP
926 Never send more than the specified number of bytes in a given
927 accounting period, or receive more than that number in the period.
928 For example, with AccountingMax set to 1 GB, a server could send 900 MB
929 and receive 800 MB and continue running. It will only hibernate once one
930 of the two reaches 1 GB.
931 When the number of bytes is exhausted, Tor will hibernate until some
932 time in the next accounting period.  To prevent all servers from
933 waking at the same time, Tor will also wait until a random point in
934 each period before waking up.  If you have bandwidth cost issues,
935 enabling hibernation is preferable to setting a low bandwidth, since it
936 provides users with a collection of fast servers that are up some of
937 the time, which is more useful than a set of slow servers that are
938 always "available".
941 \fBAccountingStart \fR\fBday\fR|\fBweek\fR|\fBmonth\fR [\fIday\fR] \fIHH:MM\fR\fP
942 Specify how long accounting periods last.  If \fBmonth\fP is given,
943 each accounting period runs from the time \fIHH:MM\fR on the
944 \fIday\fRth day of one month to the same day and time of the next.
945 (The day must be between 1 and 28.)  If \fBweek\fP is given, each
946 accounting period runs from the time \fIHH:MM\fR of the \fIday\fRth
947 day of one week to the same day and time of the next week, with Monday
948 as day 1 and Sunday as day 7.  If \fBday\fR is given, each accounting
949 period runs from the time \fIHH:MM\fR each day to the same time on the
950 next day.  All times are local, and given in 24-hour time.  (Defaults to
951 "month 1 0:00".)
954 \fBServerDNSResolvConfFile \fR\fIfilename\fP
955 Overrides the default DNS configuration with the configuration in
956 \fIfilename\fP.  The file format is the same as the standard Unix
957 "\fBresolv.conf\fP" file (7).  This option, like all other
958 ServerDNS options, only affects name lookups that your server does on
959 behalf of clients.  Also, it only takes effect if Tor was built with
960 eventdns support.  (Defaults to use the system DNS configuration.)
963 \fBServerDNSSearchDomains \fR\fB0\fR|\fB1\fR\fP
964 If set to \fB1\fP, then we will search for addresses in the local search
965 domain.  For example, if this system is configured to believe it is in
966 "example.com", and a client tries to connect to "www", the client will be
967 connected to "www.example.com".
968 This option only affects name lookups that your server does on
969 behalf of clients, and only takes effect if Tor was built with
970 eventdns support.
971 (Defaults to "0".)
974 \fBServerDNSDetectHijacking \fR\fB0\fR|\fB1\fR\fP
975 When this option is set to 1, we will test periodically to determine whether
976 our local nameservers have been configured to hijack failing DNS requests
977 (usually to an advertising site).  If they are, we will attempt to correct
978 this.
979 This option only affects name lookups that your server does on
980 behalf of clients, and only takes effect if Tor was built with
981 eventdns support.
982 (Defaults to "1".)
985 \fBServerDNSTestAddresses \fR\fIaddress\fR,\fIaddress\fR,\fI...\fP
986 When we're detecting DNS hijacking, make sure that these \fIvalid\fP
987 addresses aren't getting redirected.  If they are, then our DNS is
988 completely useless, and we'll reset our exit policy to "reject *:*".
989 This option only affects name lookups that your server does on
990 behalf of clients, and only takes effect if Tor was built with
991 eventdns support.
992 (Defaults to "www.google.com, www.mit.edu, www.yahoo.com,
993 www.slashdot.org".)
996 \fBServerDNSAllowNonRFC953Hostnames \fR\fB0\fR|\fB1\fR\fP
997 When this option is disabled, Tor does not try to resolve hostnames
998 containing illegal characters (like @ and :) rather than sending them to an
999 exit node to be resolved.  This helps trap accidental attempts to resolve
1000 URLs and so on.
1001 This option only affects name lookups that your server does on
1002 behalf of clients, and only takes effect if Tor was built with
1003 eventdns support.
1004 (Default: 0)
1007 \fBBridgeRecordUsageByCountry \fR\fB0\fR|\fB1\fR\fP
1008 When this option is enabled and BridgeRelay is also enabled, and we
1009 have GeoIP data, Tor keeps a keep a per-country count of how many
1010 client addresses have contacted it so that it can help the bridge
1011 authority guess which countries have blocked access to it.
1014 \fBGeoIPFile \fR\fIfilename\fP
1015 A filename containing GeoIP data, for use with BridgeRecordUsageByCountry.
1017 .SH DIRECTORY SERVER OPTIONS
1019 The following options are useful only for directory servers (that is, if \fBDirPort\fP is non-zero):
1022 \fBAuthoritativeDirectory \fR\fB0\fR|\fB1\fR\fP
1023 When this option is set to 1, Tor operates as an authoritative
1024 directory server.  Instead of caching the directory, it generates its
1025 own list of good servers, signs it, and sends that to the clients.
1026 Unless the clients already have you listed as a trusted directory, you
1027 probably do not want to set this option.  Please coordinate with the other
1028 admins at tor-ops@freehaven.net if you think you should be a directory.
1031 \fBV1AuthoritativeDirectory \fR\fB0\fR|\fB1\fR\fP
1032 When this option is set in addition to \fBAuthoritativeDirectory\fP, Tor
1033 generates version 1 directory and running-routers documents (for legacy
1034 Tor clients up to 0.1.0.x).
1037 \fBV2AuthoritativeDirectory \fR\fB0\fR|\fB1\fR\fP
1038 When this option is set in addition to \fBAuthoritativeDirectory\fP, Tor
1039 generates version 2 network statuses and serves descriptors, etc as
1040 described in doc/spec/dir-spec-v2.txt (for Tor clients and servers
1041 running 0.1.1.x and 0.1.2.x).
1044 \fBV3AuthoritativeDirectory \fR\fB0\fR|\fB1\fR\fP
1045 When this option is set in addition to \fBAuthoritativeDirectory\fP, Tor
1046 generates version 3 network statuses and serves descriptors, etc as
1047 described in doc/spec/dir-spec.txt (for Tor clients and servers
1048 running at least 0.2.0.x).
1051 \fBVersioningAuthoritativeDirectory \fR\fB0\fR|\fB1\fR\fP
1052 When this option is set to 1, Tor adds information on
1053 which versions of Tor are still believed safe for use to
1054 the published directory.  Each version 1 authority is
1055 automatically a versioning authority; version 2 authorities
1056 provide this service optionally.  See \fBRecommendedVersions\fP,
1057 \fBRecommendedClientVersions\fP, and \fBRecommendedServerVersions\fP.
1060 \fBNamingAuthoritativeDirectory \fR\fB0\fR|\fB1\fR\fP
1061 When this option is set to 1, then the server advertises that it has
1062 opinions about nickname-to-fingerprint bindings.  It will include these
1063 opinions in its published network-status pages, by listing servers with
1064 the flag "Named" if a correct binding between that nickname and
1065 fingerprint has been registered with the dirserver.  Naming dirservers
1066 will refuse to accept or publish descriptors that contradict a
1067 registered binding.  See \fBapproved-routers\fP in the \fBFILES\fP
1068 section below.
1071 \fBHSAuthoritativeDir \fR\fB0\fR|\fB1\fR\fP
1072 When this option is set in addition to \fBAuthoritativeDirectory\fP, Tor also
1073 accepts and serves hidden service descriptors. (Default: 0)
1076 \fBHSAuthorityRecordStats \fR\fB0\fR|\fB1\fR\fP
1077 When this option is set in addition to \fBHSAuthoritativeDir\fP, Tor
1078 periodically (every 15 minutes) writes statistics about hidden service
1079 usage to a file \fBhsusage\fP  in its data directory. (Default: 0)
1082 \fBHidServDirectoryV2 \fR\fB0\fR|\fB1\fR\fP
1083 When this option is set, Tor accepts and serves v2 hidden service
1084 descriptors. (Default: 0)
1087 \fBBridgeAuthoritativeDir \fR\fB0\fR|\fB1\fR\fP
1088 When this option is set in addition to \fBAuthoritativeDirectory\fP, Tor
1089 accepts and serves router descriptors, but it caches and serves the main
1090 networkstatus documents rather than generating its own. (Default: 0)
1093 \fBMinUptimeHidServDirectoryV2 \fR\fIN\fR \fBseconds\fR|\fBminutes\fR|\fBhours\fR|\fBdays\fR|\fBweeks\fP
1094 Minimum uptime of a v2 hidden service directory to be accepted as such by
1095 authoritative directories. (Default: 24 hours)
1098 \fBDirPort \fR\fIPORT\fP
1099 Advertise the directory service on this port.
1102 \fBDirListenAddress \fR\fIIP\fR[:\fIPORT\fR]\fP
1103 Bind the directory service to this address. If you specify a port, bind
1104 to this port rather than the one specified in DirPort. (Default: 0.0.0.0)
1105 This directive can be specified multiple times to bind to multiple
1106 addresses/ports.
1109 \fBDirPolicy \fR\fIpolicy\fR,\fIpolicy\fR,\fI...\fP
1110 Set an entrance policy for this server, to limit who can connect to the
1111 directory ports.
1112 The policies have the same form as exit policies above.
1116 .SH DIRECTORY AUTHORITY SERVER OPTIONS
1118 \fBRecommendedVersions \fR\fISTRING\fP
1119 STRING is a comma-separated list of Tor versions currently believed
1120 to be safe. The list is included in each directory, and nodes which
1121 pull down the directory learn whether they need to upgrade.  This
1122 option can appear multiple times: the values from multiple lines are
1123 spliced together.
1124 When this is set then
1125 \fBVersioningAuthoritativeDirectory\fP should be set too.
1128 \fBRecommendedClientVersions \fR\fISTRING\fP
1129 STRING is a comma-separated list of Tor versions currently believed
1130 to be safe for clients to use.  This information is included in version 2
1131 directories.  If this is not set then the value of \fBRecommendedVersions\fR
1132 is used.
1133 When this is set then
1134 \fBVersioningAuthoritativeDirectory\fP should be set too.
1137 \fBRecommendedServerVersions \fR\fISTRING\fP
1138 STRING is a comma-separated list of Tor versions currently believed
1139 to be safe for servers to use.  This information is included in version 2
1140 directories.  If this is not set then the value of \fBRecommendedVersions\fR
1141 is used.
1142 When this is set then
1143 \fBVersioningAuthoritativeDirectory\fP should be set too.
1146 \fBDirAllowPrivateAddresses \fR\fB0\fR|\fB1\fR\fP
1147 If set to 1, Tor will accept router descriptors with arbitrary "Address"
1148 elements. Otherwise, if the address is not an IP address or is a private
1149 IP address, it will reject the router descriptor. Defaults to 0.
1152 \fBAuthDirBadDir \fR\fIAddressPattern\fR...\fP
1153 Authoritative directories only.  A set of address patterns for servers that
1154 will be listed as bad directories in any network status document this authority
1155 publishes, if \fBAuthDirListBadDirs\fR is set.
1158 \fBAuthDirBadExit \fR\fIAddressPattern\fR...\fP
1159 Authoritative directories only.  A set of address patterns for servers that
1160 will be listed as bad exits in any network status document this authority
1161 publishes, if \fBAuthDirListBadExits\fR is set.
1164 \fBAuthDirInvalid \fR\fIAddressPattern\fR...\fP
1165 Authoritative directories only. A set of address patterns for servers that
1166 will never be listed as "valid" in any network status document that this
1167 authority publishes.
1170 \fBAuthDirReject \fR\fIAddressPattern\fR...\fP
1171 Authoritative directories only.  A set of address patterns for servers that
1172 will never be listed at all in any network status document that this
1173 authority publishes, or accepted as an OR address in any descriptor submitted
1174 for publication by this authority.
1177 \fBAuthDirListBadDirs \fR\fB0\fR|\fB1\fR\fP
1178 Authoritative directories only.  If set to 1, this directory has
1179 some opinion about which nodes are unsuitable as directory caches.  (Do not
1180 set this to 1 unless you plan to list nonfunctioning directories as bad;
1181 otherwise, you are effectively voting in favor of every declared directory.)
1184 \fBAuthDirListBadExits \fR\fB0\fR|\fB1\fR\fP
1185 Authoritative directories only.  If set to 1, this directory has
1186 some opinion about which nodes are unsuitable as exit nodes.  (Do not
1187 set this to 1 unless you plan to list nonfunctioning exits as bad;
1188 otherwise, you are effectively voting in favor of every declared exit
1189 as an exit.)
1192 \fBAuthDirRejectUnlisted \fR\fB0\fR|\fB1\fR\fP
1193 Authoritative directories only.  If set to 1, the directory server
1194 rejects all uploaded server descriptors that aren't explicitly listed
1195 in the fingerprints file. This acts as a "panic button" if we get
1196 Sybiled. (Default: 0)
1199 \fBAuthDirMaxServersPerAddr\fR \fINUM\fP
1200 Authoritative directories only.  The maximum number of servers that we
1201 will list as acceptable on a single IP address.  Set this to "0" for
1202 "no limit". (Default: 2)
1205 \fBAuthDirMaxServersPerAuthAddr\fR \fINUM\fP
1206 Authoritative directories only.  Like AuthDirMaxServersPerAddr, but
1207 applies to addresses shared with directory authorities.  (Default: 5)
1210 \fBV3AuthVotingInterval\fR \fR\fIN\fR \fBminutes\fR|\fBhours\fP
1211 V3 authoritative directories only.  Configures the server's preferred
1212 voting interval.  Note that voting will \fIactually\fP happen at an
1213 interval chosen by consensus from all the authorities' preferred
1214 intervals.  This time SHOULD divide evenly into a day. (Default: 1 hour)
1217 \fBV3AuthVoteDelay\fR \fINUM\fP
1218 V3 authoritative directories only.  Configures the server's preferred
1219 delay between publishing its vote and assuming it has all the votes
1220 from all the other authorities.  Note that the actual time used is not
1221 the server's preferred time, but the consensus of all preferences.
1222 (Default: 5 minutes.)
1225 \fBV3AuthDistDelay\fR \fINUM\fP
1226 V3 authoritative directories only.  Configures the server's preferred
1227 delay between publishing its consensus and signature and assuming it
1228 has all the signatures from all the other authorities.  Note that the
1229 actual time used is not the server's preferred time, but the consensus
1230 of all preferences.  (Default: 5 minutes.)
1233 \fBV3AuthNIntervalsValid\fR \fINUM\fP
1234 V3 authoritative directories only.  Configures the number of
1235 VotingIntervals for which each consensus should be valid for.
1236 Choosing high numbers increases network partitioning risks; choosing
1237 low numbers increases directory traffic. Note that the actual number
1238 of intervals used is not the server's preferred number, but the
1239 consensus of all preferences.  Must be at least 2.  (Default: 3.)
1242 .SH HIDDEN SERVICE OPTIONS
1244 The following options are used to configure a hidden service.
1247 \fBHiddenServiceDir \fR\fIDIRECTORY\fP
1248 Store data files for a hidden service in DIRECTORY.  Every hidden
1249 service must have a separate directory.  You may use this option multiple
1250 times to specify multiple services.
1253 \fBHiddenServicePort \fR\fIVIRTPORT \fR[\fITARGET\fR]\fP
1254 Configure a virtual port VIRTPORT for a hidden service.  You may use this
1255 option multiple times; each time applies to the service using the most recent
1256 hiddenservicedir.  By default, this option maps the virtual port to the
1257 same port on 127.0.0.1.  You may override the target port, address, or both
1258 by specifying a target of addr, port, or addr:port.  You may also have
1259 multiple lines with the same VIRTPORT: when a user connects to that VIRTPORT,
1260 one of the TARGETs from those lines will be chosen at random.
1263 \fBHiddenServiceNodes \fR\fInode\fR,\fInode\fR,\fI...\fP
1264 If possible, use the specified nodes, defined by their identity fingerprints or
1265 nicknames, as introduction points for the hidden service. If this is left
1266 unset, Tor will be smart and pick some reasonable ones; most people can leave
1267 this unset.
1270 \fBHiddenServiceExcludeNodes \fR\fInode\fR,\fInode\fR,\fI...\fP
1271 Do not use the specified nodes, defined by their identity fingerprints or
1272 nicknames, as introduction points for the hidden service. In normal use there
1273 is no reason to set this.
1276 \fBPublishHidServDescriptors \fR\fB0\fR|\fB1\fR\fP
1277 If set to 0, Tor will run any hidden services you configure, but it won't
1278 advertise them to the rendezvous directory. This option is only useful
1279 if you're using a Tor controller that handles hidserv publishing for you.
1280 (Default: 1)
1283 \fBHiddenServiceVersion \fR\fIversion\fR,\fIversion\fR,\fI...\fP
1284 A list of rendezvous service descriptor versions to publish for the hidden
1285 service. Possible version numbers are 0 and 2. (Default: 0, 2)
1288 \fBRendPostPeriod \fR\fIN\fR \fBseconds\fR|\fBminutes\fR|\fBhours\fR|\fBdays\fR|\fBweeks\fP
1289 Every time the specified period elapses, Tor uploads any rendezvous
1290 service descriptors to the directory servers.  This information is also
1291 uploaded whenever it changes.  (Default: 20 minutes)
1293 .\" UNDOCUMENTED
1294 .\" ignoreversion
1296 .SH SIGNALS
1297 Tor catches the following signals:
1300 \fBSIGTERM\fR
1301 Tor will catch this, clean up and sync to disk if necessary, and exit.
1304 \fBSIGINT\fR
1305 Tor clients behave as with SIGTERM; but Tor servers will do a controlled
1306 slow shutdown, closing listeners and waiting 30 seconds before exiting.
1307 (The delay can be configured with the ShutdownWaitLength config option.)
1310 \fBSIGHUP\fR
1311 The signal instructs Tor to reload its configuration (including closing
1312 and reopening logs), fetch a new directory, and kill and restart its
1313 helper processes if applicable.
1316 \fBSIGUSR1\fR
1317 Log statistics about current connections, past connections, and
1318 throughput.
1321 \fBSIGUSR2\fR
1322 Switch all logs to loglevel debug. You can go back to the old loglevels
1323 by sending a SIGHUP.
1326 \fBSIGCHLD\fR
1327 Tor receives this signal when one of its helper processes has exited,
1328 so it can clean up.
1331 \fBSIGPIPE\fR
1332 Tor catches this signal and ignores it.
1335 \fBSIGXFSZ\fR
1336 If this signal exists on your platform, Tor catches and ignores it.
1338 .SH FILES
1341 .B @CONFDIR@/torrc
1342 The configuration file, which contains "option value" pairs.
1345 .B @LOCALSTATEDIR@/lib/tor/
1346 The tor process stores keys and other data here.
1349 .B \fIDataDirectory\fP/cached-status/*
1350 The most recently downloaded network status document for each authority.  Each file holds one such document; the filenames are the hexadecimal identity key fingerprints of the directory authorities.
1353 .B \fIDataDirectory\fB/cached-descriptors\fR and \fBcached-descriptors.new\fR
1354 These files hold downloaded router statuses.  Some routers may appear more than once; if so, the most recently published descriptor is used.    Lines beginning with @-signs are annotations that contain more information about a given router.  The ".new" file is an append-only journal; when it gets too large, all entries are merged into a new cached-routers file.
1357 .B \fIDataDirectory\fB/cached-routers\fR and \fBcached-routers.new\fR
1358 Obsolete versions of cached-descriptors and cached-descriptors.new.  When Tor can't find the newer files, it looks here instead.
1361 .B \fIDataDirectory\fP/state
1362 A set of persistent key-value mappings.  These are documented in the file.  These include:
1363 .PD 0
1364 .RS 5
1365 .IP "- The current entry guards and their status."
1366 .IP "- The current bandwidth accounting values (unused so far; see below)."
1367 .IP "- When the file was last written"
1368 .IP "- What version of Tor generated the state file"
1369 .IP "- A short history of bandwidth usage, as produced in the router descriptors."
1374 .B \fIDataDirectory\fP/bw_accounting
1375 Used to track bandwidth accounting values (when the current period starts and ends; how much has been read and written so far this period).  This file is obsolete, and the data is now stored in the 'state' file as well.  Only used when bandwidth accounting is enabled.
1378 .B \fIDataDirectory\fP/hsusage
1379 Used to track hidden service usage in terms of fetch and publish
1380 requests to this hidden service authoritative directory. Only used when
1381 recording of statistics is enabled.
1384 .B \fIDataDirectory\fP/control_auth_cookie
1385 Used for cookie authentication with the controller. Location can be
1386 overridden by the CookieAuthFile config option. Regenerated on startup.
1387 See control-spec.txt for details.  Only used when cookie authentication
1388 is enabled.
1391 .B \fIDataDirectory\fP/keys/*
1392 Only used by servers.  Holds identity keys and onion keys.
1395 .B \fIDataDirectory\fP/fingerprint
1396 Only used by servers.  Holds the fingerprint of the server's identity key.
1399 .B \fIDataDirectory\fP/approved-routers
1400 Only for naming authoritative directory servers (see \fBNamingAuthoritativeDirectory\fP).  This file lists nickname to identity bindings.  Each line lists a nickname and a fingerprint separated by whitespace.  See your \fBfingerprint\fP file in the \fIDataDirectory\fP for an example line.  If the nickname is \fB!reject\fP then descriptors from the given identity (fingerprint) are rejected by this server. If it is \fB!invalid\fP then descriptors are accepted but marked in the directory as not valid, that is, not recommended.
1403 .B \fIDataDirectory\fP/router-stability
1404 Only used by authoritative directory servers.  Tracks measurements for router mean-time-between-failures so that authorities have a good idea of how to set their Stable flags.
1407 .B \fIHiddenServiceDirectory\fP/hostname 
1408 The <base32-encoded-fingerprint>.onion domain name for this hidden service.
1411 .B \fIHiddenServiceDirectory\fP/private_key 
1412 The private key for this hidden service.
1413 .SH SEE ALSO
1414 .BR privoxy (1),
1415 .BR tsocks (1),
1416 .BR torify (1)
1418 .BR https://www.torproject.org/
1420 .SH BUGS
1421 Plenty, probably. Tor is still in development. Please report them.
1422 .SH AUTHORS
1423 Roger Dingledine <arma@mit.edu>, Nick Mathewson <nickm@alum.mit.edu>.