1TOR(1) General Commands Manual TOR(1)
2
3
4
6 tor - The second-generation onion router
7
9 tor [OPTION value]...
10
12 tor is a connection-oriented anonymizing communication service. Users
13 choose a source-routed path through a set of nodes, and negotiate a
14 "virtual circuit" through the network, in which each node knows its
15 predecessor and successor, but no others. Traffic flowing down the cir‐
16 cuit is unwrapped by a symmetric key at each node, which reveals the
17 downstream node.
18
19 Basically tor provides a distributed network of servers ("onion
20 routers"). Users bounce their TCP streams -- web traffic, ftp, ssh, etc
21 -- around the routers, and recipients, observers, and even the routers
22 themselves have difficulty tracking the source of the stream.
23
25 -h, -help Display a short help message and exit.
26
27 -f FILE
28 FILE contains further "option value" pairs. (Default:
29 /etc/tor/torrc)
30
31 --hash-password
32 Generates a hashed password for control port access.
33
34 --list-fingerprint
35 Generate your keys and output your nickname and fingerprint.
36
37 --verify-config
38 Verify the configuration file is valid.
39
40 --nt-service
41 --service [install|remove|start|stop] Manage the Tor Windows
42 NT/2000/XP service. Current instructions can be found at
43 http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#WinNTSer‐
44 vice
45
46 --list-torrc-options
47 List all valid options.
48
49 --version
50 Display Tor version and exit.
51
52 --quiet
53 Do not start Tor with a console log unless explicitly requested
54 to do so. (By default, Tor starts out logging messages at level
55 "notice" or higher to the console, until it has parsed its con‐
56 figuration.)
57
58 Other options can be specified either on the command-line (--option
59 value), or in the configuration file (option value or option
60 "value"). Options are case-insensitive. C-style escaped char‐
61 acters are allowed inside quoted values.
62
63 BandwidthRate N bytes|KB|MB|GB|TB
64 A token bucket limits the average incoming bandwidth usage on
65 this node to the specified number of bytes per second, and the
66 average outgoing bandwidth usage to that same value. (Default: 5
67 MB)
68
69 BandwidthBurst N bytes|KB|MB|GB|TB
70 Limit the maximum token bucket size (also known as the burst) to
71 the given number of bytes in each direction. (Default: 10 MB)
72
73 MaxAdvertisedBandwidth N bytes|KB|MB|GB|TB
74 If set, we will not advertise more than this amount of bandwidth
75 for our BandwidthRate. Server operators who want to reduce the
76 number of clients who ask to build circuits through them (since
77 this is proportional to advertised bandwidth rate) can thus
78 reduce the CPU demands on their server without impacting network
79 performance.
80
81 RelayBandwidthRate N bytes|KB|MB|GB|TB
82 If defined, a separate token bucket limits the average incoming
83 bandwidth usage for _relayed traffic_ on this node to the speci‐
84 fied number of bytes per second, and the average outgoing band‐
85 width usage to that same value. Relayed traffic currently is
86 calculated to include answers to directory requests, but that
87 may change in future versions. (Default: 0)
88
89 RelayBandwidthBurst N bytes|KB|MB|GB|TB
90 Limit the maximum token bucket size (also known as the burst)
91 for _relayed traffic_ to the given number of bytes in each
92 direction. (Default: 0)
93
94 ConnLimit NUM
95 The minimum number of file descriptors that must be available to
96 the Tor process before it will start. Tor will ask the OS for as
97 many file descriptors as the OS will allow (you can find this by
98 "ulimit -H -n"). If this number is less than ConnLimit, then Tor
99 will refuse to start.
100
101 You probably don't need to adjust this. It has no effect on Win‐
102 dows since that platform lacks getrlimit(). (Default: 1000)
103
104 ConstrainedSockets 0|1
105 If set, Tor will tell the kernel to attempt to shrink the buf‐
106 fers for all sockets to the size specified in ConstrainedSock‐
107 Size. This is useful for virtual servers and other environments
108 where system level TCP buffers may be limited. If you're on a
109 virtual server, and you encounter the "Error creating network
110 socket: No buffer space available" message, you are likely expe‐
111 riencing this problem.
112
113 The preferred solution is to have the admin increase the buffer
114 pool for the host itself via /proc/sys/net/ipv4/tcp_mem or
115 equivalent facility; this configuration option is a second-
116 resort.
117
118 The DirPort option should also not be used if TCP buffers are
119 scarce. The cached directory requests consume additional sock‐
120 ets which exacerbates the problem.
121
122 You should not enable this feature unless you encounter the "no
123 buffer space available" issue. Reducing the TCP buffers affects
124 window size for the TCP stream and will reduce throughput in
125 proportion to round trip time on long paths. (Default: 0.)
126
127 ConstrainedSockSize N bytes|KB
128 When ConstrainedSockets is enabled the receive and transmit buf‐
129 fers for all sockets will be set to this limit. Must be a value
130 between 2048 and 262144, in 1024 byte increments. Default of
131 8192 is recommended.
132
133 ControlPort Port
134 If set, Tor will accept connections on this port and allow those
135 connections to control the Tor process using the Tor Control
136 Protocol (described in control-spec.txt). Note: unless you also
137 specify one of HashedControlPassword or CookieAuthentication,
138 setting this option will cause Tor to allow any process on the
139 local host to control it. This option is required for many Tor
140 controllers; most use the value of 9051.
141
142 ControlListenAddress IP[:PORT]
143 Bind the controller listener to this address. If you specify a
144 port, bind to this port rather than the one specified in Con‐
145 trolPort. We strongly recommend that you leave this alone unless
146 you know what you're doing, since giving attackers access to
147 your control listener is really dangerous. (Default: 127.0.0.1)
148 This directive can be specified multiple times to bind to multi‐
149 ple addresses/ports.
150
151 ControlSocket Path
152 Like ControlPort, but listens on a Unix domain socket, rather
153 than a TCP socket. (Unix and Unix-like systems only.)
154
155 HashedControlPassword hashed_password
156 Don't allow any connections on the control port except when the
157 other process knows the password whose one-way hash is
158 hashed_password. You can compute the hash of a password by run‐
159 ning "tor --hash-password password". You can provide several
160 acceptable passwords by using more than HashedControlPassword
161 line.
162
163 CookieAuthentication 0|1
164 If this option is set to 1, don't allow any connections on the
165 control port except when the connecting process knows the con‐
166 tents of a file named "control_auth_cookie", which Tor will cre‐
167 ate in its data directory. This authentication method should
168 only be used on systems with good filesystem security. (Default:
169 0)
170
171 CookieAuthFile Path
172 If set, this option overrides the default location and file name
173 for Tor's cookie file. (See CookieAuthentication above.)
174
175 CookieAuthFileGroupReadable 0|1|GroupName
176 If this option is set to 0, don't allow the filesystem group to
177 read the cookie file. If the option is set to 1, make the
178 cookie file readable by the default GID. [Making the file read‐
179 able by other groups is not yet implemented; let us know if you
180 need this for some reason.] (Default: 0).
181
182 DataDirectory DIR
183 Store working data in DIR (Default: /var/lib/tor)
184
185 DirServer [nickname] [flags] address:port fingerprint
186 Use a nonstandard authoritative directory server at the provided
187 address and port, with the specified key fingerprint. This
188 option can be repeated many times, for multiple authoritative
189 directory servers. Flags are separated by spaces, and determine
190 what kind of an authority this directory is. By default, every
191 authority is authoritative for current ("v2")-style directories,
192 unless the "no-v2" flag is given. If the "v1" flags is pro‐
193 vided, Tor will use this server as an authority for old-style
194 (v1) directories as well. (Only directory mirrors care about
195 this.) Tor will use this server as an authority for hidden ser‐
196 vice information if the "hs" flag is set, or if the "v1" flag is
197 set and the "no-hs" flag is not set. Tor will use this author‐
198 ity as a bridge authoritative directory if the "bridge" flag is
199 set. If a flag "orport=port" is given, Tor will use the given
200 port when opening encrypted tunnels to the dirserver. Lastly,
201 if a flag "v3ident=fp" is given, the dirserver is a v3 directory
202 authority whose v3 long-term signing key has the fingerprint fp.
203
204 If no dirserver line is given, Tor will use the default direc‐
205 tory servers. NOTE: this option is intended for setting up a
206 private Tor network with its own directory authorities. If you
207 use it, you will be distinguishable from other users, because
208 you won't believe the same authorities they do.
209
210 AlternateDirAuthority [nickname] [flags] address:port fingerprint
211
212 AlternateHSAuthority [nickname] [flags] address:port fingerprint
213
214 AlternateBridgeAuthority [nickname] [flags] address:port fingerprint
215 As DirServer, but replaces less of the default directory author‐
216 ities. Using AlternateDirAuthority replaces the default Tor
217 directory authorities, but leaves the hidden service authorities
218 and bridge authorities in place. Similarly, Using Alter‐
219 nateHSAuthority replaces the default hidden service authorities,
220 but not the directory or bridge authorities.
221
222 FetchDirInfoEarly 0|1
223 If set to 1, Tor will always fetch directory information like
224 other directory caches, even if you don't meet the normal crite‐
225 ria for fetching early. Normal users should leave it off.
226 (Default: 0)
227
228 FetchHidServDescriptors 0|1
229 If set to 0, Tor will never fetch any hidden service descriptors
230 from the rendezvous directories. This option is only useful if
231 you're using a Tor controller that handles hidden service
232 fetches for you. (Default: 1)
233
234 FetchServerDescriptors 0|1
235 If set to 0, Tor will never fetch any network status summaries
236 or server descriptors from the directory servers. This option is
237 only useful if you're using a Tor controller that handles direc‐
238 tory fetches for you. (Default: 1)
239
240 FetchUselessDescriptors 0|1
241 If set to 1, Tor will fetch every non-obsolete descriptor from
242 the authorities that it hears about. Otherwise, it will avoid
243 fetching useless descriptors, for example for routers that are
244 not running. This option is useful if you're using the contrib‐
245 uted "exitlist" script to enumerate Tor nodes that exit to cer‐
246 tain addresses. (Default: 0)
247
248 HTTPProxy host[:port]
249 Tor will make all its directory requests through this host:port
250 (or host:80 if port is not specified), rather than connecting
251 directly to any directory servers.
252
253 HTTPProxyAuthenticator username:password
254 If defined, Tor will use this username:password for Basic HTTP
255 proxy authentication, as in RFC 2617. This is currently the only
256 form of HTTP proxy authentication that Tor supports; feel free
257 to submit a patch if you want it to support others.
258
259 HTTPSProxy host[:port]
260 Tor will make all its OR (SSL) connections through this
261 host:port (or host:443 if port is not specified), via HTTP CON‐
262 NECT rather than connecting directly to servers. You may want
263 to set FascistFirewall to restrict the set of ports you might
264 try to connect to, if your HTTPS proxy only allows connecting to
265 certain ports.
266
267 HTTPSProxyAuthenticator username:password
268 If defined, Tor will use this username:password for Basic HTTPS
269 proxy authentication, as in RFC 2617. This is currently the only
270 form of HTTPS proxy authentication that Tor supports; feel free
271 to submit a patch if you want it to support others.
272
273 KeepalivePeriod NUM
274 To keep firewalls from expiring connections, send a padding
275 keepalive cell every NUM seconds on open connections that are in
276 use. If the connection has no open circuits, it will instead be
277 closed after NUM seconds of idleness. (Default: 5 minutes)
278
279 Log minSeverity[-maxSeverity] stderr|stdout|syslog
280 Send all messages between minSeverity and maxSeverity to the
281 standard output stream, the standard error stream, or to the
282 system log. (The "syslog" value is only supported on Unix.)
283 Recognized severity levels are debug, info, notice, warn, and
284 err. We advise using "notice" in most cases, since anything
285 more verbose may provide sensitive information to an attacker
286 who obtains the logs. If only one severity level is given, all
287 messages of that level or higher will be sent to the listed des‐
288 tination.
289
290 Log minSeverity[-maxSeverity] file FILENAME
291 As above, but send log messages to the listed filename. The
292 "Log" option may appear more than once in a configuration file.
293 Messages are sent to all the logs that match their severity
294 level.
295
296 OutboundBindAddress IP
297 Make all outbound connections originate from the IP address
298 specified. This is only useful when you have multiple network
299 interfaces, and you want all of Tor's outgoing connections to
300 use a single one.
301
302 PidFile FILE
303 On startup, write our PID to FILE. On clean shutdown, remove
304 FILE.
305
306 ProtocolWarnings 0|1
307 If 1, Tor will log with severity 'warn' various cases of other
308 parties not following the Tor specification. Otherwise, they are
309 logged with severity 'info'. (Default: 0)
310
311 RunAsDaemon 0|1
312 If 1, Tor forks and daemonizes to the background. This option
313 has no effect on Windows; instead you should use the --service
314 command-line option. (Default: 0)
315
316 SafeLogging 0|1
317 If 1, Tor replaces potentially sensitive strings in the logs
318 (e.g. addresses) with the string [scrubbed]. This way logs can
319 still be useful, but they don't leave behind personally identi‐
320 fying information about what sites a user might have visited.
321 (Default: 1)
322
323 User UID
324 On startup, setuid to this user and setgid to their primary
325 group.
326
327 HardwareAccel 0|1
328 If non-zero, try to use crypto hardware acceleration when avail‐
329 able. This is untested and probably buggy. (Default: 0)
330
331 AvoidDiskWrites 0|1
332 If non-zero, try to write to disk less frequently than we would
333 otherwise. This is useful when running on flash memory or other
334 media that support only a limited number of writes. (Default:
335 0)
336
337 TunnelDirConns 0|1
338 If non-zero, when a directory server we contact supports it, we
339 will build a one-hop circuit and make an encrypted connection
340 via its ORPort. (Default: 1)
341
342 PreferTunneledDirConns 0|1
343 If non-zero, we will avoid directory servers that don't support
344 tunneled directory connections, when possible. (Default: 1)
345
346
348 The following options are useful only for clients (that is, if Sock‐
349 sPort is non-zero):
350
351 AllowInvalidNodes entry|exit|middle|introduction|rendezvous|...
352 If some Tor servers are obviously not working right, the direc‐
353 tory authorities can manually mark them as invalid, meaning that
354 it's not recommended you use them for entry or exit positions in
355 your circuits. You can opt to use them in some circuit posi‐
356 tions, though. The default is "middle,rendezvous", and other
357 choices are not advised.
358
359 ExcludeSingleHopRelays 0|1
360 This option controls whether circuits built by Tor will include
361 relays with the AllowSingleHopExits flag set to true. If
362 ExcludeSingleHopRelays is set to 0, these relays will be
363 included. Note that these relays might be at higher risk of
364 being seized or observed, so they are not normally included.
365 (Default: 1)
366
367 Bridge IP:ORPort [fingerprint]
368 When set along with UseBridges, instructs Tor to use the relay
369 at "IP:ORPort" as a "bridge" relaying into the Tor network. If
370 "fingerprint" is provided (using the same format as for
371 DirServer), we will verify that the relay running at that loca‐
372 tion has the right fingerprint. We also use fingerprint to look
373 up the bridge descriptor at the bridge authority, if it's pro‐
374 vided and if UpdateBridgesFromAuthority is set too.
375
376 CircuitBuildTimeout NUM
377 Try for at most NUM seconds when building circuits. If the cir‐
378 cuit isn't open in that time, give up on it. (Default: 1
379 minute.)
380
381 CircuitIdleTimeout NUM
382 If we have kept a clean (never used) circuit around for NUM sec‐
383 onds, then close it. This way when the Tor client is entirely
384 idle, it can expire all of its circuits, and then expire its TLS
385 connections. Also, if we end up making a circuit that is not
386 useful for exiting any of the requests we're receiving, it won't
387 forever take up a slot in the circuit list. (Default: 1 hour.)
388
389 ClientOnly 0|1
390 If set to 1, Tor will under no circumstances run as a server or
391 serve directory requests. The default is to run as a client
392 unless ORPort is configured. (Usually, you don't need to set
393 this; Tor is pretty smart at figuring out whether you are reli‐
394 able and high-bandwidth enough to be a useful server.)
395 (Default: 0)
396
397 ExcludeNodes node,node,...
398 A list of identity fingerprints, nicknames, country codes and
399 address patterns of nodes to never use when building a circuit.
400 (Example: ExcludeNodes SlowServer, $ABCDEFFFFFFFFFFFFFFF, {cc},
401 255.254.0.0/8)
402
403 ExcludeExitNodes node,node,...
404 A list of identity fingerprints, nicknames, country codes and
405 address patterns of nodes to never use when picking an exit
406 node. Note that any node listed in ExcludeNodes is automati‐
407 cally considered to be part of this list.
408
409 EntryNodes node,node,...
410 A list of identity fingerprints, nicknames, country codes and
411 address patterns of nodes to use for the first hop in the cir‐
412 cuit. These are treated only as preferences unless StrictEn‐
413 tryNodes (see below) is also set.
414
415 ExitNodes node,node,...
416 A list of identity fingerprints, nicknames, country codes and
417 address patterns of nodes to use for the last hop in the cir‐
418 cuit. These are treated only as preferences unless StrictExitN‐
419 odes (see below) is also set.
420
421 StrictEntryNodes 0|1
422 If 1, Tor will never use any nodes besides those listed in
423 "EntryNodes" for the first hop of a circuit.
424
425 StrictExitNodes 0|1
426 If 1, Tor will never use any nodes besides those listed in
427 "ExitNodes" for the last hop of a circuit.
428
429 FascistFirewall 0|1
430 If 1, Tor will only create outgoing connections to ORs running
431 on ports that your firewall allows (defaults to 80 and 443; see
432 FirewallPorts). This will allow you to run Tor as a client
433 behind a firewall with restrictive policies, but will not allow
434 you to run as a server behind such a firewall. If you prefer
435 more fine-grained control, use ReachableAddresses instead.
436
437 FirewallPorts PORTS
438 A list of ports that your firewall allows you to connect to.
439 Only used when FascistFirewall is set. This option is depre‐
440 cated; use ReachableAddresses instead. (Default: 80, 443)
441
442 HidServAuth onion-address auth-cookie [service-name]
443 Client authorization for a hidden service. Valid onion addresses
444 contain 16 characters in a-z2-7 plus ".onion", and valid auth
445 cookies contain 22 characters in A-Za-z0-9+/. The service name
446 is only used for internal purposes, e.g., for Tor controllers.
447 This option may be used multiple times for different hidden ser‐
448 vices. If a hidden service uses authorization and this option is
449 not set, the hidden service is not accessible. Hidden services
450 can be configured to require authorization using the HiddenSer‐
451 viceAuthorizeClient option.
452
453 ReachableAddresses ADDR[/MASK][:PORT]...
454 A comma-separated list of IP addresses and ports that your fire‐
455 wall allows you to connect to. The format is as for the
456 addresses in ExitPolicy, except that "accept" is understood
457 unless "reject" is explicitly provided. For example, 'Reach‐
458 ableAddresses 99.0.0.0/8, reject 18.0.0.0/8:80, accept *:80'
459 means that your firewall allows connections to everything inside
460 net 99, rejects port 80 connections to net 18, and accepts con‐
461 nections to port 80 otherwise. (Default: 'accept *:*'.)
462
463 ReachableDirAddresses ADDR[/MASK][:PORT]...
464 Like ReachableAddresses, a list of addresses and ports. Tor
465 will obey these restrictions when fetching directory informa‐
466 tion, using standard HTTP GET requests. If not set explicitly
467 then the value of ReachableAddresses is used. If HTTPProxy is
468 set then these connections will go through that proxy.
469
470 ReachableORAddresses ADDR[/MASK][:PORT]...
471 Like ReachableAddresses, a list of addresses and ports. Tor
472 will obey these restrictions when connecting to Onion Routers,
473 using TLS/SSL. If not set explicitly then the value of Reach‐
474 ableAddresses is used. If HTTPSProxy is set then these connec‐
475 tions will go through that proxy.
476
477 The separation between ReachableORAddresses and ReachableDirAd‐
478 dresses is only interesting when you are connecting through
479 proxies (see HTTPProxy and HTTPSProxy). Most proxies limit TLS
480 connections (which Tor uses to connect to Onion Routers) to port
481 443, and some limit HTTP GET requests (which Tor uses for fetch‐
482 ing directory information) to port 80.
483
484 LongLivedPorts PORTS
485 A list of ports for services that tend to have long-running con‐
486 nections (e.g. chat and interactive shells). Circuits for
487 streams that use these ports will contain only high-uptime
488 nodes, to reduce the chance that a node will go down before the
489 stream is finished. (Default: 21, 22, 706, 1863, 5050, 5190,
490 5222, 5223, 6667, 6697, 8300)
491
492 MapAddress address newaddress
493 When a request for address arrives to Tor, it will rewrite it to
494 newaddress before processing it. For example, if you always want
495 connections to www.indymedia.org to exit via torserver (where
496 torserver is the nickname of the server), use "MapAddress
497 www.indymedia.org www.indymedia.org.torserver.exit".
498
499 NewCircuitPeriod NUM
500 Every NUM seconds consider whether to build a new circuit.
501 (Default: 30 seconds)
502
503 MaxCircuitDirtiness NUM
504 Feel free to reuse a circuit that was first used at most NUM
505 seconds ago, but never attach a new stream to a circuit that is
506 too old. (Default: 10 minutes)
507
508 NodeFamily node,node,...
509 The Tor servers, defined by their identity fingerprints or nick‐
510 names, constitute a "family" of similar or co-administered
511 servers, so never use any two of them in the same circuit.
512 Defining a NodeFamily is only needed when a server doesn't list
513 the family itself (with MyFamily). This option can be used mul‐
514 tiple times.
515
516 EnforceDistinctSubnets 0|1
517 If 1, Tor will not put two servers whose IP addresses are "too
518 close" on the same circuit. Currently, two addresses are "too
519 close" if they lie in the same /16 range. (Default: 1)
520
521
522 SocksPort PORT
523 Advertise this port to listen for connections from Socks-speak‐
524 ing applications. Set this to 0 if you don't want to allow
525 application connections. (Default: 9050)
526
527 SocksListenAddress IP[:PORT]
528 Bind to this address to listen for connections from Socks-speak‐
529 ing applications. (Default: 127.0.0.1) You can also specify a
530 port (e.g. 192.168.0.1:9100). This directive can be specified
531 multiple times to bind to multiple addresses/ports.
532
533 SocksPolicy policy,policy,...
534 Set an entrance policy for this server, to limit who can connect
535 to the SocksPort and DNSPort ports. The policies have the same
536 form as exit policies below.
537
538 SocksTimeout NUM
539 Let a socks connection wait NUM seconds handshaking, and NUM
540 seconds unattached waiting for an appropriate circuit, before we
541 fail it. (Default: 2 minutes.)
542
543 TrackHostExits host,.domain,...
544 For each value in the comma separated list, Tor will track
545 recent connections to hosts that match this value and attempt to
546 reuse the same exit node for each. If the value is prepended
547 with a '.', it is treated as matching an entire domain. If one
548 of the values is just a '.', it means match everything. This
549 option is useful if you frequently connect to sites that will
550 expire all your authentication cookies (i.e. log you out) if
551 your IP address changes. Note that this option does have the
552 disadvantage of making it more clear that a given history is
553 associated with a single user. However, most people who would
554 wish to observe this will observe it through cookies or other
555 protocol-specific means anyhow.
556
557 TrackHostExitsExpire NUM
558 Since exit servers go up and down, it is desirable to expire the
559 association between host and exit server after NUM seconds. The
560 default is 1800 seconds (30 minutes).
561
562 UpdateBridgesFromAuthority 0|1
563 When set (along with UseBridges), Tor will try to fetch bridge
564 descriptors from the configured bridge authorities when feasi‐
565 ble. It will fall back to a direct request if the authority
566 responds with a 404. (Default: 0)
567
568 UseBridges 0|1
569 When set, Tor will fetch descriptors for each bridge listed in
570 the "Bridge" config lines, and use these relays as both entry
571 guards and directory guards. (Default: 0)
572
573 UseEntryGuards 0|1
574 If this option is set to 1, we pick a few long-term entry
575 servers, and try to stick with them. This is desirable because
576 constantly changing servers increases the odds that an adversary
577 who owns some servers will observe a fraction of your paths.
578 (Defaults to 1.)
579
580 NumEntryGuards NUM
581 If UseEntryGuards is set to 1, we will try to pick a total of
582 NUM routers as long-term entries for our circuits. (Defaults to
583 3.)
584
585 SafeSocks 0|1
586 When this option is enabled, Tor will reject application connec‐
587 tions that use unsafe variants of the socks protocol -- ones
588 that only provide an IP address, meaning the application is
589 doing a DNS resolve first. Specifically, these are socks4 and
590 socks5 when not doing remote DNS. (Defaults to 0.)
591
592 TestSocks 0|1
593 When this option is enabled, Tor will make a notice-level log
594 entry for each connection to the Socks port indicating whether
595 the request used a safe socks protocol or an unsafe one (see
596 above entry on SafeSocks). This helps to determine whether an
597 application using Tor is possibly leaking DNS requests.
598 (Default: 0)
599
600 VirtualAddrNetwork Address/bits
601 When a controller asks for a virtual (unused) address with the
602 MAPADDRESS command, Tor picks an unassigned address from this
603 range. (Default: 127.192.0.0/10)
604
605 When providing proxy server service to a network of computers
606 using a tool like dns-proxy-tor, change this address to
607 "10.192.0.0/10" or "172.16.0.0/12". The default VirtualAddrNet‐
608 work address range on a properly configured machine will route
609 to the loopback interface. For local use, no change to the
610 default VirtualAddrNetwork setting is needed.
611
612 AllowNonRFC953Hostnames 0|1
613 When this option is disabled, Tor blocks hostnames containing
614 illegal characters (like @ and :) rather than sending them to an
615 exit node to be resolved. This helps trap accidental attempts
616 to resolve URLs and so on. (Default: 0)
617
618 FastFirstHopPK 0|1
619 When this option is disabled, Tor uses the public key step for
620 the first hop of creating circuits. Skipping it is generally
621 safe since we have already used TLS to authenticate the relay
622 and to establish forward-secure keys. Turning this option off
623 makes circuit building slower.
624
625 Note that Tor will always use the public key step for the first
626 hop if it's operating as a relay, and it will never use the pub‐
627 lic key step if it doesn't yet know the onion key of the first
628 hop. (Default: 1)
629
630 TransPort PORT
631 If non-zero, enables transparent proxy support on PORT (by con‐
632 vention, 9040). Requires OS support for transparent proxies,
633 such as BSDs' pf or Linux's IPTables. If you're planning to use
634 Tor as a transparent proxy for a network, you'll want to examine
635 and change VirtualAddrNetwork from the default setting. You'll
636 also want to set the TransListenAddress option for the network
637 you'd like to proxy. (Default: 0).
638
639 TransListenAddress IP[:PORT]
640 Bind to this address to listen for transparent proxy connec‐
641 tions. (Default: 127.0.0.1). This is useful for exporting a
642 transparent proxy server to an entire network.
643
644 NATDPort PORT
645 Allow old versions of ipfw (as included in old versions of Free‐
646 BSD, etc.) to send connections through Tor using the NATD proto‐
647 col. This option is only for people who cannot use TransPort.
648
649 NATDListenAddress IP[:PORT]
650 Bind to this address to listen for NATD connections. (Default:
651 127.0.0.1).
652
653 AutomapHostsOnResolve 0|1
654 When this option is enabled, and we get a request to resolve an
655 address that ends with one of the suffixes in AutomapHostsSuf‐
656 fixes, we map an unused virtual address to that address, and
657 return the new virtual address. This is handy for making
658 ".onion" addresses work with applications that resolve an
659 address and then connect to it. (Default: 0).
660
661 AutomapHostsSuffixes SUFFIX,SUFFIX,...
662 A comma-separated list of suffixes to use with AutomapHostsOnRe‐
663 solve. The "." suffix is equivalent to "all addresses."
664 (Default: .exit,.onion).
665
666 DNSPort PORT
667 If non-zero, Tor listens for UDP DNS requests on this port and
668 resolves them anonymously. (Default: 0).
669
670 DNSListenAddress IP[:PORT]
671 Bind to this address to listen for DNS connections. (Default:
672 127.0.0.1).
673
674 ClientDNSRejectInternalAddresses 0|1
675 If true, Tor does not believe any anonymously retrieved DNS
676 answer that tells it that an address resolves to an internal
677 address (like 127.0.0.1 or 192.168.0.1). This option prevents
678 certain browser-based attacks; don't turn it off unless you know
679 what you're doing. (Default: 1).
680
681 DownloadExtraInfo 0|1
682 If true, Tor downloads and caches "extra-info" documents. These
683 documents contain information about servers other than the
684 information in their regular router descriptors. Tor does not
685 use this information for anything itself; to save bandwidth,
686 leave this option turned off. (Default: 0).
687
688 FallbackNetworkstatusFile FILENAME
689 If Tor doesn't have a cached networkstatus file, it starts out
690 using this one instead. Even if this file is out of date, Tor
691 can still use it to learn about directory mirrors, so it doesn't
692 need to put load on the authorities. (Default: None).
693
694 WarnPlaintextPorts port,port,...
695 Tells Tor to issue a warnings whenever the user tries to make an
696 anonymous connection to one of these ports. This option is
697 designed to alert users to services that risk sending passwords
698 in the clear. (Default: 23,109,110,143).
699
700 RejectPlaintextPorts port,port,...
701 Like WarnPlaintextPorts, but instead of warning about risky port
702 uses, Tor will instead refuse to make the connection. (Default:
703 None).
704
705
707 The following options are useful only for servers (that is, if ORPort
708 is non-zero):
709
710 Address address
711 The IP address or fully qualified domain name of this server
712 (e.g. moria.mit.edu). You can leave this unset, and Tor will
713 guess your IP address.
714
715 AllowSingleHopExits 0|1
716 This option controls whether clients can use this server as a
717 single hop proxy. If set to 1, clients can use this server as
718 an exit even if it is the only hop in the circuit. (Default: 0)
719
720 AssumeReachable 0|1
721 This option is used when bootstrapping a new Tor network. If set
722 to 1, don't do self-reachability testing; just upload your
723 server descriptor immediately. If AuthoritativeDirectory is also
724 set, this option instructs the dirserver to bypass remote reach‐
725 ability testing too and list all connected servers as running.
726
727 BridgeRelay 0|1
728 Sets the relay to act as a "bridge" with respect to relaying
729 connections from bridge users to the Tor network. Mainly it
730 influences how the relay will cache and serve directory informa‐
731 tion. Usually used in combination with PublishServerDescriptor.
732
733 ContactInfo email_address
734 Administrative contact information for server. This line might
735 get picked up by spam harvesters, so you may want to obscure the
736 fact that it's an email address.
737
738 ExitPolicy policy,policy,...
739 Set an exit policy for this server. Each policy is of the form
740 "accept|reject ADDR[/MASK][:PORT]". If /MASK is omitted then
741 this policy just applies to the host given. Instead of giving a
742 host or network you can also use "*" to denote the universe
743 (0.0.0.0/0). PORT can be a single port number, an interval of
744 ports "FROM_PORT-TO_PORT", or "*". If PORT is omitted, that
745 means "*".
746
747 For example, "accept 18.7.22.69:*,reject 18.0.0.0/8:*,accept
748 *:*" would reject any traffic destined for MIT except for
749 web.mit.edu, and accept anything else.
750
751 To specify all internal and link-local networks (including
752 0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8, 192.168.0.0/16,
753 10.0.0.0/8, and 172.16.0.0/12), you can use the "private" alias
754 instead of an address. These addresses are rejected by default
755 (at the beginning of your exit policy), along with your public
756 IP address, unless you set the ExitPolicyRejectPrivate config
757 option to 0. For example, once you've done that, you could allow
758 HTTP to 127.0.0.1 and block all other connections to internal
759 networks with "accept 127.0.0.1:80,reject private:*", though
760 that may also allow connections to your own computer that are
761 addressed to its public (external) IP address. See RFC 1918 and
762 RFC 3330 for more details about internal and reserved IP address
763 space.
764
765 This directive can be specified multiple times so you don't have
766 to put it all on one line.
767
768 Policies are considered first to last, and the first match wins.
769 If you want to _replace_ the default exit policy, end your exit
770 policy with either a reject *:* or an accept *:*. Otherwise,
771 you're _augmenting_ (prepending to) the default exit policy. The
772 default exit policy is:
773 reject *:25
774 reject *:119
775 reject *:135-139
776 reject *:445
777 reject *:563
778 reject *:1214
779 reject *:4661-4666
780 reject *:6346-6429
781 reject *:6699
782 reject *:6881-6999
783 accept *:*
784
785 ExitPolicyRejectPrivate 0|1
786 Reject all private (local) networks, along with your own public
787 IP address, at the beginning of your exit policy. See above
788 entry on ExitPolicy. (Default: 1)
789
790 MaxOnionsPending NUM
791 If you have more than this number of onionskins queued for
792 decrypt, reject new ones. (Default: 100)
793
794 MyFamily node,node,...
795 Declare that this Tor server is controlled or administered by a
796 group or organization identical or similar to that of the other
797 servers, defined by their identity fingerprints or nicknames.
798 When two servers both declare that they are in the same 'fam‐
799 ily', Tor clients will not use them in the same circuit. (Each
800 server only needs to list the other servers in its family; it
801 doesn't need to list itself, but it won't hurt.)
802
803 Nickname name
804 Set the server's nickname to 'name'. Nicknames must be between 1
805 and 19 characters inclusive, and must contain only the charac‐
806 ters [a-zA-Z0-9].
807
808 NumCPUs num
809 How many processes to use at once for decrypting onionskins.
810 (Default: 1)
811
812 ORPort PORT
813 Advertise this port to listen for connections from Tor clients
814 and servers.
815
816 ORListenAddress IP[:PORT]
817 Bind to this IP address to listen for connections from Tor
818 clients and servers. If you specify a port, bind to this port
819 rather than the one specified in ORPort. (Default: 0.0.0.0) This
820 directive can be specified multiple times to bind to multiple
821 addresses/ports.
822
823 PublishServerDescriptor 0|1|v1|v2|v3|bridge, ...
824 This option is only considered if you have an ORPort defined.
825 You can choose multiple arguments, separated by commas.
826
827 If set to 0, Tor will act as a server but it will not publish
828 its descriptor to the directory authorities. (This is useful if
829 you're testing out your server, or if you're using a Tor con‐
830 troller that handles directory publishing for you.) Otherwise,
831 Tor will publish its descriptor to all directory authorities of
832 the type(s) specified. The value "1" is the default, which means
833 "publish to the appropriate authorities".
834
835 ShutdownWaitLength NUM
836 When we get a SIGINT and we're a server, we begin shutting down:
837 we close listeners and start refusing new circuits. After NUM
838 seconds, we exit. If we get a second SIGINT, we exit immedi‐
839 ately. (Default: 30 seconds)
840
841 AccountingMax N bytes|KB|MB|GB|TB
842 Never send more than the specified number of bytes in a given
843 accounting period, or receive more than that number in the
844 period. For example, with AccountingMax set to 1 GB, a server
845 could send 900 MB and receive 800 MB and continue running. It
846 will only hibernate once one of the two reaches 1 GB. When the
847 number of bytes is exhausted, Tor will hibernate until some time
848 in the next accounting period. To prevent all servers from wak‐
849 ing at the same time, Tor will also wait until a random point in
850 each period before waking up. If you have bandwidth cost
851 issues, enabling hibernation is preferable to setting a low
852 bandwidth, since it provides users with a collection of fast
853 servers that are up some of the time, which is more useful than
854 a set of slow servers that are always "available".
855
856 AccountingStart day|week|month [day] HH:MM
857 Specify how long accounting periods last. If month is given,
858 each accounting period runs from the time HH:MM on the dayth day
859 of one month to the same day and time of the next. (The day
860 must be between 1 and 28.) If week is given, each accounting
861 period runs from the time HH:MM of the dayth day of one week to
862 the same day and time of the next week, with Monday as day 1 and
863 Sunday as day 7. If day is given, each accounting period runs
864 from the time HH:MM each day to the same time on the next day.
865 All times are local, and given in 24-hour time. (Defaults to
866 "month 1 0:00".)
867
868 ServerDNSResolvConfFile filename
869 Overrides the default DNS configuration with the configuration
870 in filename. The file format is the same as the standard Unix
871 "resolv.conf" file (7). This option, like all other ServerDNS
872 options, only affects name lookups that your server does on
873 behalf of clients. (Defaults to use the system DNS configura‐
874 tion.)
875
876 ServerDNSAllowBrokenConfig 0|1
877 If this option is false, Tor exits immediately if there are
878 problems parsing the system DNS configuration or connecting to
879 nameservers. Otherwise, Tor continues to periodically retry the
880 system nameservers until it eventually succeeds. (Defaults to
881 "1".)
882
883 ServerDNSSearchDomains 0|1
884 If set to 1, then we will search for addresses in the local
885 search domain. For example, if this system is configured to
886 believe it is in "example.com", and a client tries to connect to
887 "www", the client will be connected to "www.example.com". This
888 option only affects name lookups that your server does on behalf
889 of clients. (Defaults to "0".)
890
891 ServerDNSDetectHijacking 0|1
892 When this option is set to 1, we will test periodically to
893 determine whether our local nameservers have been configured to
894 hijack failing DNS requests (usually to an advertising site).
895 If they are, we will attempt to correct this. This option only
896 affects name lookups that your server does on behalf of clients.
897 (Defaults to "1".)
898
899 ServerDNSTestAddresses address,address,...
900 When we're detecting DNS hijacking, make sure that these valid
901 addresses aren't getting redirected. If they are, then our DNS
902 is completely useless, and we'll reset our exit policy to
903 "reject *:*". This option only affects name lookups that your
904 server does on behalf of clients. (Defaults to "www.google.com,
905 www.mit.edu, www.yahoo.com, www.slashdot.org".)
906
907 ServerDNSAllowNonRFC953Hostnames 0|1
908 When this option is disabled, Tor does not try to resolve host‐
909 names containing illegal characters (like @ and :) rather than
910 sending them to an exit node to be resolved. This helps trap
911 accidental attempts to resolve URLs and so on. This option only
912 affects name lookups that your server does on behalf of clients.
913 (Default: 0)
914
915 BridgeRecordUsageByCountry 0|1
916 When this option is enabled and BridgeRelay is also enabled, and
917 we have GeoIP data, Tor keeps a keep a per-country count of how
918 many client addresses have contacted it so that it can help the
919 bridge authority guess which countries have blocked access to
920 it. (Default: 1)
921
922 ServerDNSRandomizeCase 0|1
923 When this option is set, Tor sets the case of each character
924 randomly in outgoing DNS requests, and makes sure that the case
925 matches in DNS replies. This so-called "0x20 hack" helps resist
926 some types of DNS poisoning attack. For more information, see
927 "Increased DNS Forgery Resistance through 0x20-Bit Encoding".
928 This option only affects name lookups that your server does on
929 behalf of clients. (Default: 1)
930
931 GeoIPFile filename
932 A filename containing GeoIP data, for use with BridgeRecor‐
933 dUsageByCountry.
934
935
937 The following options are useful only for directory servers (that is,
938 if DirPort is non-zero):
939
940 AuthoritativeDirectory 0|1
941 When this option is set to 1, Tor operates as an authoritative
942 directory server. Instead of caching the directory, it gener‐
943 ates its own list of good servers, signs it, and sends that to
944 the clients. Unless the clients already have you listed as a
945 trusted directory, you probably do not want to set this option.
946 Please coordinate with the other admins at tor-ops@freehaven.net
947 if you think you should be a directory.
948
949 DirPortFrontPage FILENAME
950 When this option is set, it takes an HTML file and publishes it
951 as "/" on the DirPort. Now relay operators can provide a dis‐
952 claimer without needing to set up a separate webserver. There's
953 a sample disclaimer in contrib/tor-exit-notice.html.
954
955 V1AuthoritativeDirectory 0|1
956 When this option is set in addition to AuthoritativeDirectory,
957 Tor generates version 1 directory and running-routers documents
958 (for legacy Tor clients up to 0.1.0.x).
959
960 V2AuthoritativeDirectory 0|1
961 When this option is set in addition to AuthoritativeDirectory,
962 Tor generates version 2 network statuses and serves descriptors,
963 etc as described in doc/spec/dir-spec-v2.txt (for Tor clients
964 and servers running 0.1.1.x and 0.1.2.x).
965
966 V3AuthoritativeDirectory 0|1
967 When this option is set in addition to AuthoritativeDirectory,
968 Tor generates version 3 network statuses and serves descriptors,
969 etc as described in doc/spec/dir-spec.txt (for Tor clients and
970 servers running at least 0.2.0.x).
971
972 VersioningAuthoritativeDirectory 0|1
973 When this option is set to 1, Tor adds information on which ver‐
974 sions of Tor are still believed safe for use to the published
975 directory. Each version 1 authority is automatically a version‐
976 ing authority; version 2 authorities provide this service
977 optionally. See RecommendedVersions, RecommendedClientVersions,
978 and RecommendedServerVersions.
979
980 NamingAuthoritativeDirectory 0|1
981 When this option is set to 1, then the server advertises that it
982 has opinions about nickname-to-fingerprint bindings. It will
983 include these opinions in its published network-status pages, by
984 listing servers with the flag "Named" if a correct binding
985 between that nickname and fingerprint has been registered with
986 the dirserver. Naming dirservers will refuse to accept or pub‐
987 lish descriptors that contradict a registered binding. See
988 approved-routers in the FILES section below.
989
990 HSAuthoritativeDir 0|1
991 When this option is set in addition to AuthoritativeDirectory,
992 Tor also accepts and serves hidden service descriptors.
993 (Default: 0)
994
995 HSAuthorityRecordStats 0|1
996 When this option is set in addition to HSAuthoritativeDir, Tor
997 periodically (every 15 minutes) writes statistics about hidden
998 service usage to a file hsusage in its data directory.
999 (Default: 0)
1000
1001 HidServDirectoryV2 0|1
1002 When this option is set, Tor accepts and serves v2 hidden ser‐
1003 vice descriptors. Setting DirPort is not required for this,
1004 because clients connect via the ORPort by default. (Default: 1)
1005
1006 BridgeAuthoritativeDir 0|1
1007 When this option is set in addition to AuthoritativeDirectory,
1008 Tor accepts and serves router descriptors, but it caches and
1009 serves the main networkstatus documents rather than generating
1010 its own. (Default: 0)
1011
1012 MinUptimeHidServDirectoryV2 N seconds|minutes|hours|days|weeks
1013 Minimum uptime of a v2 hidden service directory to be accepted
1014 as such by authoritative directories. (Default: 24 hours)
1015
1016 DirPort PORT
1017 Advertise the directory service on this port.
1018
1019 DirListenAddress IP[:PORT]
1020 Bind the directory service to this address. If you specify a
1021 port, bind to this port rather than the one specified in Dir‐
1022 Port. (Default: 0.0.0.0) This directive can be specified multi‐
1023 ple times to bind to multiple addresses/ports.
1024
1025 DirPolicy policy,policy,...
1026 Set an entrance policy for this server, to limit who can connect
1027 to the directory ports. The policies have the same form as exit
1028 policies above.
1029
1030
1032 RecommendedVersions STRING
1033 STRING is a comma-separated list of Tor versions currently
1034 believed to be safe. The list is included in each directory, and
1035 nodes which pull down the directory learn whether they need to
1036 upgrade. This option can appear multiple times: the values from
1037 multiple lines are spliced together. When this is set then Ver‐
1038 sioningAuthoritativeDirectory should be set too.
1039
1040 RecommendedClientVersions STRING
1041 STRING is a comma-separated list of Tor versions currently
1042 believed to be safe for clients to use. This information is
1043 included in version 2 directories. If this is not set then the
1044 value of RecommendedVersions is used. When this is set then
1045 VersioningAuthoritativeDirectory should be set too.
1046
1047 RecommendedServerVersions STRING
1048 STRING is a comma-separated list of Tor versions currently
1049 believed to be safe for servers to use. This information is
1050 included in version 2 directories. If this is not set then the
1051 value of RecommendedVersions is used. When this is set then
1052 VersioningAuthoritativeDirectory should be set too.
1053
1054 DirAllowPrivateAddresses 0|1
1055 If set to 1, Tor will accept router descriptors with arbitrary
1056 "Address" elements. Otherwise, if the address is not an IP
1057 address or is a private IP address, it will reject the router
1058 descriptor. Defaults to 0.
1059
1060 AuthDirBadDir AddressPattern...
1061 Authoritative directories only. A set of address patterns for
1062 servers that will be listed as bad directories in any network
1063 status document this authority publishes, if AuthDirListBadDirs
1064 is set.
1065
1066 AuthDirBadExit AddressPattern...
1067 Authoritative directories only. A set of address patterns for
1068 servers that will be listed as bad exits in any network status
1069 document this authority publishes, if AuthDirListBadExits is
1070 set.
1071
1072 AuthDirInvalid AddressPattern...
1073 Authoritative directories only. A set of address patterns for
1074 servers that will never be listed as "valid" in any network sta‐
1075 tus document that this authority publishes.
1076
1077 AuthDirReject AddressPattern...
1078 Authoritative directories only. A set of address patterns for
1079 servers that will never be listed at all in any network status
1080 document that this authority publishes, or accepted as an OR
1081 address in any descriptor submitted for publication by this
1082 authority.
1083
1084 AuthDirListBadDirs 0|1
1085 Authoritative directories only. If set to 1, this directory has
1086 some opinion about which nodes are unsuitable as directory
1087 caches. (Do not set this to 1 unless you plan to list non-func‐
1088 tioning directories as bad; otherwise, you are effectively vot‐
1089 ing in favor of every declared directory.)
1090
1091 AuthDirListBadExits 0|1
1092 Authoritative directories only. If set to 1, this directory has
1093 some opinion about which nodes are unsuitable as exit nodes.
1094 (Do not set this to 1 unless you plan to list non-functioning
1095 exits as bad; otherwise, you are effectively voting in favor of
1096 every declared exit as an exit.)
1097
1098 AuthDirRejectUnlisted 0|1
1099 Authoritative directories only. If set to 1, the directory
1100 server rejects all uploaded server descriptors that aren't
1101 explicitly listed in the fingerprints file. This acts as a
1102 "panic button" if we get hit with a Sybil attack. (Default: 0)
1103
1104 AuthDirMaxServersPerAddr NUM
1105 Authoritative directories only. The maximum number of servers
1106 that we will list as acceptable on a single IP address. Set
1107 this to "0" for "no limit". (Default: 2)
1108
1109 AuthDirMaxServersPerAuthAddr NUM
1110 Authoritative directories only. Like AuthDirMaxServersPerAddr,
1111 but applies to addresses shared with directory authorities.
1112 (Default: 5)
1113
1114 V3AuthVotingInterval N minutes|hours
1115 V3 authoritative directories only. Configures the server's pre‐
1116 ferred voting interval. Note that voting will actually happen
1117 at an interval chosen by consensus from all the authorities'
1118 preferred intervals. This time SHOULD divide evenly into a day.
1119 (Default: 1 hour)
1120
1121 V3AuthVoteDelay N minutes|hours
1122 V3 authoritative directories only. Configures the server's pre‐
1123 ferred delay between publishing its vote and assuming it has all
1124 the votes from all the other authorities. Note that the actual
1125 time used is not the server's preferred time, but the consensus
1126 of all preferences. (Default: 5 minutes.)
1127
1128 V3AuthDistDelay N minutes|hours
1129 V3 authoritative directories only. Configures the server's pre‐
1130 ferred delay between publishing its consensus and signature and
1131 assuming it has all the signatures from all the other authori‐
1132 ties. Note that the actual time used is not the server's pre‐
1133 ferred time, but the consensus of all preferences. (Default: 5
1134 minutes.)
1135
1136 V3AuthNIntervalsValid NUM
1137 V3 authoritative directories only. Configures the number of
1138 VotingIntervals for which each consensus should be valid for.
1139 Choosing high numbers increases network partitioning risks;
1140 choosing low numbers increases directory traffic. Note that the
1141 actual number of intervals used is not the server's preferred
1142 number, but the consensus of all preferences. Must be at least
1143 2. (Default: 3.)
1144
1145
1146
1148 The following options are used to configure a hidden service.
1149
1150 HiddenServiceDir DIRECTORY
1151 Store data files for a hidden service in DIRECTORY. Every hid‐
1152 den service must have a separate directory. You may use this
1153 option multiple times to specify multiple services.
1154
1155 HiddenServicePort VIRTPORT [TARGET]
1156 Configure a virtual port VIRTPORT for a hidden service. You may
1157 use this option multiple times; each time applies to the service
1158 using the most recent hiddenservicedir. By default, this option
1159 maps the virtual port to the same port on 127.0.0.1. You may
1160 override the target port, address, or both by specifying a tar‐
1161 get of addr, port, or addr:port. You may also have multiple
1162 lines with the same VIRTPORT: when a user connects to that VIRT‐
1163 PORT, one of the TARGETs from those lines will be chosen at ran‐
1164 dom.
1165
1166 PublishHidServDescriptors 0|1
1167 If set to 0, Tor will run any hidden services you configure, but
1168 it won't advertise them to the rendezvous directory. This option
1169 is only useful if you're using a Tor controller that handles
1170 hidserv publishing for you. (Default: 1)
1171
1172 HiddenServiceVersion version,version,...
1173 A list of rendezvous service descriptor versions to publish for
1174 the hidden service. Possible version numbers are 0 and 2.
1175 (Default: 0, 2)
1176
1177 HiddenServiceAuthorizeClient auth-type client-name,client-name,...
1178 If configured, the hidden service is accessible for authorized
1179 clients only. The auth-type can either be 'basic' for a general-
1180 purpose authorization protocol or 'stealth' for a less scalable
1181 protocol that also hides service activity from unauthorized
1182 clients. Only clients that are listed here are authorized to
1183 access the hidden service. Valid client names are 1 to 19 char‐
1184 acters long and only use characters in A-Za-z0-9+-_ (no spaces).
1185 If this option is set, the hidden service is not accessible for
1186 clients without authorization any more. Generated authorization
1187 data can be found in the hostname file. Clients need to put this
1188 authorization data in their configuration file using HidSer‐
1189 vAuth.
1190
1191 RendPostPeriod N seconds|minutes|hours|days|weeks
1192 Every time the specified period elapses, Tor uploads any ren‐
1193 dezvous service descriptors to the directory servers. This
1194 information is also uploaded whenever it changes. (Default: 20
1195 minutes)
1196
1197
1199 The following options are used for running a testing Tor network.
1200
1201 TestingTorNetwork 0|1
1202 If set to 1, Tor adjusts default values of the configuration
1203 options below, so that it is easier to set up a testing Tor net‐
1204 work. May only be set if non-default set of DirServers is set.
1205 Cannot be unset while Tor is running. (Default: 0)
1206
1207 ServerDNSAllowBrokenConfig 1
1208 DirAllowPrivateAddresses 1
1209 EnforceDistinctSubnets 0
1210 AssumeReachable 1
1211 AuthDirMaxServersPerAddr 0
1212 AuthDirMaxServersPerAuthAddr 0
1213 ClientDNSRejectInternalAddresses 0
1214 ExitPolicyRejectPrivate 0
1215 V3AuthVotingInterval 5 minutes
1216 V3AuthVoteDelay 20 seconds
1217 V3AuthDistDelay 20 seconds
1218 TestingV3AuthInitialVotingInterval 5 minutes
1219 TestingV3AuthInitialVoteDelay 20 seconds
1220 TestingV3AuthInitialDistDelay 20 seconds
1221 TestingAuthDirTimeToLearnReachability 0 minutes
1222 TestingEstimatedDescriptorPropagationTime 0 minutes
1223
1224 TestingV3AuthInitialVotingInterval N minutes|hours
1225 Like V3AuthVotingInterval, but for initial voting interval
1226 before the first consensus has been created. Changing this
1227 requires that TestingTorNetwork is set. (Default: 30 minutes)
1228
1229 TestingV3AuthInitialVoteDelay N minutes|hours
1230 Like TestingV3AuthInitialVoteDelay, but for initial voting
1231 interval before the first consensus has been created. Changing
1232 this requires that TestingTorNetwork is set. (Default: 5 min‐
1233 utes)
1234
1235 TestingV3AuthInitialDistDelay N minutes|hours
1236 Like TestingV3AuthInitialDistDelay, but for initial voting
1237 interval before the first consensus has been created. Changing
1238 this requires that TestingTorNetwork is set. (Default: 5 min‐
1239 utes)
1240
1241 TestingAuthDirTimeToLearnReachability N minutes|hours
1242 After starting as an authority, do not make claims about whether
1243 routers are Running until this much time has passed. Changing
1244 this requires thatTestingTorNetwork is set. (Default: 30 min‐
1245 utes)
1246
1247 TestingEstimatedDescriptorPropagationTime N minutes|hours
1248 Clients try downloading router descriptors from directory caches
1249 after this time. Changing this requires that TestingTorNetwork
1250 is set. (Default: 10 minutes)
1251
1252
1253
1255 Tor catches the following signals:
1256
1257 SIGTERM
1258 Tor will catch this, clean up and sync to disk if necessary, and
1259 exit.
1260
1261 SIGINT Tor clients behave as with SIGTERM; but Tor servers will do a
1262 controlled slow shutdown, closing listeners and waiting 30 sec‐
1263 onds before exiting. (The delay can be configured with the
1264 ShutdownWaitLength config option.)
1265
1266 SIGHUP The signal instructs Tor to reload its configuration (including
1267 closing and reopening logs), fetch a new directory, and kill and
1268 restart its helper processes if applicable.
1269
1270 SIGUSR1
1271 Log statistics about current connections, past connections, and
1272 throughput.
1273
1274 SIGUSR2
1275 Switch all logs to loglevel debug. You can go back to the old
1276 loglevels by sending a SIGHUP.
1277
1278 SIGCHLD
1279 Tor receives this signal when one of its helper processes has
1280 exited, so it can clean up.
1281
1282 SIGPIPE
1283 Tor catches this signal and ignores it.
1284
1285 SIGXFSZ
1286 If this signal exists on your platform, Tor catches and ignores
1287 it.
1288
1289
1291 /etc/tor/torrc
1292 The configuration file, which contains "option value" pairs.
1293
1294 /var/lib/tor/
1295 The tor process stores keys and other data here.
1296
1297 DataDirectory/cached-status/*
1298 The most recently downloaded network status document for each
1299 authority. Each file holds one such document; the filenames are
1300 the hexadecimal identity key fingerprints of the directory
1301 authorities.
1302
1303 DataDirectory/cached-descriptors and cached-descriptors.new
1304 These files hold downloaded router statuses. Some routers may
1305 appear more than once; if so, the most recently published
1306 descriptor is used. Lines beginning with @-signs are annota‐
1307 tions that contain more information about a given router. The
1308 ".new" file is an append-only journal; when it gets too large,
1309 all entries are merged into a new cached-routers file.
1310
1311 DataDirectory/cached-routers and cached-routers.new
1312 Obsolete versions of cached-descriptors and cached-descrip‐
1313 tors.new. When Tor can't find the newer files, it looks here
1314 instead.
1315
1316 DataDirectory/state
1317 A set of persistent key-value mappings. These are documented in
1318 the file. These include:
1319 - The current entry guards and their status.
1320 - The current bandwidth accounting values (unused so far; see
1321 below).
1322 - When the file was last written
1323 - What version of Tor generated the state file
1324 - A short history of bandwidth usage, as produced in the router
1325 descriptors.
1326
1327 DataDirectory/bw_accounting
1328 Used to track bandwidth accounting values (when the current
1329 period starts and ends; how much has been read and written so
1330 far this period). This file is obsolete, and the data is now
1331 stored in the 'state' file as well. Only used when bandwidth
1332 accounting is enabled.
1333
1334 DataDirectory/hsusage
1335 Used to track hidden service usage in terms of fetch and publish
1336 requests to this hidden service authoritative directory. Only
1337 used when recording of statistics is enabled.
1338
1339 DataDirectory/control_auth_cookie
1340 Used for cookie authentication with the controller. Location can
1341 be overridden by the CookieAuthFile config option. Regenerated
1342 on startup. See control-spec.txt for details. Only used when
1343 cookie authentication is enabled.
1344
1345 DataDirectory/keys/*
1346 Only used by servers. Holds identity keys and onion keys.
1347
1348 DataDirectory/fingerprint
1349 Only used by servers. Holds the fingerprint of the server's
1350 identity key.
1351
1352 DataDirectory/approved-routers
1353 Only for naming authoritative directory servers (see NamingAu‐
1354 thoritativeDirectory). This file lists nickname to identity
1355 bindings. Each line lists a nickname and a fingerprint sepa‐
1356 rated by whitespace. See your fingerprint file in the DataDi‐
1357 rectory for an example line. If the nickname is !reject then
1358 descriptors from the given identity (fingerprint) are rejected
1359 by this server. If it is !invalid then descriptors are accepted
1360 but marked in the directory as not valid, that is, not recom‐
1361 mended.
1362
1363 DataDirectory/router-stability
1364 Only used by authoritative directory servers. Tracks measure‐
1365 ments for router mean-time-between-failures so that authorities
1366 have a good idea of how to set their Stable flags.
1367
1368 HiddenServiceDirectory/hostname
1369 The <base32-encoded-fingerprint>.onion domain name for this hid‐
1370 den service. If the hidden service is restricted to authorized
1371 clients only, this file also contains authorization data for all
1372 clients.
1373
1374 HiddenServiceDirectory/private_key
1375 The private key for this hidden service.
1376
1377 HiddenServiceDirectory/client_keys
1378 Authorization data for a hidden service that is only accessible
1379 by authorized clients.
1380
1382 privoxy(1), tsocks(1), torify(1)
1383
1384 https://www.torproject.org/
1385
1386
1388 Plenty, probably. Tor is still in development. Please report them.
1389
1391 Roger Dingledine <arma@mit.edu>, Nick Mathewson <nickm@alum.mit.edu>.
1392
1393
1394
1395TOR January 2009 TOR(1)