sbws.ini - Simple Bandwidth Scanner configuration
Tor bandwidth scanner configuration file.
sbws (1) scanner command requires a configuration
file with the "[scanner]", "[destinations]"
"[destination.<name>]" sections.
There must be at least one
"[destination.<name>]".
See an EXAMPLES below for a minimal configuration.
paths
When
sbws is run as a system service,
~/.sbws is changed to
/var/lib/sbws.
- sbws_home =
STR
- sbws home directory. (Default: ~/.sbws)
- datadir =
STR
- Directory where sbws stores temporal bandwidth results files. (Default:
~/.sbws/datadir)
- v3bw_dname =
STR
- Directory where sbws stores the bandwidth list files. These are the files
to be read by the Tor Directory Authorities. (Default: ~/.sbws/v3bw)
- v3bw_fname =
STR
- File names of the bandwidth list files. The latest bandwidth file is
symlinked by latest.v3bw
- state_fname =
STR
- File path to store the timestamp when the scanner was last started.
(Default: ~/.sbws/state.dat)
- log_dname =
STR
- Directory where to store log files when logging to files is enabled.
(Default: ~/.sbws/log)
destinations
It is required to set at least one destination for the
scanner to run. It is recommended to set several destinations so that the
scanner can continue if one fails.
- STR = {on, off}
- Name of destination. It is a name for the Web server from where to
download files in order to measure bandwidths.
- usability_test_interval
= INT
- How often to check if a destination is usable (Default: 300)
- destinations.STR
- url = STR
- The URL to the destination. It must include a file path. It can use both
http or https.
- verify =
BOOL
- Whether or not to verify the destination certificate. (Default: True)
- country =
STR
- ISO 3166-1 alpha-2 country code. Use ZZ if the destination URL is a domain
name and it is in a CDN.
tor
When
sbws is run as a system service
~/.sbws/tor is replaced by
/run/sbws/tor.
- datadir =
STR
- sbws' owned tor directory. (Default: ~/.sbws/tor)
- control_socket
= STR
- sbws's owned tor control socket file. (Default:
~/.sbws/tor/sbws/control)
- pid = STR
- sbws's owned tor pid file. (Default: ~/.sbws/tor/sbws/tor.pid)
- log = STR
- sbws's owned tor directory log files. (Default: ~/.sbws/tor/log)
- external_control_port
= INT
- tor control port to connect to. Useful to run integration tests with
chutney. (Default: not set. If set, it takes preference over the control
socket)
- sbws's tor extra configuration. (Default: None)
- scanner
- nickname =
STR
- A human-readable string with chars in a-zA-Z0-9 to identify the scanner.
(Default: IDidntEditTheSBWSConfig)
- country =
STR
- ISO 3166-1 alpha-2 country code. (Default: AA, a non existing country to
detect it was not edited)
- download_toofast
= INT
- Limits on what download times are too fast/slow/etc. (Default: 1)
- download_min
= INT
- Limits on what download times are too fast/slow/etc. (Default: 5)
- download_target
= INT
- Limits on what download times are too fast/slow/etc. (Default: 6)
- download_max
= INT
- Limits on what download times are too fast/slow/etc. (Default: 10)
- num_rtts =
INT
- How many RTT measurements to make. (Default: 0)
- num_downloads
= INT
- Number of downloads with acceptable times we must have for a relay before
moving on. (Default: 5)
- initial_read_request
= INT
- The number of bytes to initially request from the server. (Default:
16384)
- measurement_threads
= INT
- How many measurements to make in parallel. (Default: 3)
- min_download_size
= INT
- Minimum number of bytes we should ever try to download in a measurement.
(Default: 1)
- max_download_size
= INT
- Maximum number of bytes we should ever try to download in a measurement.
(Default: 1073741824) 1073741824 == 1 GiB
- relayprioritizer
- cleanup
- logging
- to_file = {yes,
no}
- Whether or not to log to a rotating file the directory paths.log_dname.
(Default: yes)
- to_stdout = {yes,
no}
- Whether or not to log to stdout. (Default: yes)
- to_syslog = {yes,
no}
- Whether or not to log to syslog. (Default: no) NOTE that when sbws is
launched by systemd, stdout goes to journal and syslog.
- to_file_max_bytes
= INT
- If logging to file, how large (in bytes) should the file be allowed to get
before rotating to a new one. 10485760 is 10 MiB. If zero or number of
backups is zero, never rotate the log file. (Default: 10485760)
- to_file_num_backups
= INT
- If logging to file, how many backups to keep. If zero or max bytes is
zero, never rotate the log file. (Default: 50)
- level = {debug, info,
warning, error, critical}
- Level to log at. (Default: debug)
- to_file_level
= {debug, info, warning, error, critical}
- Level to log at when using files. (Default: debug)
- to_stdout_level
= {debug, info, warning, error, critical}
- Level to log at when using stdout. (Default: info)
- to_syslog_level
= {debug, info, warning, error, critical}
- Level to log at when using syslog. (Default: info)
- format =
STR
- Format string to use when logging. (Default: %(asctime)s
%(module)s[%(process)s]: <%(levelname)s> %(message)s)
- to_stdout_format
= STR
- Format string to use when logging to stdout. (Default: ${format})
- to_syslog_format
= STR
- Format string to use when logging to syslog. (Default:
%(module)s[%(process)s]: <%(levelname)s> %(message)s)
- to_file_format
= STR
- Format string to use when logging to files. (Default: %(asctime)s
%(levelname)s %(threadName)s %(filename)s:%(lineno)s - %(funcName)s -
%(message)s)
Example destinations section:
[scanner]
nickname = Manual
country = US
[destinations]
foo = on
bar = on
baz = off
[destinations.foo]
# using HTTP
url = http://example.org/sbws.bin
country = ZZ
verify = False
[destinations.bar]
# using HTTPS
url = https://example.com/data
country = SN
[destinations.baz]
# this will be ignored
url = https://example.net/ask/stan/where/the/file/is.exe
country = TH
- $HOME/.sbws.ini
- Default sbws user configuration path.
Any other path to the configuration file can be specified using
the sbws argument -c
sbws (1),
https://tpo.pages.torproject.net/network-health/sbws.
Please report bugs at
https://gitlab.torproject.org/tpo/network-health/sbws/-/issues/.
Matt Traudt [sirmatt at ksu dot edu], juga [juga at riseup dot
net]