sbws
2.1.0+17.g75fccfd
Site
Readme
Installing Simple Bandwidth Scanner
Deploying Simple Bandwidth Scanner
Troubleshooting
Changelog
Authors
Simple Bandwidth Scanner - SBWS(1)
Simple Bandwidth Scanner - SBWS.INI(5)
Contributing to Simple Bandwidth Scanner
Installing tests dependencies and running tests
Installing and building the documentation
How sbws works
How aggregation and scaling works
Torflow aggregation and scaling
Differences between Torflow and sbws
Data retention
BandwidthFile
modifications
Code design
The
state.dat
file
Internal code configuration files
Internal Tor configuration for the scanner
Package API
Implementation decisions
Relays’ bandwidth distribution
How bandwidth files are shown in the Tor network
Bandwidth authorities in metrics
Monitoring bandwidth changes in the Tor Network
Roadmap
Glossary
Frequently Asked Questions (FAQ)
Switching from helpers to HTTP(S)
Page
Index
_
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
K
|
L
|
M
|
N
|
O
|
P
|
R
|
S
|
T
|
U
|
V
|
W
|
X
_
_calculate_min_bw_second_hop() (sbws.lib.relaylist.RelayList method)
_from_desc() (sbws.lib.relaylist.Relay method)
_from_ns() (sbws.lib.relaylist.Relay method)
_init_relays() (sbws.lib.relaylist.RelayList method)
_need_refresh() (sbws.lib.relaylist.RelayList method)
_refresh() (sbws.lib.relaylist.RelayList method)
_relays_with_flag() (sbws.lib.relaylist.RelayList method)
_relays_without_flag() (sbws.lib.relaylist.RelayList method)
_ResultType (class in sbws.lib.resultdump)
_StrEnum (class in sbws.lib.resultdump)
A
add_event_listener() (in module sbws.util.stem)
add_net_bw_avgs() (sbws.lib.v3bwfile.V3BWHeader method)
add_relays_excluded_counters() (sbws.lib.v3bwfile.V3BWHeader method)
add_stats() (sbws.lib.v3bwfile.V3BWHeader method)
add_time_report_half_network() (sbws.lib.v3bwfile.V3BWHeader method)
address (sbws.lib.relaylist.Relay property)
(sbws.lib.resultdump.Result property)
attach_stream_to_circuit_listener() (in module sbws.util.stem)
authorities (sbws.lib.relaylist.RelayList property)
average_bandwidth (sbws.lib.relaylist.Relay property)
B
bad_exits (sbws.lib.relaylist.RelayList property)
bandwidth authority
bandwidth list file
best_priority() (sbws.lib.relayprioritizer.RelayPrioritizer method)
build_circuit() (sbws.lib.circuitbuilder.GapsCircuitBuilder method)
burst_bandwidth (sbws.lib.relaylist.Relay property)
bw_kb() (sbws.lib.v3bwfile.V3BWFile static method)
bw_keyvalue_tuple_ls (sbws.lib.v3bwfile.V3BWLine property)
bw_keyvalue_v1str_ls (sbws.lib.v3bwfile.V3BWLine property)
bw_line_for_node_id() (sbws.lib.v3bwfile.V3BWFile method)
bw_mean_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
bw_median_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
bw_sbws_scale() (sbws.lib.v3bwfile.V3BWFile static method)
bw_strv1 (sbws.lib.v3bwfile.V3BWLine property)
bw_torflow_scale() (sbws.lib.v3bwfile.V3BWFile static method)
C
can_exit_to_port() (sbws.lib.relaylist.Relay method)
circ (sbws.lib.resultdump.Result property)
circuit_str() (in module sbws.util.stem)
CircuitBuilder (class in sbws.lib.circuitbuilder)
close_circuit() (sbws.lib.circuitbuilder.CircuitBuilder method)
configure_logging() (in module sbws.util.config)
consensus_bandwidth (sbws.lib.relaylist.Relay property)
(sbws.lib.resultdump.Result property)
consensus_bandwidth_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
consensus_bandwidth_is_unmeasured (sbws.lib.relaylist.Relay property)
(sbws.lib.resultdump.Result property)
consensus_bandwidth_is_unmeasured_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
consensus_count_from_file() (sbws.lib.v3bwfile.V3BWHeader static method)
consensus_valid_after (sbws.lib.relaylist.Relay property)
count() (sbws.util.state.State method)
create_parser() (in module sbws.util.parser)
create_path_relay() (in module sbws.core.scanner)
D
desc_bw_avg_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
desc_bw_bur_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
desc_bw_obs_last_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
desc_bw_obs_mean_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
dest_url (sbws.lib.resultdump.Result property)
destination
directory authority
DirectoryLock (class in sbws.util.filelock)
dispatch_worker_thread() (in module sbws.core.scanner)
downloads (sbws.lib.resultdump.ResultSuccess property)
dumpstacks() (in module sbws.core.scanner)
E
earliest_bandwidth_from_results() (sbws.lib.v3bwfile.V3BWHeader static method)
enter() (sbws.lib.resultdump.ResultDump method)
Error (sbws.lib.resultdump._ResultType attribute)
error_no_circuit() (in module sbws.core.scanner)
error_no_helper() (in module sbws.core.scanner)
ErrorAuth (sbws.lib.resultdump._ResultType attribute)
ErrorCircuit (sbws.lib.resultdump._ResultType attribute)
ErrorDestination (sbws.lib.resultdump._ResultType attribute)
ErrorSecondRelay (sbws.lib.resultdump._ResultType attribute)
ErrorStream (sbws.lib.resultdump._ResultType attribute)
exit_min_bw() (sbws.lib.relaylist.RelayList method)
exit_policy (sbws.lib.relaylist.Relay property)
exits (sbws.lib.relaylist.RelayList property)
exits_not_bad_allowing_port() (sbws.lib.relaylist.RelayList method)
exits_with_2_in_flowctrl() (sbws.lib.relaylist.RelayList method)
exits_without_2_in_flowctrl() (sbws.lib.relaylist.RelayList method)
F
fail_hard() (in module sbws.globals)
fast (sbws.lib.relaylist.RelayList property)
FileLock (class in sbws.util.filelock)
fingerprint (sbws.lib.relaylist.Relay property)
(sbws.lib.resultdump.Result property)
flags (sbws.lib.relaylist.Relay property)
freshness_reduction_factor (sbws.lib.resultdump.ResultError property)
(sbws.lib.resultdump.ResultErrorAuth property)
(sbws.lib.resultdump.ResultErrorCircuit property)
from_bw_line_v1() (sbws.lib.v3bwfile.V3BWLine class method)
from_data() (sbws.lib.v3bwfile.V3BWLine class method)
from_dict() (sbws.lib.resultdump.Result static method)
(sbws.lib.resultdump.ResultError static method)
(sbws.lib.resultdump.ResultErrorAuth static method)
(sbws.lib.resultdump.ResultErrorCircuit static method)
(sbws.lib.resultdump.ResultErrorDestination static method)
(sbws.lib.resultdump.ResultErrorSecondRelay static method)
(sbws.lib.resultdump.ResultErrorStream static method)
(sbws.lib.resultdump.ResultSuccess static method)
from_lines_v1() (sbws.lib.v3bwfile.V3BWHeader class method)
from_lines_v100() (sbws.lib.v3bwfile.V3BWHeader class method)
from_results() (sbws.lib.v3bwfile.V3BWFile class method)
(sbws.lib.v3bwfile.V3BWHeader class method)
(sbws.lib.v3bwfile.V3BWLine class method)
from_text_v1() (sbws.lib.v3bwfile.V3BWHeader class method)
from_v100_fpath() (sbws.lib.v3bwfile.V3BWFile class method)
from_v1_fpath() (sbws.lib.v3bwfile.V3BWFile class method)
G
GapsCircuitBuilder (class in sbws.lib.circuitbuilder)
gen_parser() (in module sbws.core.cleanup)
(in module sbws.core.generate)
(in module sbws.core.scanner)
(in module sbws.core.stats)
generator
generator_started_from_file() (sbws.lib.v3bwfile.V3BWHeader static method)
get() (sbws.util.state.State method)
get_config() (in module sbws.util.config)
get_random_range_string() (in module sbws.core.scanner)
get_socks_info() (in module sbws.util.stem)
guards (sbws.lib.relaylist.RelayList property)
H
handle_result() (sbws.lib.resultdump.ResultDump method)
has_2_in_flowctrl (sbws.lib.relaylist.Relay property)
I
increment_recent_measurement_attempt() (sbws.lib.relaylist.RelayList method)
increment_recent_priority_list() (sbws.lib.relayprioritizer.RelayPrioritizer method)
increment_recent_priority_relay() (sbws.lib.relayprioritizer.RelayPrioritizer method)
increment_relay_recent_measurement_attempt() (sbws.lib.relaylist.Relay method)
increment_relay_recent_priority_list() (sbws.lib.relaylist.Relay method)
info_stats (sbws.lib.v3bwfile.V3BWFile property)
init_controller() (in module sbws.util.stem)
is_bootstrapped() (in module sbws.util.stem)
is_consensus_bwscanner_cc_2() (sbws.lib.relaylist.RelayList method)
is_consensus_bwscanner_cc_gte_1 (sbws.lib.relaylist.RelayList property)
is_consensus_cc_alg_2 (sbws.lib.relaylist.RelayList property)
is_exit_not_bad_allowing_port() (sbws.lib.relaylist.Relay method)
is_max_bw_diff_perc_reached() (sbws.lib.v3bwfile.V3BWFile static method)
is_min_perc (sbws.lib.v3bwfile.V3BWFile property)
is_torrc_starting_point_set() (in module sbws.util.stem)
K
kb_round_x_sig_dig() (in module sbws.lib.v3bwfile)
keyvalue_tuple_ls (sbws.lib.v3bwfile.V3BWHeader property)
keyvalue_unordered_tuple_ls (sbws.lib.v3bwfile.V3BWHeader property)
keyvalue_v1str_ls (sbws.lib.v3bwfile.V3BWHeader property)
keyvalue_v2_ls (sbws.lib.v3bwfile.V3BWHeader property)
L
last_consensus_timestamp (sbws.lib.relaylist.Relay property)
(sbws.lib.relaylist.RelayList property)
last_time_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
latest_bandwidth_from_results() (sbws.lib.v3bwfile.V3BWHeader static method)
launch_or_connect_to_tor() (in module sbws.util.stem)
launch_tor() (in module sbws.util.stem)
load_recent_results_in_datadir() (in module sbws.lib.resultdump)
load_result_file() (in module sbws.lib.resultdump)
log_measurement_exception() (in module sbws.core.scanner)
M
main() (in module sbws.core.cleanup)
(in module sbws.core.generate)
(in module sbws.core.scanner)
(in module sbws.core.stats)
main_loop() (in module sbws.core.scanner)
master_key_ed25519 (sbws.lib.relaylist.Relay property)
(sbws.lib.resultdump.Result property)
max_bw (sbws.lib.v3bwfile.V3BWFile property)
mean_bw (sbws.lib.v3bwfile.V3BWFile property)
measure_bandwidth_to_server() (in module sbws.core.scanner)
measure_relay() (in module sbws.core.scanner)
measure_rtt_to_server() (in module sbws.core.scanner)
measured_progress_stats() (sbws.lib.v3bwfile.V3BWFile static method)
measurement_writer() (in module sbws.core.scanner)
median_bw (sbws.lib.v3bwfile.V3BWFile property)
merge_result_dicts() (in module sbws.lib.resultdump)
min_bw (sbws.lib.v3bwfile.V3BWFile property)
module
sbws.core
sbws.core.cleanup
sbws.core.generate
sbws.core.scanner
sbws.core.stats
sbws.globals
sbws.lib
sbws.lib.circuitbuilder
sbws.lib.relaylist
sbws.lib.relayprioritizer
sbws.lib.resultdump
sbws.lib.v3bwfile
sbws.util
sbws.util.config
sbws.util.filelock
sbws.util.parser
sbws.util.state
sbws.util.stem
msg (sbws.lib.resultdump.ResultError property)
N
nickname (sbws.lib.relaylist.Relay property)
(sbws.lib.resultdump.Result property)
non_exit_min_bw() (sbws.lib.relaylist.RelayList method)
non_exits (sbws.lib.relaylist.RelayList property)
num (sbws.lib.v3bwfile.V3BWFile property)
num_lines (sbws.lib.v3bwfile.V3BWHeader property)
num_results_of_type() (in module sbws.lib.v3bwfile)
O
observed_bandwidth (sbws.lib.relaylist.Relay property)
only_relays_with_bandwidth() (in module sbws.util.stem)
P
parse_user_torrc_config() (in module sbws.util.stem)
print_stats() (in module sbws.core.stats)
process_completed_futures() (in module sbws.core.scanner)
Python Enhancement Proposals
PEP 0257
PEP 0257#what-is-a-docstring
PEP 20
PEP 8
PEP 8#imports
R
random_relay() (sbws.lib.relaylist.RelayList method)
read_number_consensus_relays() (sbws.lib.v3bwfile.V3BWFile static method)
read_router_statuses() (sbws.lib.v3bwfile.V3BWFile static method)
read_server_descriptors() (sbws.lib.v3bwfile.V3BWFile static method)
recent_consensus_count (sbws.lib.relaylist.RelayList property)
recent_measurement_attempt_count (sbws.lib.relaylist.RelayList property)
recent_measurement_attempt_count_from_file() (sbws.lib.v3bwfile.V3BWHeader static method)
recent_priority_list_count (sbws.lib.relayprioritizer.RelayPrioritizer property)
recent_priority_list_count_from_file() (sbws.lib.v3bwfile.V3BWHeader static method)
recent_priority_relay_count (sbws.lib.relayprioritizer.RelayPrioritizer property)
recent_priority_relay_count_from_file() (sbws.lib.v3bwfile.V3BWHeader static method)
Relay (class in sbws.lib.relaylist)
relay_average_bandwidth (sbws.lib.resultdump.Result property)
relay_burst_bandwidth (sbws.lib.resultdump.Result property)
relay_in_recent_consensus (sbws.lib.resultdump.Result property)
relay_in_recent_consensus_count (sbws.lib.relaylist.Relay property)
relay_observed_bandwidth (sbws.lib.resultdump.Result property)
relay_recent_measurement_attempt (sbws.lib.resultdump.Result property)
relay_recent_measurement_attempt_count (sbws.lib.relaylist.Relay property)
relay_recent_priority_list (sbws.lib.resultdump.Result property)
relay_recent_priority_list_count (sbws.lib.relaylist.Relay property)
relay_update_xoff() (in module sbws.core.scanner)
RelayList (class in sbws.lib.relaylist)
RelayPrioritizer (class in sbws.lib.relayprioritizer)
relays (sbws.lib.relaylist.RelayList property)
relays_fingerprints (sbws.lib.relaylist.RelayList property)
remove_event_listener() (in module sbws.util.stem)
Result (class in sbws.lib.resultdump)
Result.Relay (class in sbws.lib.resultdump)
result_type_to_key() (in module sbws.lib.v3bwfile)
result_types_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
ResultDump (class in sbws.lib.resultdump)
ResultError (class in sbws.lib.resultdump)
ResultErrorAuth (class in sbws.lib.resultdump)
ResultErrorCircuit (class in sbws.lib.resultdump)
ResultErrorDestination (class in sbws.lib.resultdump)
ResultErrorSecondRelay (class in sbws.lib.resultdump)
ResultErrorStream (class in sbws.lib.resultdump)
results_away_each_other() (sbws.lib.v3bwfile.V3BWLine static method)
results_for_relay() (sbws.lib.resultdump.ResultDump method)
results_recent_than() (sbws.lib.v3bwfile.V3BWLine static method)
ResultSuccess (class in sbws.lib.resultdump)
RFC
RFC 2388
RFC 7233
round_sig_dig() (in module sbws.lib.v3bwfile)
rtt_from_results() (sbws.lib.v3bwfile.V3BWLine static method)
rtts (sbws.lib.resultdump.ResultSuccess property)
run_speedtest() (in module sbws.core.scanner)
S
sbws generate
sbws scanner
sbws.core
module
sbws.core.cleanup
module
sbws.core.generate
module
sbws.core.scanner
module
sbws.core.stats
module
sbws.globals
module
sbws.lib
module
sbws.lib.circuitbuilder
module
sbws.lib.relaylist
module
sbws.lib.relayprioritizer
module
sbws.lib.resultdump
module
sbws.lib.v3bwfile
module
sbws.util
module
sbws.util.config
module
sbws.util.filelock
module
sbws.util.parser
module
sbws.util.state
module
sbws.util.stem
module
scanner
(sbws.lib.resultdump.Result property)
select_helper_candidates() (in module sbws.core.scanner)
set_consensus_params() (sbws.lib.relaylist.RelayList method)
set_torrc_options_can_fail() (in module sbws.util.stem)
set_torrc_runtime_options() (in module sbws.util.stem)
set_torrc_starting_point() (in module sbws.util.stem)
set_under_min_report() (sbws.lib.v3bwfile.V3BWFile static method)
sigint_handler() (in module sbws.core.scanner)
State (class in sbws.util.state)
stop_threads() (in module sbws.core.scanner)
store_result() (sbws.lib.resultdump.ResultDump method)
strv1 (sbws.lib.v3bwfile.V3BWHeader property)
strv2 (sbws.lib.v3bwfile.V3BWHeader property)
Success (sbws.lib.resultdump._ResultType attribute)
sum_bw (sbws.lib.v3bwfile.V3BWFile property)
sum_consensus_bw (sbws.lib.relaylist.RelayList property)
sum_consensus_bw_exits_flowctrl2 (sbws.lib.relaylist.RelayList property)
sum_consensus_bw_exits_not_bad_allowing_port (sbws.lib.relaylist.RelayList property)
T
time (sbws.lib.resultdump.Result property)
timed_recv_from_server() (in module sbws.core.scanner)
to_dict() (sbws.lib.resultdump.Result method)
(sbws.lib.resultdump.ResultError method)
(sbws.lib.resultdump.ResultErrorAuth method)
(sbws.lib.resultdump.ResultErrorCircuit method)
(sbws.lib.resultdump.ResultErrorDestination method)
(sbws.lib.resultdump.ResultErrorSecondRelay method)
(sbws.lib.resultdump.ResultErrorStream method)
(sbws.lib.resultdump.ResultSuccess method)
to_plt() (sbws.lib.v3bwfile.V3BWFile method)
touch_file() (in module sbws.globals)
trim_results() (in module sbws.lib.resultdump)
trim_results_ip_changed() (in module sbws.lib.resultdump)
type (sbws.lib.resultdump.Result property)
(sbws.lib.resultdump.ResultError property)
(sbws.lib.resultdump.ResultErrorAuth property)
(sbws.lib.resultdump.ResultErrorCircuit property)
(sbws.lib.resultdump.ResultErrorDestination property)
(sbws.lib.resultdump.ResultErrorSecondRelay property)
(sbws.lib.resultdump.ResultErrorStream property)
(sbws.lib.resultdump.ResultSuccess property)
U
update_progress() (sbws.lib.v3bwfile.V3BWFile method)
update_relay_in_recent_consensus() (sbws.lib.relaylist.Relay method)
update_router_status() (sbws.lib.relaylist.Relay method)
update_server_descriptor() (sbws.lib.relaylist.Relay method)
update_xoff_recv() (sbws.lib.relaylist.Relay method)
update_xoff_sent() (sbws.lib.relaylist.Relay method)
upload_data() (in module sbws.core.scanner)
use_relay_as_entry() (in module sbws.core.scanner)
V
v3bw file
V3BWFile (class in sbws.lib.v3bwfile)
V3BWHeader (class in sbws.lib.v3bwfile)
V3BWLine (class in sbws.lib.v3bwfile)
valid_after_from_network_statuses() (in module sbws.lib.relaylist)
valid_circuit_length() (in module sbws.lib.circuitbuilder)
validate_config() (in module sbws.util.config)
version (sbws.lib.resultdump.Result property)
W
wait_futures_completed() (in module sbws.core.scanner)
warn_if_not_accurate_enough() (sbws.lib.v3bwfile.V3BWFile static method)
write() (sbws.lib.v3bwfile.V3BWFile method)
write_result_to_datadir() (in module sbws.lib.resultdump)
X
xoff_recv (sbws.lib.resultdump.Result property)
xoff_recv_count (sbws.lib.relaylist.Relay property)
xoff_sent (sbws.lib.resultdump.Result property)
xoff_sent_count (sbws.lib.relaylist.Relay property)