manpage: indent linebreak markup

Indent the asciidoc markup for lone linebreaks to match the preceding
paragraph line, so that Asciidoctor tools can format them correctly.

Part of ticket 32708.
This commit is contained in:
Taylor Yu 2019-12-11 09:27:51 -06:00
parent 4bc698f776
commit 8dff1d342d

View File

@ -147,7 +147,7 @@ The following options in this section are only recognized on the
can encrypt the master identity key with a passphrase. When Tor
asks you for a passphrase and you don't want to encrypt the master
key, just don't enter any passphrase when asked. +
+
+
Use the **`--newpass`** option with **`--keygen`** only when you
need to add, change, or remove a passphrase on an existing ed25519
master identity key. You will be prompted for the old passphase
@ -178,7 +178,7 @@ The following options in this section are only recognized on the
The __purpose__ specifies which type of key certificate to determine
the expiration of. The only currently recognised __purpose__ is
"sign". +
+
+
Running **`tor --key-expiration sign`** will attempt to find your
signing key certificate and will output, both in the logs as well
as to stdout, the signing key certificate's expiration time in
@ -237,7 +237,7 @@ GENERAL OPTIONS
engine of this name. This must be used for any dynamic hardware engine.
Names can be verified with the openssl engine command. Can not be changed
while tor is running. +
+
+
If the engine name is prefixed with a "!", then Tor will exit if the
engine cannot be loaded.
@ -273,13 +273,13 @@ GENERAL OPTIONS
relay (that is, 600 kbits) or 50 KBytes for a bridge (400 kbits) -- but of
course, more is better; we recommend at least 250 KBytes (2 mbits) if
possible. (Default: 1 GByte) +
+
+
Note that this option, and other bandwidth-limiting options, apply to TCP
data only: They do not count TCP headers or DNS traffic. +
+
+
Tor uses powers of two, not powers of ten, so 1 GByte is
1024*1024*1024 bytes as opposed to 1 billion bytes. +
+
+
With this option, and in other options that take arguments in bytes,
KBytes, and so on, other formats are also supported. Notably, "KBytes" can
also be written as "kilobytes" or "kb"; "MBytes" can be written as
@ -320,7 +320,7 @@ GENERAL OPTIONS
(IPv4 addresses should written as-is; IPv6 addresses should be wrapped in
square brackets.) It's the
duty of that proxy to properly forward the traffic to the bridge. +
+
+
In its second form, when set along with a corresponding Bridge line, the Tor
client launches the pluggable transport proxy executable in
__path-to-binary__ using __options__ as its command-line options, and
@ -332,13 +332,13 @@ GENERAL OPTIONS
process before it will start. Tor will ask the OS for as many file
descriptors as the OS will allow (you can find this by "ulimit -H -n").
If this number is less than ConnLimit, then Tor will refuse to start. +
+
+
Tor relays need thousands of sockets, to connect to every other relay.
If you are running a private bridge, you can reduce the number of sockets
that Tor uses. For example, to limit Tor to 500 sockets, run
"ulimit -n 500" in a shell. Then start tor in the same shell, with
**ConnLimit 500**. You may also need to set **DisableOOSCheck 0**. +
+
+
Unless you have severely limited sockets, you probably don't need to
adjust **ConnLimit** itself. It has no effect on Windows, since that
platform lacks getrlimit(). (Default: 1000)
@ -350,15 +350,15 @@ GENERAL OPTIONS
be limited. If you're on a virtual server, and you encounter the "Error
creating network socket: No buffer space available" message, you are
likely experiencing this problem. +
+
+
The preferred solution is to have the admin increase the buffer pool for
the host itself via /proc/sys/net/ipv4/tcp_mem or equivalent facility;
this configuration option is a second-resort. +
+
+
The DirPort option should also not be used if TCP buffers are scarce. The
cached directory requests consume additional sockets which exacerbates
the problem. +
+
+
You should **not** enable this feature unless you encounter the "no buffer
space available" issue. Reducing the TCP buffers affects window size for
the TCP stream and will reduce throughput in proportion to round trip
@ -383,7 +383,7 @@ GENERAL OPTIONS
C escape sequences. You can specify this directive multiple times, to
bind to multiple address/port pairs.
Set it to "auto" to have Tor pick a port for you. (Default: 0) +
+
+
Recognized flags are:
**GroupWritable**;;
Unix domain sockets only: makes the socket get created as
@ -456,7 +456,7 @@ GENERAL OPTIONS
separated by spaces, and determine what kind of an authority this directory
is. By default, an authority is not authoritative for any directory style
or version unless an appropriate flag is given. +
+
+
Tor will use this authority as a bridge authoritative directory if the
"bridge" flag is set. If a flag "orport=**orport**" is given, Tor will
use the given port when opening encrypted tunnels to the dirserver. If a
@ -467,13 +467,13 @@ GENERAL OPTIONS
if an "ipv6=**[**__ipv6address__**]**:__orport__" flag is present, then
the directory authority is listening for IPv6 connections on the
indicated IPv6 address and OR Port. +
+
+
Tor will contact the authority at __ipv4address__ to
download directory documents. Clients always use the ORPort. Relays
usually use the DirPort, but will use the ORPort in some circumstances.
If an IPv6 ORPort is supplied, clients will also download directory
documents at the IPv6 ORPort, if they are configured to use IPv6. +
+
+
If no **DirAuthority** line is given, Tor will use the default directory
authorities. NOTE: this option is intended for setting up a private Tor
network with its own directory authorities. If you use it, you will be
@ -552,10 +552,10 @@ GENERAL OPTIONS
startup if a hard-coded directory is down. Clients wait for a few seconds
between each attempt, and retry FallbackDirs more often than directory
authorities, to reduce the load on the directory authorities. +
+
+
FallbackDirs should be stable relays with stable IP addresses, ports,
and identity keys. They must have a DirPort. +
+
+
By default, the directory authorities are also FallbackDirs. Specifying a
FallbackDir replaces Tor's default hard-coded FallbackDirs (if any).
(See the **DirAuthority** entry for an explanation of each flag.)
@ -660,7 +660,7 @@ GENERAL OPTIONS
since anything more verbose may provide sensitive information to an
attacker who obtains the logs. If only one severity level is given, all
messages of that level or higher will be sent to the listed destination. +
+
+
Some low-level logs may be sent from signal handlers, so their destination
logs must be signal-safe. These low-level logs include backtraces,
logging function errors, and errors in code called by logging functions.
@ -686,16 +686,16 @@ GENERAL OPTIONS
list of logging domains. You can prefix a domain with $$~$$ to indicate
negation, and use * to indicate "all domains". If you specify a severity
range without a list of domains, it matches all domains. +
+
+
This is an advanced feature which is most useful for debugging one or two
of Tor's subsystems at a time. +
+
+
The currently recognized domains are: general, crypto, net, config, fs,
protocol, mm, http, app, control, circ, rend, bug, dir, dirserv, or, edge,
acct, hist, handshake, heartbeat, channel, sched, guard, consdiff, dos,
process, pt, btrack, and mesg.
Domain names are case-insensitive. +
+
+
For example, "`Log [handshake]debug [~net,~mm]info notice stdout`" sends
to stdout: all handshake messages of any severity, all info-and-higher
messages from domains other than networking and memory management, and all
@ -801,7 +801,7 @@ GENERAL OPTIONS
addresses) by replacing them with the string [scrubbed]. This way logs can
still be useful, but they don't leave behind personally identifying
information about what sites a user might have visited. +
+
+
If this option is set to 0, Tor will not perform any scrubbing, if it is
set to 1, all potentially sensitive strings are replaced. If it is set to
relay, all log messages generated when acting as a relay are sanitized, but
@ -815,7 +815,7 @@ GENERAL OPTIONS
experimental feature. It only works on Linux-based operating systems,
and only when Tor has been built with the libseccomp library. This option
can not be changed while tor is running. +
+
+
When the **Sandbox** is 1, the following options can not be changed when tor
is running:
**Address**,
@ -826,14 +826,14 @@ GENERAL OPTIONS
**Logs**,
**ServerDNSResolvConfFile**,
**ClientOnionAuthDir** (and any files in it won't reload on HUP signal). +
+
+
Launching new Onion Services through the control port is not supported
with current syscall sandboxing implementation. +
+
+
Tor must remain in client or server mode (some changes to **ClientOnly**
and **ORPort** are not allowed). Currently, if **Sandbox** is 1,
**ControlPort** command "GETINFO address" will not work. +
+
+
(Default: 0)
[[Schedulers]] **Schedulers** **KIST**|**KISTLite**|**Vanilla**::
@ -844,22 +844,22 @@ GENERAL OPTIONS
these values at runtime. This option mostly effects relays, and most
operators should leave it set to its default value.
(Default: KIST,KISTLite,Vanilla) +
+
+
The possible scheduler types are:
+
+
**KIST**: Kernel-Informed Socket Transport. Tor will use TCP information
from the kernel to make informed decisions regarding how much data to send
and when to send it. KIST also handles traffic in batches (see
KISTSchedRunInterval) in order to improve traffic prioritization decisions.
As implemented, KIST will only work on Linux kernel version 2.6.39 or
higher. +
+
+
**KISTLite**: Same as KIST but without kernel support. Tor will use all
the same mechanics as with KIST, including the batching, but its decisions
regarding how much data to send will not be as good. KISTLite will work on
all kernels and operating systems, and the majority of the benefits of KIST
are still realized with KISTLite. +
+
+
**Vanilla**: The scheduler that Tor used before KIST was implemented. It
sends as much data as possible, as soon as possible. Vanilla will work on
all kernels and operating systems.
@ -943,14 +943,14 @@ The following options are useful only for clients (that is, if
the relay running at that location has the right fingerprint. We also use
fingerprint to look up the bridge descriptor at the bridge authority, if
it's provided and if UpdateBridgesFromAuthority is set too. +
+
+
If "transport" is provided, it must match a ClientTransportPlugin line. We
then use that pluggable transport's proxy to transfer data to the bridge,
rather than connecting to the bridge directly. Some transports use a
transport-specific method to work out the remote address to connect to.
These transports typically ignore the "IP:ORPort" specified in the bridge
line. +
+
+
Tor passes any "key=val" settings to the pluggable transport proxy as
per-connection arguments when connecting to the bridge. Consult
the documentation of the pluggable transport for details of what
@ -1029,19 +1029,19 @@ The following options are useful only for clients (that is, if
be wrapped in braces; fingerprints may be preceded by a dollar sign.
(Example:
ExcludeNodes ABCD1234CDEF5678ABCD1234CDEF5678ABCD1234, \{cc}, 255.254.0.0/8) +
+
+
By default, this option is treated as a preference that Tor is allowed
to override in order to keep working.
For example, if you try to connect to a hidden service,
but you have excluded all of the hidden service's introduction points,
Tor will connect to one of them anyway. If you do not want this
behavior, set the StrictNodes option (documented below). +
+
+
Note also that if you are a relay, this (and the other node selection
options below) only affects your own circuits that Tor builds for you.
Clients can still build circuits through you to any node. Controllers
can tell Tor to build circuits through any node. +
+
+
Country codes are case-insensitive. The code "\{??}" refers to nodes whose
country can't be identified. No country code, including \{??}, works if
no GeoIPFile can be loaded. See also the GeoIPExcludeUnknown option below.
@ -1069,22 +1069,22 @@ The following options are useful only for clients (that is, if
patterns of nodes to use as exit node---that is, a
node that delivers traffic for you *outside* the Tor network. See
the **ExcludeNodes** option for more information on how to specify nodes. +
+
+
Note that if you list too few nodes here, or if you exclude too many exit
nodes with ExcludeExitNodes, you can degrade functionality. For example,
if none of the exits you list allows traffic on port 80 or 443, you won't
be able to browse the web. +
+
+
Note also that not every circuit is used to deliver traffic *outside* of
the Tor network. It is normal to see non-exit circuits (such as those
used to connect to hidden services, those that do directory fetches,
those used for relay reachability self-tests, and so on) that end
at a non-exit node. To
keep a node from being used entirely, see ExcludeNodes and StrictNodes. +
+
+
The ExcludeNodes option overrides this option: any node listed in both
ExitNodes and ExcludeNodes is treated as excluded. +
+
+
The .exit address notation, if enabled via MapAddress, overrides
this option.
@ -1115,7 +1115,7 @@ The following options are useful only for clients (that is, if
circuits except for direct connections to directory servers. The Bridge
option overrides this option; if you have configured bridges and
UseBridges is 1, the Bridges are used as your entry nodes. +
+
+
The ExcludeNodes option overrides this option: any node listed in both
EntryNodes and ExcludeNodes is treated as excluded. See
the **ExcludeNodes** option for more information on how to specify nodes.
@ -1168,7 +1168,7 @@ The following options are useful only for clients (that is, if
these restrictions when connecting to Onion Routers, using TLS/SSL. If not
set explicitly then the value of **ReachableAddresses** is used. If
**HTTPSProxy** is set then these connections will go through that proxy. +
+
+
The separation between **ReachableORAddresses** and
**ReachableDirAddresses** is only interesting when you are connecting
through proxies (see **HTTPProxy** and **HTTPSProxy**). Most proxies limit
@ -1190,9 +1190,9 @@ The following options are useful only for clients (that is, if
Path to the directory containing v3 hidden service authorization files.
Each file is for a single onion address, and the files MUST have the suffix
".auth_private" (i.e. "bob_onion.auth_private"). The content format MUST be:
+
+
<onion-address>:descriptor:x25519:<base32-encoded-privkey>
+
+
The <onion-address> MUST NOT have the ".onion" suffix. The
<base32-encoded-privkey> is the base32 representation of the raw key bytes
only (32 bytes for x25519). See Appendix G in the rend-spec-v3.txt file of
@ -1223,7 +1223,7 @@ The following options are useful only for clients (that is, if
*.example.com www.example.com". If the specified exit is not available,
or the exit can not connect to the site, Tor will fail any connections
to the mapped address.+
+
+
NOTES:
1. When evaluating MapAddress expressions Tor stops when it hits the most
@ -1300,14 +1300,14 @@ The following options are useful only for clients (that is, if
to multiple addresses/ports. If a unix domain socket is used, you may
quote the path using standard C escape sequences.
(Default: 9050) +
+
+
NOTE: Although this option allows you to specify an IP address
other than localhost, you should do so only with extreme caution.
The SOCKS protocol is unencrypted and (as we use it)
unauthenticated, so exposing it in this way could leak your
information to anybody watching your network, and allow anybody
to use your computer as an open proxy. +
+
+
If multiple entries of this option are present in your configuration
file, Tor will perform stream isolation between listeners by default.
The _isolation flags_ arguments give Tor rules for which streams
@ -1572,7 +1572,7 @@ The following options are useful only for clients (that is, if
command from the controller or the AutomapHostsOnResolve feature, Tor
picks an unassigned address from this range. (Defaults:
127.192.0.0/10 and [FE80::]/10 respectively.) +
+
+
When providing proxy server service to a network of computers using a tool
like dns-proxy-tor, change the IPv4 network to "10.192.0.0/10" or
"172.16.0.0/12" and change the IPv6 network to "[FC00::]/7".
@ -1608,7 +1608,7 @@ The following options are useful only for clients (that is, if
entries of this option are present in your configuration file, Tor will
perform stream isolation between listeners by default. See
SOCKSPort for an explanation of isolation flags. +
+
+
TransPort requires OS support for transparent proxies, such as BSDs' pf or
Linux's IPTables. If you're planning to use Tor as a transparent proxy for
a network, you'll want to examine and change VirtualAddrNetwork from the
@ -1617,25 +1617,25 @@ The following options are useful only for clients (that is, if
[[TransProxyType]] **TransProxyType** **default**|**TPROXY**|**ipfw**|**pf-divert**::
TransProxyType may only be enabled when there is transparent proxy listener
enabled. +
+
+
Set this to "TPROXY" if you wish to be able to use the TPROXY Linux module
to transparently proxy connections that are configured using the TransPort
option. Detailed information on how to configure the TPROXY
feature can be found in the Linux kernel source tree in the file
Documentation/networking/tproxy.txt. +
+
+
Set this option to "ipfw" to use the FreeBSD ipfw interface. +
+
+
On *BSD operating systems when using pf, set this to "pf-divert" to take
advantage of +divert-to+ rules, which do not modify the packets like
+rdr-to+ rules do. Detailed information on how to configure pf to use
+divert-to+ rules can be found in the pf.conf(5) manual page. On OpenBSD,
+divert-to+ is available to use on versions greater than or equal to
OpenBSD 4.4. +
+
+
Set this to "default", or leave it unconfigured, to use regular IPTables
on Linux, or to use pf +rdr-to+ rules on *BSD systems. +
+
+
(Default: "default")
[[NATDPort]] **NATDPort** \['address':]__port__|**auto** [_isolation flags_]::
@ -1647,7 +1647,7 @@ The following options are useful only for clients (that is, if
entries of this option are present in your configuration file, Tor will
perform stream isolation between listeners by default. See
SocksPort for an explanation of isolation flags. +
+
+
This option is only for people who cannot use TransPort. (Default: 0)
[[AutomapHostsOnResolve]] **AutomapHostsOnResolve** **0**|**1**::
@ -1716,39 +1716,39 @@ The following options are useful only for clients (that is, if
and induces your client or service to create many circuits, in order
to discover your primary guard node.
(Default: Any node in the network may be used in the second hop.)
+
+
(Example:
HSLayer2Nodes ABCD1234CDEF5678ABCD1234CDEF5678ABCD1234, \{cc}, 255.254.0.0/8) +
+
+
When this is set, the resulting hidden service paths will
look like:
+
+
C - G - L2 - M - Rend +
C - G - L2 - M - HSDir +
C - G - L2 - M - Intro +
S - G - L2 - M - Rend +
S - G - L2 - M - HSDir +
S - G - L2 - M - Intro +
+
+
where C is this client, S is the service, G is the Guard node,
L2 is a node from this option, and M is a random middle node.
Rend, HSDir, and Intro point selection is not affected by this
option.
+
+
This option may be combined with HSLayer3Nodes to create
paths of the form:
+
+
C - G - L2 - L3 - Rend +
C - G - L2 - L3 - M - HSDir +
C - G - L2 - L3 - M - Intro +
S - G - L2 - L3 - M - Rend +
S - G - L2 - L3 - HSDir +
S - G - L2 - L3 - Intro +
+
+
ExcludeNodes have higher priority than HSLayer2Nodes,
which means that nodes specified in ExcludeNodes will not be
picked.
+
+
When either this option or HSLayer3Nodes are set, the /16 subnet
and node family restrictions are removed for hidden service
circuits. Additionally, we allow the guard node to be present
@ -1756,7 +1756,7 @@ The following options are useful only for clients (that is, if
is done to prevent the adversary from inferring information
about our guard, layer2, and layer3 node choices at later points
in the path.
+
+
This option is meant to be managed by a Tor controller such as
https://github.com/mikeperry-tor/vanguards that selects and
updates this set of nodes for you. Hence it does not do load
@ -1772,10 +1772,10 @@ The following options are useful only for clients (that is, if
and induces your client or service to create many circuits, in order
to discover your primary or Layer2 guard nodes.
(Default: Any node in the network may be used in the third hop.)
+
+
(Example:
HSLayer3Nodes ABCD1234CDEF5678ABCD1234CDEF5678ABCD1234, \{cc}, 255.254.0.0/8) +
+
+
When this is set by itself, the resulting hidden service paths
will look like: +
C - G - M - L3 - Rend +
@ -1788,21 +1788,21 @@ The following options are useful only for clients (that is, if
L2 is a node from this option, and M is a random middle node.
Rend, HSDir, and Intro point selection is not affected by this
option.
+
+
While it is possible to use this option by itself, it should be
combined with HSLayer2Nodes to create paths of the form:
+
+
C - G - L2 - L3 - Rend +
C - G - L2 - L3 - M - HSDir +
C - G - L2 - L3 - M - Intro +
S - G - L2 - L3 - M - Rend +
S - G - L2 - L3 - HSDir +
S - G - L2 - L3 - Intro +
+
+
ExcludeNodes have higher priority than HSLayer3Nodes,
which means that nodes specified in ExcludeNodes will not be
picked.
+
+
When either this option or HSLayer2Nodes are set, the /16 subnet
and node family restrictions are removed for hidden service
circuits. Additionally, we allow the guard node to be present
@ -1841,18 +1841,18 @@ The following options are useful only for clients (that is, if
experimental**) path bias detection algorithm. To try to find broken or
misbehaving guard nodes, Tor looks for nodes where more than a certain
fraction of circuits through that guard fail to get built. +
+
+
The PathBiasCircThreshold option controls how many circuits we need to build
through a guard before we make these checks. The PathBiasNoticeRate,
PathBiasWarnRate and PathBiasExtremeRate options control what fraction of
circuits must succeed through a guard so we won't write log messages.
If less than PathBiasExtremeRate circuits succeed *and* PathBiasDropGuards
is set to 1, we disable use of that guard. +
+
+
When we have seen more than PathBiasScaleThreshold
circuits through a guard, we scale our observations by 0.5 (governed by
the consensus) so that new observations don't get swamped by old ones. +
+
+
By default, or if a negative value is provided for one of these options,
Tor uses reasonable defaults from the networkstatus consensus document.
If no defaults are available there, these options default to 150, .70,
@ -1867,14 +1867,14 @@ The following options are useful only for clients (that is, if
[[PathBiasScaleUseThreshold]] **PathBiasScaleUseThreshold** __NUM__::
Similar to the above options, these options override the default behavior
of Tor's (**currently experimental**) path use bias detection algorithm. +
+
+
Where as the path bias parameters govern thresholds for successfully
building circuits, these four path use bias parameters govern thresholds
only for circuit usage. Circuits which receive no stream usage
are not counted by this detection algorithm. A used circuit is considered
successful if it is capable of carrying streams or otherwise receiving
well-formed responses to RELAY cells. +
+
+
By default, or if a negative value is provided for one of these options,
Tor uses reasonable defaults from the networkstatus consensus document.
If no defaults are available there, these options default to 20, .80,
@ -1975,7 +1975,7 @@ The following options are useful only for clients (that is, if
a request. (This mode is recommended if installing a Tor client for a
user who might not actually use it.) If false, Tor bootstraps the first
time it is started, whether it sees a user request or not.
+
+
After the first time Tor starts, it begins in dormant mode if it was
dormant before, and not otherwise. (Default: 0)
@ -1985,7 +1985,7 @@ The following options are useful only for clients (that is, if
this option is true, Tor treats every startup event as user
activity, and Tor will never start in Dormant mode, even if it has
been unused for a long time on previous runs. (Default: 0)
+
+
Note: Packagers and application developers should change the value of
this option only with great caution: it has the potential to
create spurious traffic on the network. This option should only
@ -2021,7 +2021,7 @@ is non-zero):
from bridge users to the Tor network. It mainly causes Tor to publish a
server descriptor to the bridge database, rather than
to the public directory authorities. +
+
+
Note: make sure that no MyFamily lines are present in your torrc when
relay is configured in bridge mode.
@ -2040,7 +2040,7 @@ is non-zero):
spammers might also collect them. You may want to obscure the fact
that it's an email address and/or generate a new address for this
purpose. +
+
+
ContactInfo **must** be set to a working address if you run more than one
relay or bridge. (Really, everybody running a relay or bridge should set
it.)
@ -2051,10 +2051,10 @@ is non-zero):
non-bridge server, and ExitRelay is set to 1, then Tor allows traffic to
exit according to the ExitPolicy option, the ReducedExitPolicy option,
or the default ExitPolicy (if no other exit policy option is specified). +
+
+
If ExitRelay is set to 0, no traffic is allowed to exit, and the
ExitPolicy, ReducedExitPolicy, and IPv6Exit options are ignored. +
+
+
If ExitRelay is set to "auto", then Tor checks the ExitPolicy,
ReducedExitPolicy, and IPv6Exit options. If at least one of these options
is set, Tor behaves as if ExitRelay were set to 1. If none of these exit
@ -2071,29 +2071,29 @@ is non-zero):
__PORT__ can be a single port number, an interval of ports
"__FROM_PORT__-__TO_PORT__", or "\*". If __PORT__ is omitted, that means
"\*". +
+
+
For example, "accept 18.7.22.69:\*,reject 18.0.0.0/8:\*,accept \*:\*" would
reject any IPv4 traffic destined for MIT except for web.mit.edu, and accept
any other IPv4 or IPv6 traffic. +
+
+
Tor also allows IPv6 exit policy entries. For instance, "reject6 [FC00::]/7:\*"
rejects all destinations that share 7 most significant bit prefix with
address FC00::. Respectively, "accept6 [C000::]/3:\*" accepts all destinations
that share 3 most significant bit prefix with address C000::. +
+
+
accept6 and reject6 only produce IPv6 exit policy entries. Using an IPv4
address with accept6 or reject6 is ignored and generates a warning.
accept/reject allows either IPv4 or IPv6 addresses. Use \*4 as an IPv4
wildcard address, and \*6 as an IPv6 wildcard address. accept/reject *
expands to matching IPv4 and IPv6 wildcard address rules. +
+
+
To specify all IPv4 and IPv6 internal and link-local networks (including
0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8,
172.16.0.0/12, [::]/8, [FC00::]/7, [FE80::]/10, [FEC0::]/10, [FF00::]/8,
and [::]/127), you can use the "private" alias instead of an address.
("private" always produces rules for IPv4 and IPv6 addresses, even when
used with accept6/reject6.) +
+
+
Private addresses are rejected by default (at the beginning of your exit
policy), along with any configured primary public IPv4 and IPv6 addresses.
These private addresses are rejected unless you set the
@ -2105,10 +2105,10 @@ is non-zero):
about internal and reserved IP address space. See
ExitPolicyRejectLocalInterfaces if you want to block every address on the
relay, even those that aren't advertised in the descriptor. +
+
+
This directive can be specified multiple times so you don't have to put it
all on one line. +
+
+
Policies are considered first to last, and the first match wins. If you
want to allow the same ports on IPv4 and IPv6, write your rules using
accept/reject \*. If you want to allow different ports on IPv4 and IPv6,
@ -2116,13 +2116,13 @@ is non-zero):
accept/reject \*4. If you want to \_replace_ the default exit policy, end
your exit policy with either a reject \*:* or an accept \*:*. Otherwise,
you're \_augmenting_ (prepending to) the default exit policy. +
+
+
If you want to use a reduced exit policy rather than the default exit
policy, set "ReducedExitPolicy 1". If you want to _replace_ the default
exit policy with your custom exit policy, end your exit policy with either
a reject *:* or an accept *:*. Otherwise, you're _augmenting_ (prepending
to) the default or reduced exit policy. +
+
+
The default exit policy is:
reject *:25
@ -2162,13 +2162,13 @@ is non-zero):
[[ReducedExitPolicy]] **ReducedExitPolicy** **0**|**1**::
If set, use a reduced exit policy rather than the default one. +
+
+
The reduced exit policy is an alternative to the default exit policy. It
allows as many Internet services as possible while still blocking the
majority of TCP ports. Currently, the policy allows approximately 65 ports.
This reduces the odds that your node will be used for peer-to-peer
applications. +
+
+
The reduced exit policy is:
accept *:20-21
@ -2274,13 +2274,13 @@ is non-zero):
relay only needs to list the other servers in its family; it doesn't need to
list itself, but it won't hurt if it does.) Do not list any bridge relay as it would
compromise its concealment. +
+
+
When listing a node, it's better to list it by fingerprint than by
nickname: fingerprints are more reliable. +
+
+
If you run more than one relay, the MyFamily option on each relay
**must** list all other relays, as described above. +
+
+
Note: do not use MyFamily when configuring your Tor instance as a
brigde.
@ -2300,7 +2300,7 @@ is non-zero):
servers. This option is required to be a Tor server.
Set it to "auto" to have Tor pick a port for you. Set it to 0 to not
run an ORPort at all. This option can occur more than once. (Default: 0) +
+
+
Tor recognizes these flags on each ORPort:
**NoAdvertise**;;
By default, we bind to a port and tell our users about it. If
@ -2328,7 +2328,7 @@ is non-zero):
This option specifies which descriptors Tor will publish when acting as
a relay. You can
choose multiple arguments, separated by commas. +
+
+
If this option is set to 0, Tor will not publish its
descriptors to any directories. (This is useful if you're testing
out your server, or if you're using a Tor controller that handles
@ -2381,7 +2381,7 @@ is non-zero):
it provides users with a collection of fast servers that are up some
of the time, which is more useful than a set of slow servers that are
always "available". +
+
+
Note that (as also described in the Bandwidth section) Tor uses
powers of two, not powers of ten: 1 GByte is 1024*1024*1024, not
one billion. Be careful: some internet service providers might count
@ -2624,7 +2624,7 @@ details.)
Set it to "auto" to have Tor pick a port for you. This option can occur
more than once, but only one advertised DirPort is supported: all
but one DirPort must have the **NoAdvertise** flag set. (Default: 0) +
+
+
The same flags are supported here as are supported by ORPort.
[[DirPolicy]] **DirPolicy** __policy__,__policy__,__...__::
@ -2664,14 +2664,14 @@ and are as follows:
1. If a single client address makes too many concurrent connections (this is
configurable via DoSConnectionMaxConcurrentCount), hang up on further
connections.
+
+
2. If a single client IP address (v4 or v6) makes circuits too quickly
(default values are more than 3 per second, with an allowed burst of 90,
see DoSCircuitCreationRate and DoSCircuitCreationBurst) while also having
too many connections open (default is 3, see
DoSCircuitCreationMinConnections), tor will refuse any new circuit (CREATE
cells) for the next while (random value between 1 and 2 hours).
+
+
3. If a client asks to establish a rendezvous point to you directly (ex:
Tor2Web client), ignore the request.
@ -2729,11 +2729,11 @@ Denial of Service mitigation subsystem described above.
This is the type of defense applied to a detected client address. The
possible values are:
+
+
1: No defense.
+
+
2: Refuse circuit creation for the DoSCircuitCreationDefenseTimePeriod period of time.
+
+
"0" means use the consensus parameter. If not defined in the consensus, the value is 2.
(Default: 0)
@ -2765,11 +2765,11 @@ Denial of Service mitigation subsystem described above.
This is the type of defense applied to a detected client address for the
connection mitigation. The possible values are:
+
+
1: No defense.
+
+
2: Immediately close new connections.
+
+
"0" means use the consensus parameter. If not defined in the consensus, the value is 2.
(Default: 0)
@ -2855,7 +2855,7 @@ on the public Tor network.
Authoritative directories only. A set of address patterns for servers that
will be listed as bad exits in any network status document this authority
publishes, if **AuthDirListBadExits** is set. +
+
+
(The address pattern syntax here and in the options below
is the same as for exit policies, except that you don't need to say
"accept" or "reject", and ports are not needed.)
@ -3066,25 +3066,25 @@ The next section describes the per service options that can only be set
identifier of each inbound client circuit. The only
protocol supported right now \'haproxy'. This option is only for v3
services. (Default: none) +
+
+
The haproxy option works in the following way: when the feature is
enabled, the Tor process will write a header line when a client is connecting
to the onion service. The header will look like this: +
+
+
"PROXY TCP6 fc00:dead:beef:4dad::ffff:ffff ::1 65535 42\r\n" +
+
+
We encode the "global circuit identifier" as the last 32-bits of the first
IPv6 address. All other values in the header can safely be ignored. You can
compute the global circuit identifier using the following formula given the
IPv6 address "fc00:dead:beef:4dad::AABB:CCDD": +
+
+
global_circuit_id = (0xAA << 24) + (0xBB << 16) + (0xCC << 8) + 0xDD; +
+
+
In the case above, where the last 32-bits are 0xffffffff, the global circuit
identifier would be 4294967295. You can use this value together with Tor's
control port to terminate particular circuits using their global
circuit identifiers. For more information about this see control-spec.txt. +
+
+
The HAProxy version 1 protocol is described in detail at
https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
@ -3158,7 +3158,7 @@ The next section describes the per service options that can only be set
locatable, but clients remain location-anonymous. However, the fact that a
client is accessing a Single Onion rather than a Hidden Service may be
statistically distinguishable. +
+
+
**WARNING:** Once a hidden service directory has been used by a tor
instance in HiddenServiceSingleHopMode, it can **NEVER** be used again for
a hidden service. It is best practice to create a new hidden service
@ -3166,7 +3166,7 @@ The next section describes the per service options that can only be set
Service. It is not possible to run Single Onion Services and Hidden
Services from the same tor instance: they should be run on different
servers with different IP addresses. +
+
+
HiddenServiceSingleHopMode requires HiddenServiceNonAnonymousMode to be set
to 1. Since a Single Onion service is non-anonymous, you can not configure
a SOCKSPort on a tor instance that is running in
@ -3344,7 +3344,7 @@ The following options are used for running a testing Tor network.
address patterns of nodes to vote Exit for regardless of their
uptime, bandwidth, or exit policy. See the **ExcludeNodes**
option for more information on how to specify nodes. +
+
+
In order for this option to have any effect, **TestingTorNetwork**
has to be set. See the **ExcludeNodes** option for more
information on how to specify nodes.
@ -3353,7 +3353,7 @@ The following options are used for running a testing Tor network.
If True (1), a node will never receive the Exit flag unless it is specified
in the **TestingDirAuthVoteExit** list, regardless of its uptime, bandwidth,
or exit policy. +
+
+
In order for this option to have any effect, **TestingTorNetwork**
has to be set.
@ -3362,14 +3362,14 @@ The following options are used for running a testing Tor network.
address patterns of nodes to vote Guard for regardless of their
uptime and bandwidth. See the **ExcludeNodes** option for more
information on how to specify nodes. +
+
+
In order for this option to have any effect, **TestingTorNetwork**
has to be set.
[[TestingDirAuthVoteGuardIsStrict]] **TestingDirAuthVoteGuardIsStrict** **0**|**1** ::
If True (1), a node will never receive the Guard flag unless it is specified
in the **TestingDirAuthVoteGuard** list, regardless of its uptime and bandwidth. +
+
+
In order for this option to have any effect, **TestingTorNetwork**
has to be set.
@ -3378,14 +3378,14 @@ The following options are used for running a testing Tor network.
address patterns of nodes to vote HSDir for regardless of their
uptime and DirPort. See the **ExcludeNodes** option for more
information on how to specify nodes. +
+
+
In order for this option to have any effect, **TestingTorNetwork**
must be set.
[[TestingDirAuthVoteHSDirIsStrict]] **TestingDirAuthVoteHSDirIsStrict** **0**|**1** ::
If True (1), a node will never receive the HSDir flag unless it is specified
in the **TestingDirAuthVoteHSDir** list, regardless of its uptime and DirPort. +
+
+
In order for this option to have any effect, **TestingTorNetwork**
has to be set.