tor
master
|
#include <or.h>
Configuration options for a Tor process.
anonymous enum |
What should the tor process actually do?
anonymous enum |
Parsed value of TransProxyType.
char* AccelDir |
Optional hardware acceleration engine search dir.
char* AccelName |
Optional hardware acceleration engine name.
uint64_t AccountingMax |
How many bytes do we allow per accounting interval before hibernation? 0 for "never hibernate."
char* AccountingRule_option |
How do we determine when our AccountingMax has been reached? "max" for when in or out reaches AccountingMax "sum" for when in plus out reaches AccountingMax "in" for when in reaches AccountingMax "out" for when out reaches AccountingMax
char* AccountingStart |
How long is the accounting interval, and when does it start?
char* Address |
OR only: configured address for this onion router.
config_line_t* AddressMap |
List of address map directives.
int AllDirActionsPrivate |
Should every directory action be sent through a Tor circuit?
int AllowNonRFC953Hostnames |
If true, we allow connections to hostnames with weird characters.
config_line_t* AlternateBridgeAuthority |
If set, use these bridge authorities and not the default one.
config_line_t* AlternateDirAuthority |
If set, use these main (currently v3) directory authorities and not the default ones.
char* AndroidIdentityTag |
Identity tag to add for Android logging.
int AssumeReachable |
Whether to publish our descriptor regardless.
config_line_t* AuthDirBadExit |
Address policy for descriptors to mark as bad exits.
uint64_t AuthDirFastGuarantee |
If non-zero, always vote the Fast flag for any relay advertising this amount of capacity or more.
uint64_t AuthDirGuardBWGuarantee |
If non-zero, this advertised capacity or more is always sufficient to satisfy the bandwidth requirement for the Guard flag.
int AuthDirHasIPv6Connectivity |
Boolean: are we on IPv6?
config_line_t* AuthDirInvalid |
Address policy for descriptors to never mark as valid.
int AuthDirListBadExits |
True iff we should list bad exits, and vote for all other exits as good.
int AuthDirMaxServersPerAddr |
Do not permit more than this number of servers per IP address.
int AuthDirPinKeys |
Boolean: Do we enforce key-pinning?
config_line_t* AuthDirReject |
Address policy for descriptors to reject.
int AuthDirSharedRandomness |
Bool (default: 1): Switch for the shared random protocol. Only relevant to a directory authority. If off, the authority won't participate in the protocol. If on (default), a flag is added to the vote indicating participation.
int AuthDirTestEd25519LinkKeys |
Bool (default: 1): When testing routerinfos as a directory authority, do we enforce Ed25519 identity match?
int AuthoritativeDir |
Boolean: is this an authoritative directory?
int AutomapHostsOnResolve |
If true, when we get a resolve request for a hostname ending with one of the suffixes in AutomapHostsSuffixes, map it to a virtual address.
smartlist_t* AutomapHostsSuffixes |
List of suffixes for AutomapHostsOnResolve. The special value "." means "match everything."
int AvoidDiskWrites |
Boolean: should we never cache things to disk? Not used yet.
uint64_t BandwidthBurst |
How much bandwidth, at maximum, are we willing to use in a second?
uint64_t BandwidthRate |
How much bandwidth, on average, are we willing to use in a second?
int BridgeAuthoritativeDir |
Boolean: is this an authoritative directory that aggregates bridge descriptors?
char* BridgeDistribution |
If set on a bridge relay, it will include this value on a new "bridge-distribution-request" line in its bridge descriptor.
char* BridgePassword |
If set on a bridge authority, it will answer requests on its dirport for bridge statuses – but only if the requests use this password.
char* BridgePassword_AuthDigest_ |
If BridgePassword is set, this is a SHA256 digest of the basic http authenticator for it. Used so we can do a time-independent comparison.
int BridgeRecordUsageByCountry |
If true, and we have GeoIP data, and we're a bridge, keep a per-country count of how many client addresses have contacted us so that we can help the bridge authority guess which countries have blocked access to us.
int BridgeRelay |
Boolean: are we acting as a bridge relay? We make this explicit so we can change how we behave in the future.
config_line_t* Bridges |
List of bootstrap bridge addresses.
char* CacheDirectory |
Where to store cached data, as modified.
char* CacheDirectory_option |
Where to store cached data, as configured by the user.
int CacheDirectoryGroupReadable |
Boolean: Is the CacheDirectory g+r?
int CellStatistics |
If true, the user wants us to collect cell statistics.
int CircuitBuildTimeout |
Cull non-open circuits that were born at least this many seconds ago. Used until adaptive algorithm learns a new value.
int CircuitsAvailableTimeout |
Try to have an open circuit for at least this long after last activity
int CircuitStreamTimeout |
If non-zero, detach streams from circuits and try a new circuit if the stream has been waiting for this many seconds. If zero, use our default internal timeout schedule.
int ClientBootstrapConsensusAuthorityDownloadInitialDelay |
Schedule for when clients should download consensuses from authorities if they are bootstrapping (that is, they don't have a usable, reasonably live consensus). Only used by clients fetching from a list of fallback directory mirrors.
This schedule is incremented by (potentially concurrent) connection attempts, unlike other schedules, which are incremented by connection failures. Only altered on testing networks.
int ClientBootstrapConsensusAuthorityOnlyDownloadInitialDelay |
Schedule for when clients should download consensuses from authorities if they are bootstrapping (that is, they don't have a usable, reasonably live consensus). Only used by clients which don't have or won't fetch from a list of fallback directory mirrors.
This schedule is incremented by (potentially concurrent) connection attempts, unlike other schedules, which are incremented by connection failures. Only altered on testing networks.
int ClientBootstrapConsensusFallbackDownloadInitialDelay |
Schedule for when clients should download consensuses from fallback directory mirrors if they are bootstrapping (that is, they don't have a usable, reasonably live consensus). Only used by clients fetching from a list of fallback directory mirrors.
This schedule is incremented by (potentially concurrent) connection attempts, unlike other schedules, which are incremented by connection failures. Only altered on testing networks.
int ClientBootstrapConsensusMaxInProgressTries |
How many simultaneous in-progress connections will we make when trying to fetch a consensus before we wait for one to complete, timeout, or error out? Only altered on testing networks.
int ClientDNSRejectInternalAddresses |
If true, do not believe anybody who tells us that a domain resolves to an internal address, or that an internal address has a PTR mapping. Helps avoid some cross-site attacks.
int ClientOnly |
Boolean: should we never evolve into a server role?
int ClientPreferIPv6DirPort |
If true, prefer an IPv6 directory port over an IPv4 one for direct directory connections. If auto, bridge clients prefer IPv6, and other clients prefer IPv4. Use fascist_firewall_prefer_ipv6_dirport() instead of accessing this value directly.
int ClientPreferIPv6ORPort |
If true, prefer an IPv6 OR port over an IPv4 one for entry node connections. If auto, bridge clients prefer IPv6, and other clients prefer IPv4. Use node_ipv6_or_preferred() instead of accessing this value directly.
int ClientRejectInternalAddresses |
If true, do not accept any requests to connect to internal addresses over randomly chosen exits.
config_line_t* ClientTransportPlugin |
List of client transport plugins.
int ClientUseIPv4 |
If true, clients may connect over IPv4. If false, they will avoid connecting over IPv4. We enforce this for OR and Dir connections.
int ClientUseIPv6 |
If true, clients may connect over IPv6. If false, they will avoid connecting over IPv4. We enforce this for OR and Dir connections. Use fascist_firewall_use_ipv6() instead of accessing this value directly.
enum { ... } command |
What should the tor process actually do?
char* command_arg |
Argument for command-line option.
int ConnDirectionStatistics |
If true, the user wants us to collect connection statistics.
int ConnectionPadding |
Autobool: if auto, then connection padding will be negotiated by client and server. If 0, it will be fully disabled. If 1, the client will still pad to the server regardless of server support.
int ConnLimit |
Demanded minimum number of simultaneous connections.
int ConnLimit_ |
Maximum allowed number of simultaneous connections.
int ConnLimit_high_thresh |
start trying to lower socket usage if we have this many.
int ConnLimit_low_thresh |
try to get down to here after socket exhaustion.
char* ConsensusParams |
Authority only: key=value pairs that we add to our networkstatus consensus vote on the 'params' line.
int ConstrainedSockets |
Shrink xmit and recv socket buffers.
uint64_t ConstrainedSockSize |
Size of constrained buffers.
char* ContactInfo |
Contact info to be published in the directory.
config_line_t* ControlPort_lines |
Ports to listen on for control connections.
int ControlPortFileGroupReadable |
Should that file be group-readable?
char* ControlPortWriteToFile |
File where we should write the ControlPort.
config_line_t* ControlSocket |
List of Unix Domain Sockets to listen on for control connections.
int ControlSocketsGroupWritable |
Boolean: Are control sockets g+rw?
int CookieAuthentication |
Boolean: do we enable cookie-based auth for the control system?
char* CookieAuthFile |
Filesystem location of a ControlPort authentication cookie.
int CookieAuthFileGroupReadable |
Boolean: Is the CookieAuthFile g+r?
int CountPrivateBandwidth |
Boolean: if set, then even connections to private addresses will get rate-limited.
char* DataDirectory |
Where to store long-term data, as modified.
char* DataDirectory_option |
Where to store long-term data, as configured by the user.
int DataDirectoryGroupReadable |
Boolean: Is the DataDirectory g+r?
char* DebugLogFile |
Where to send verbose log messages.
int DirAllowPrivateAddresses |
Whether dirservers allow router descriptors with private IPs.
config_line_t* DirAuthorities |
List of configuration lines for replacement directory authorities. If you just want to replace one class of authority at a time, use the "Alternate*Authority" options below instead.
double DirAuthorityFallbackRate |
Weight to apply to all directory authority rates if considering them along with fallbackdirs
int DirCache |
Cache all directory documents and accept requests via tunnelled dir conns from clients. If 1, enabled (default); If 0, disabled.
config_line_t* DirPolicy |
Lists of dir policy components
config_line_t* DirPort_lines |
Ports to listen on for directory connections.
char* DirPortFrontPage |
This is a full path to a file with an html disclaimer. This allows a server administrator to show that they're running Tor and anyone visiting their server will know this without any specialized knowledge.
int DirReqStatistics |
Internal variable to remember whether we're actually acting on DirReqStatistics_option – yes if it's set and we're a server, else no.
int DirReqStatistics_option |
If true, we're configured to collect statistics on clients requesting network statuses from us as directory.
int DisableAllSwap |
Boolean: Attempt to call mlockall() on our process for all current and future memory.
int DisableDebuggerAttachment |
Currently Linux only specific attempt to disable ptrace; needs BSD testing.
int DisableNetwork |
If 1, we accept and launch no external network connections, except on control ports.
int DisableOOSCheck |
If 1, we skip all OOS checks.
int DisablePredictedCircuits |
Boolean: does Tor preemptively make circuits in the background (0), or not (1)?
int DisableSignalHandlers |
If true, Tor shouldn't install any posix signal handlers, since it is running embedded inside another process.
config_line_t* DNSPort_lines |
Ports to listen on for DNS requests.
int DoSCircuitCreationBurst |
Maximum allowed burst of circuits. Reaching that value, the address is detected as malicious and a defense might be used.
int DoSCircuitCreationDefenseTimePeriod |
For how much time (in seconds) the defense is applicable for a malicious address. A random time delta is added to the defense time of an address which will be between 1 second and half of this value.
int DoSCircuitCreationDefenseType |
When an address is marked as malicous, what defense should be used against it. See the dos_cc_defense_type_t enum.
int DoSCircuitCreationEnabled |
Autobool: Is the circuit creation DoS mitigation subsystem enabled?
int DoSCircuitCreationMinConnections |
Minimum concurrent connection needed from one single address before any defense is used.
int DoSCircuitCreationRate |
Circuit rate used to refill the token bucket.
int DoSConnectionDefenseType |
When an address is reaches the maximum count, what defense should be used against it. See the dos_conn_defense_type_t enum.
int DoSConnectionEnabled |
Autobool: Is the DoS connection mitigation subsystem enabled?
int DoSConnectionMaxConcurrentCount |
Maximum concurrent connection allowed per address.
int DoSRefuseSingleHopClientRendezvous |
Autobool: Do we refuse single hop client rendezvous?
int DownloadExtraInfo |
If true, we try to download extra-info documents (and we serve them, if we are a cache). For authorities, this is always true.
int EnforceDistinctSubnets |
If true, don't allow multiple routers in the same network zone in the same circuit.
routerset_t* EntryNodes |
Structure containing nicknames, digests, country codes and IP address patterns of ORs to consider as entry points.
int EntryStatistics |
If true, the user wants us to collect statistics as entry node.
routerset_t* ExcludeExitNodes |
Structure containing nicknames, digests, country codes and IP address patterns of ORs not to consider as exits.
routerset_t* ExcludeExitNodesUnion_ |
Union of ExcludeNodes and ExcludeExitNodes
routerset_t* ExcludeNodes |
Structure containing nicknames, digests, country codes and IP address patterns of ORs not to use in circuits. But see StrictNodes above.
routerset_t* ExitNodes |
Structure containing nicknames, digests, country codes and IP address patterns of ORs to consider as exits.
config_line_t* ExitPolicy |
Lists of exit policy components.
int ExitPolicyRejectLocalInterfaces |
Should we not exit to local interface addresses? Includes OutboundBindAddresses and configured ports.
int ExitPolicyRejectPrivate |
Should we not exit to reserved private addresses, and our own published addresses?
int ExitPortStatistics |
If true, the user wants us to collect statistics on port usage.
int ExitRelay |
Is this an exit node? This is a tristate, where "1" means "yes, and use the default exit policy if none is given" and "0" means "no; exit policy is 'reject *'" and "auto" (-1) means "same as 1, but warn the user."
XXXX Eventually, the default will be 0.
int ExtendAllowPrivateAddresses |
Whether routers accept EXTEND cells to routers with private IPs.
int ExtendByEd25519ID |
Autobool: Should we include Ed25519 identities in extend2 cells? If -1, we should do whatever the consensus parameter says.
config_line_t* ExtORPort_lines |
Ports to listen on for extended OR connections.
char* ExtORPortCookieAuthFile |
Filesystem location of Extended ORPort authentication cookie.
int ExtORPortCookieAuthFileGroupReadable |
Boolean: Is the ExtORPortCookieAuthFile g+r?
int ExtraInfoStatistics |
If true, include statistics file contents in extra-info documents.
config_line_t* FallbackDir |
List of fallback directory servers
int FascistFirewall |
Whether to prefer ORs reachable on open ports.
int FetchDirInfoEarly |
Should we always fetch our dir info on the mirror schedule (which means directly from the authorities) no matter our other config?
int FetchDirInfoExtraEarly |
Should we fetch our dir info at the start of the consensus period?
int FetchHidServDescriptors |
and hidden service descriptors?
int FetchServerDescriptors |
Do we fetch server descriptors as normal?
int FetchUselessDescriptors |
Do we fetch non-running descriptors too?
smartlist_t* FilesOpenedByIncludes |
List of files that were opened by include in torrc and torrc-defaults
smartlist_t* FirewallPorts |
Which ports our firewall allows (strings).
int GeoIPExcludeUnknown |
Autobool: if auto, then any attempt to Exclude{Exit,}Nodes a particular country code will exclude all nodes in ?? and A1. If true, all nodes in ?? and A1 are excluded. Has no effect if we don't know any GeoIP data.
char* GeoIPFile |
Optionally, IPv4 and IPv6 GeoIP data.
char* GuardfractionFile |
Location of guardfraction file
int GuardLifetime |
How long (seconds) do we keep a guard before picking a new one?
int HardwareAccel |
Boolean: Should we enable OpenSSL hardware acceleration where available?
config_line_t* HashedControlPassword |
Base64-encoded hash of accepted passwords for the control system.
config_line_t* HashedControlSessionPassword |
As HashedControlPassword, but not saved.
int HeartbeatPeriod |
Log heartbeat messages after this many seconds have passed.
int HiddenServiceSingleHopMode |
Onion Services in HiddenServiceSingleHopMode make one-hop (direct) circuits between the onion service server, and the introduction and rendezvous points. (Onion service descriptors are still posted using 3-hop paths, to avoid onion service directories blocking the service.) This option makes every hidden service instance hosted by this tor instance a Single Onion Service. HiddenServiceSingleHopMode requires HiddenServiceNonAnonymousMode to be set to 1. Use rend_service_allow_non_anonymous_connection() or rend_service_reveal_startup_time() instead of using this option directly.
int HiddenServiceStatistics |
Internal variable to remember whether we're actually acting on HiddenServiceStatistics_option – yes if it's set and we're a server, else no.
int HiddenServiceStatistics_option |
If true, the user wants us to collect statistics as hidden service directory, introduction point, or rendezvous point.
config_line_t* HidServAuth |
List of configuration lines for client-side authorizations for hidden services
routerset_t* HSLayer2Nodes |
A routerset that should be used when picking middle nodes for HS circuits.
routerset_t* HSLayer3Nodes |
A routerset that should be used when picking third-hop nodes for HS circuits.
char* HTTPProxy |
hostname[:port] to use as http proxy, if any.
tor_addr_t HTTPProxyAddr |
Parsed IPv4 addr for http proxy, if any.
char* HTTPProxyAuthenticator |
username:password string, if any.
uint16_t HTTPProxyPort |
Parsed port for http proxy, if any.
char* HTTPSProxy |
hostname[:port] to use as https proxy, if any.
tor_addr_t HTTPSProxyAddr |
Parsed addr for https proxy, if any.
char* HTTPSProxyAuthenticator |
username:password string, if any.
uint16_t HTTPSProxyPort |
Parsed port for https proxy, if any.
config_line_t* HTTPTunnelPort_lines |
Ports to listen on for HTTP Tunnel connections.
int IncludeUsed |
Bool (default: 0): Tells if a include was used on torrc
int IPv6Exit |
Do we support exiting to IPv6 addresses?
int KeepalivePeriod |
How often do we send padding cells to keep connections alive?
int KeepBindCapabilities |
Autobool: Do we try to retain capabilities if we can?
char* KeyDirectory |
Where to store keys data, as modified.
char* KeyDirectory_option |
Where to store keys, as configured by the user.
int KeyDirectoryGroupReadable |
Boolean: Is the KeyDirectory g+r?
int KISTSchedRunInterval |
Have the KIST scheduler run every X milliseconds. If less than zero, do not use the KIST scheduler but use the old vanilla scheduler instead. If zero, do what the consensus says and fall back to using KIST as if this is set to "10 msec" if the consensus doesn't say anything.
double KISTSockBufSizeFactor |
A multiplier for the KIST per-socket limit calculation.
int LearnCircuitBuildTimeout |
If non-zero, we attempt to learn a value for CircuitBuildTimeout based on timeout history. Use circuit_build_times_disabled() rather than checking this value directly.
int LeaveStreamsUnattached |
Boolean: Does Tor attach new streams to circuits itself (0), or does it expect a controller to cope? (1)
int LogMessageDomains |
Boolean: Should we log the domain(s) in which each log message occurs?
config_line_t* Logs |
New-style list of configuration lines for logs
int LogTimeGranularity |
Log resolution in milliseconds.
smartlist_t* LongLivedPorts |
Application ports that require all nodes in circ to have sufficient uptime.
int MainloopStats |
Log main loop statistics as part of the heartbeat messages.
uint64_t MaxAdvertisedBandwidth |
How much bandwidth are we willing to tell other nodes we have?
int MaxCircuitDirtiness |
Never use circs that were first used more than this interval ago.
int MaxClientCircuitsPending |
Maximum number of non-open general-purpose origin circuits to allow at once.
int MaxConsensusAgeForDiffs |
The seconds after expiration which we as a relay should keep old consensuses around so that we can generate diffs from them. If 0, use the default.
uint64_t MaxMemInQueues |
If we have more memory than this allocated for queues and buffers, run the OOM handler
uint64_t MaxMemInQueues_low_threshold |
Above this value, consider ourselves low on RAM.
uint64_t MaxUnparseableDescSizeToLog |
Maximum total size of unparseable descriptors to log during the lifetime of this Tor process.
int MinMeasuredBWsForAuthToIgnoreAdvertised |
Authority only: minimum number of measured bandwidths we must see before we only believe measured bandwidths to assign flags.
int MinUptimeHidServDirectoryV2 |
As directory authority, accept hidden service directories after what time?
config_line_t* MyFamily |
Declared family for this OR, normalized
config_line_t* MyFamily_lines |
Declared family for this OR.
config_line_t* NATDPort_lines |
Ports to listen on for transparent natd connections.
int NewCircuitPeriod |
How long do we use a circuit before building a new one?
char* Nickname |
OR only: nickname of this onion router.
config_line_t* NodeFamilies |
List of config lines for node families
smartlist_t* NodeFamilySets |
List of parsed NodeFamilies values.
int NoExec |
Bool (default: 0). Tells Tor to never try to exec another program.
int NumCPUs |
How many CPUs should we try to use?
int NumDirectoryGuards |
How many dir guards do we try to establish? If 0, use value from NumEntryGuards.
int NumEntryGuards |
How many entry guards do we try to establish?
int NumPrimaryGuards |
How many primary guards do we want?
int OfflineMasterKey |
Force use of offline master key features: never generate a master ed25519 identity key except from tor –keygen
int OptimisticData |
If 1, we always send optimistic data when it's supported. If 0, we never use it. If -1, we do what the consensus says.
config_line_t* ORPort_lines |
Ports to listen on for OR connections.
config_line_t* OutboundBindAddress |
Local address to bind outbound sockets
tor_addr_t OutboundBindAddresses[OUTBOUND_ADDR_MAX][2] |
Addresses derived from the various OutboundBindAddress lines. [][0] is IPv4, [][1] is IPv6
config_line_t* OutboundBindAddressExit |
Local address to bind outbound exit sockets
config_line_t* OutboundBindAddressOR |
Local address to bind outbound relay sockets
int OwningControllerFD |
FD specifier for a controller that owns this Tor instance.
char* OwningControllerProcess |
Process specifier for a controller that ‘owns’ this Tor instance. Tor will terminate if its owning controller does.
int PaddingStatistics |
If true, the user wants us to collect padding statistics.
int PathBiasCircThreshold |
Parameters for path-bias detection.
These options override the default behavior of Tor's (currently 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, .50, .30, 0, and 300 respectively.
int PathBiasUseThreshold |
Parameters for path-bias use detection
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, .60, and 100, respectively.
double PathsNeededToBuildCircuits |
Fraction:
uint64_t PerConnBWBurst |
Allowed burst on a single TLS conn, if set.
uint64_t PerConnBWRate |
Long-term bw on a single TLS conn, if set.
char* PidFile |
Where to store PID of Tor process.
int ProtocolWarnings |
Boolean: when other parties screw up the Tor protocol, is it a warn or an info in our logs?
int PublishHidServDescriptors |
Boolean: do we publish hidden service descriptors to the HS auths?
smartlist_t* PublishServerDescriptor |
To what authority types do we publish our descriptor? Choices are "v1", "v2", "v3", "bridge", or "".
dirinfo_type_t PublishServerDescriptor_ |
A bitfield of authority types, derived from PublishServerDescriptor.
config_line_t* ReachableAddresses |
IP:ports our firewall allows.
config_line_t* ReachableDirAddresses |
IP:ports for Dir conns.
config_line_t* ReachableORAddresses |
IP:ports for OR conns.
config_line_t* RecommendedVersions |
Directory server only: which versions of Tor should we tell users to run?
int ReducedConnectionPadding |
Boolean: Should we try to keep connections open shorter and pad them less against connection-level traffic analysis?
int ReducedExitPolicy |
Should we use the Reduced Exit Policy?
int RefuseUnknownExits |
Whether we should drop exit streams from Tors that we don't know are relays. One of "0" (never refuse), "1" (always refuse), or "-1" (do what the consensus says, defaulting to 'refuse' if the consensus says nothing).
smartlist_t* RejectPlaintextPorts |
Application ports that are likely to be unencrypted and unauthenticated; we reject requests for them to prevent the user from screwing up and leaking plaintext secrets to an observer somewhere on the Internet.
uint64_t RelayBandwidthBurst |
How much bandwidth, at maximum, will we use in a second for all relayed conns?
uint64_t RelayBandwidthRate |
How much bandwidth, on average, are we willing to use for all relayed conns?
int ReloadTorrcOnSIGHUP |
If true, SIGHUP should reload the torrc. Sometimes controllers want to make this false.
config_line_t* RendConfigLines |
List of configuration lines for rendezvous services.
int RendPostPeriod |
How often do we post each rendezvous service descriptor? Remember to publish them independently.
int RephistTrackTime |
How many seconds do we keep rephist info?
int RunAsDaemon |
If true, run in the background. (Unix only)
char* SafeLogging |
Contains "relay", "1", "0" (meaning no scrubbing).
int SafeSocks |
Boolean: should we outright refuse application connections that use socks4 or socks5-with-local-dns?
int Sandbox |
Boolean: should sandboxing be enabled?
smartlist_t* Schedulers |
The list of scheduler type string ordered by priority that is first one has to be tried first. Default: KIST,KISTLite,Vanilla
int ServerDNSAllowBrokenConfig |
Boolean: if set, we start even if our resolv.conf file is missing or broken.
int ServerDNSAllowNonRFC953Hostnames |
If true, we try resolving hostnames with weird characters.
int ServerDNSDetectHijacking |
Boolean: If true, check for DNS failure hijacking.
int ServerDNSRandomizeCase |
Boolean: Use the 0x20-hack to prevent DNS poisoning attacks.
char* ServerDNSResolvConfFile |
If provided, we configure our internal resolver from the file here rather than from /etc/resolv.conf (Unix) or the registry (Windows).
int ServerDNSSearchDomains |
Boolean: If set, we don't force exit addresses to be FQDNs, but rather search for them in the local domains.
smartlist_t* ServerDNSTestAddresses |
A list of addresses that definitely should be resolvable. Used for testing our DNS server.
config_line_t* ServerTransportListenAddr |
List of TCP/IP addresses that transports should listen at.
config_line_t* ServerTransportOptions |
List of options that must be passed to pluggable transports.
config_line_t* ServerTransportPlugin |
List of client transport plugins.
int ShutdownWaitLength |
When we get a SIGINT and we're a server, how long do we wait before exiting?
int SigningKeyLifetime |
For how long (seconds) do we declare our signing keys to be valid?
char* Socks4Proxy |
hostname:port to use as a SOCKS4 proxy, if any.
tor_addr_t Socks4ProxyAddr |
Derived from Socks4Proxy.
uint16_t Socks4ProxyPort |
Derived from Socks4Proxy.
char* Socks5Proxy |
hostname:port to use as a SOCKS5 proxy, if any.
tor_addr_t Socks5ProxyAddr |
Derived from Sock5Proxy.
char* Socks5ProxyPassword |
Password for SOCKS5 authentication, if any
uint16_t Socks5ProxyPort |
Derived from Socks5Proxy.
char* Socks5ProxyUsername |
Username for SOCKS5 authentication, if any
config_line_t* SocksPolicy |
Lists of socks policy components
config_line_t* SocksPort_lines |
Ports to listen on for SOCKS connections.
int SocksTimeout |
How long do we let a socks connection wait unattached before we fail it?
int SSLKeyLifetime |
What expiry time shall we place on our SSL certs? "0" means we should guess a suitable value.
int StrictNodes |
Boolean: When none of our EntryNodes or ExitNodes are up, or we need to access a node in ExcludeNodes, do we just fail instead?
char* SyslogIdentityTag |
Identity tag to add for syslog logging.
int TestingAuthDirTimeToLearnReachability |
If an authority has been around for less than this amount of time, it does not believe its reachability information is accurate. Only altered on testing networks.
int TestingAuthKeyLifetime |
For how long (seconds) do we declare our auth keys to be valid?
int TestingAuthKeySlop |
How long before auth keys expire will we try to make a new one?
int TestingBridgeBootstrapDownloadInitialDelay |
Schedule for when clients should download bridge descriptors when they have no running bridges. Only altered on testing networks.
int TestingBridgeDownloadInitialDelay |
Schedule for when clients should download bridge descriptors. Only altered on testing networks.
int TestingClientConsensusDownloadInitialDelay |
Schedule for when clients should download consensuses. Only altered on testing networks.
int TestingClientDownloadInitialDelay |
Schedule for when clients should download things in general. Only altered on testing networks.
int TestingClientMaxIntervalWithoutRequest |
When directory clients have only a few descriptors to request, they batch them until they have more, or until this amount of time has passed. Only altered on testing networks.
routerset_t* TestingDirAuthVoteExit |
Relays in a testing network which should be voted Exit regardless of exit policy.
routerset_t* TestingDirAuthVoteGuard |
Relays in a testing network which should be voted Guard regardless of uptime and bandwidth.
routerset_t* TestingDirAuthVoteHSDir |
Relays in a testing network which should be voted HSDir regardless of uptime and DirPort.
int TestingDirConnectionMaxStall |
How long do we let a directory connection stall before expiring it? Only altered on testing networks.
int TestingEnableCellStatsEvent |
Enable CELL_STATS events. Only altered on testing networks.
int TestingEnableConnBwEvent |
Enable CONN_BW events. Only altered on testing networks.
int TestingEstimatedDescriptorPropagationTime |
Clients don't download any descriptor this recent, since it will probably not have propagated to enough caches. Only altered on testing networks.
int TestingLinkCertLifetime |
For how long (seconds) do we declare our link keys to be valid?
int TestingLinkKeySlop |
How long before link keys expire will we try to make a new one?
uint64_t TestingMinExitFlagThreshold |
Minimum value for the Exit flag threshold on testing networks.
uint64_t TestingMinFastFlagThreshold |
Minimum value for the Fast flag threshold on testing networks.
int TestingServerConsensusDownloadInitialDelay |
Schedule for when servers should download consensuses. Only altered on testing networks.
int TestingServerDownloadInitialDelay |
Schedule for when servers should download things in general. Only altered on testing networks.
int TestingSigningKeySlop |
How long before signing keys expire will we try to make a new one?
int TestingTorNetwork |
If true, we take part in a testing network. Change the defaults of a couple of other configuration options and allow to change the values of certain configuration options.
int TestingV3AuthInitialDistDelay |
The length of time we think it will take to distribute initial signatures. Only altered on testing networks.
int TestingV3AuthInitialVoteDelay |
The length of time we think it will take to distribute initial votes. Only altered on testing networks.
int TestingV3AuthInitialVotingInterval |
The length of time that we think an initial consensus should be fresh. Only altered on testing networks.
int TestingV3AuthVotingStartOffset |
Offset in seconds added to the starting time for consensus voting. Only altered on testing networks.
int TestSocks |
Boolean: when we get a socks connection, do we loudly log whether it was DNS-leaking or not?
int TokenBucketRefillInterval |
Token Bucket Refill resolution in milliseconds.
int Tor2webMode |
Run in 'tor2web mode'? (I.e. only make client connections to hidden services, and use a single hop for all hidden-service-related circuits.)
routerset_t* Tor2webRendezvousPoints |
A routerset that should be used when picking RPs for HS circuits.
smartlist_t* TrackHostExits |
Should we try to reuse the same exit node for a given host
int TrackHostExitsExpire |
Number of seconds until we expire an addressmap
config_line_t* TransPort_lines |
Ports to listen on for transparent pf/netfilter connections.
char* TransProxyType |
What kind of transparent proxy implementation are we using?
enum { ... } TransProxyType_parsed |
Parsed value of TransProxyType.
int TruncateLogFile |
Boolean: Should we truncate the log file before we start writing?
int UnixSocksGroupWritable |
Boolean: Are SOCKS Unix sockets g+rw?
int UpdateBridgesFromAuthority |
Boolean: if we know the bridge's digest, should we get new descriptors from the bridge authorities or from the bridge itself?
int UseBridges |
Boolean: should we start all circuits with a bridge?
int UseDefaultFallbackDirs |
Whether to use the default hard-coded FallbackDirs
int UseEntryGuards |
Internal variable to remember whether we're actually acting on UseEntryGuards_option – when we're a non-anonymous Tor2web client or Single Onion Service, it is always false, otherwise we use the value of UseEntryGuards_option.
int UseEntryGuards_option |
Boolean: Do we try to enter from a smallish number of fixed nodes?
int UseGuardFraction |
If 1, we use any guardfraction information we see in the consensus. If 0, we don't. If -1, let the consensus parameter decide.
int UseMicrodescriptors |
If 1, we try to use microdescriptors to build circuits. If 0, we don't. If -1, Tor decides.
char* User |
Name of user to run Tor as.
int UsingTestNetworkDefaults_ |
Set to true if the TestingTorNetwork configuration option is set. This is used so that options_validate() has a chance to realize that the defaults have changed.
int V3AuthDistDelay |
The length of time we think it will take to distribute signatures.
int V3AuthNIntervalsValid |
The number of intervals we think a consensus should be valid.
int V3AuthoritativeDir |
Boolean: is this an authoritative directory for version 3 directories?
int V3AuthUseLegacyKey |
Should advertise and sign consensuses with a legacy key, for key migration purposes?
int V3AuthVoteDelay |
The length of time we think it will take to distribute votes.
int V3AuthVotingInterval |
The length of time that we think a consensus should be fresh.
char* V3BandwidthsFile |
Location of bandwidth measurement file
int VersioningAuthoritativeDir |
Boolean: is this an authoritative directory that's willing to recommend versions?
char* VirtualAddrNetworkIPv4 |
Address and mask to hand out for virtual MAPADDRESS requests for IPv4 addresses
char* VirtualAddrNetworkIPv6 |
Address and mask to hand out for virtual MAPADDRESS requests for IPv6 addresses
smartlist_t* WarnPlaintextPorts |
Related to RejectPlaintextPorts above, except this config option controls whether we warn (in the log and via a controller status event) every time a risky connection is attempted.