# (Built-in defaults for the arti configuration format.) # Default port to use when listening to SOCKS connections. We always # listen on localhost. # # Note that only one process can listen on a given port at a time. socks_port = 9150 # Configure logging [logging] # Enable logging to journald where available journald = false # Specify filtering directives for tracing. # # It can be as simple as a single loglevel, or as complicated as a # list with per-module settings. # # You can override this setting with the -l, --log-level command-line option. # # Example: # trace_filter = "info,tor_proto::channel=trace" # # For more information, see https://docs.rs/tracing-subscriber/0.2.20/tracing_subscriber/filter/struct.EnvFilter.html trace_filter = "debug" # Locations to use for storing things on disk. # # These paths can use ~ to indicate the user's home directory, or a set # of shell-style variables to indicate platform-specific paths. # # Supported variables are APP_CACHE, APP_CONFIG, APP_SHARED_DATA, # APP_LOCAL_DATA, and USER_HOME. # # Multiple processes can share the same cache_dir. If they do, one of them # will download directory information for all of the others. # # The state directory is not yet used. [storage] cache_dir = "${APP_CACHE}" state_dir = "${APP_LOCAL_DATA}" # Replacement values for consensus parameters. This is an advanced option # and you probably should leave it alone. Not all parameters are supported. # These are case-sensitive. # #[override_net_params] #circwindow = 1000 #min_paths_for_circs_pct = 60 # Configuration for timing when and how often we should download directory # information. # # We use a randomized algorithm for determining when to retry. With # the various retry_* options, "num" is the number of downloads to # attempt, and "initial_delay" is a parameter determining both our # _first_ delay before we reattempt, and our _minimum_ delay for # subsequent attempts. [download_schedule] # How to retry our initial bootstrapping when we're trying to start up. retry_bootstrap = { num = 128, initial_delay = "1 sec" } # How to retry a single consensus download. retry_consensus = { num = 3, initial_delay = "1 sec" } # How to retry a set of authority certificate downloads. retry_certs = { num = 3, initial_delay = "1 sec" } # How to retry a set of microdescriptor downloads. retry_microdescs = { num = 3, initial_delay = "1 sec" } # How many microdescriptor fetches to launch at once. microdesc_parallelism = 4 # Tells the circuit manager rule for constructing circuit paths [path_rules] # How far apart do relays need to be in IP-space before they can be # used in the same circuit? For example, "subnets_family_v4"=16 below # means that two relays cannot appear in the same circuit if their # IPv4 addresses begin with the same 16 bits. enforce_distance = { "subnets_family_v4" = 16, "subnets_family_v6" = 32 } # Rules for how long circuits should survive. [circuit_timing] # Once a circuit has been used for a request, we stop giving it out for # other requests after this time. max_dirtiness = "10 minutes" # Rules for how long pending requests should wait for a circuit. [request_timing] # When a circuit is requested, we keep trying to build circuits for up # to this long before the request gives up. request_timeout = "60 sec" # When a circuit is requested, we make up to this many attempts to build # circuits for it before the request gives up. request_max_retries = 32 # If a circuit is finished that would satisfy a pending request, but the # request is still waiting for its own circuits to complete, the request # will wait this long before using the unexpectedly available circuit. request_loyalty = "50 msec" # Rules for client configuration [addr_config] # Should we allow attempts to make Tor connections to local addresses? allow_local_addrs = false