Loading sbws/core/scanner.py +5 −5 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ from ..lib.destination import DestinationList # from ..util.simpleauth import authenticate_to_server # from ..util.sockio import (make_socket, close_socket) from sbws.globals import (fail_hard, is_initted) from sbws.globals import MIN_REQ_BYTES, MAX_REQ_BYTES import sbws.util.stem as stem_utils from stem.control import EventType from argparse import ArgumentDefaultsHelpFormatter Loading Loading @@ -167,7 +166,7 @@ def measure_bandwidth_to_server(session, conf, dest, content_length): results.append({ 'duration': data, 'amount': expected_amount}) expected_amount = _next_expected_amount( expected_amount, data, download_times) expected_amount, data, download_times, min_dl, max_dl) return results Loading Loading @@ -266,7 +265,8 @@ def _should_keep_result(did_request_maximum, result_time, download_times): return False def _next_expected_amount(expected_amount, result_time, download_times): def _next_expected_amount(expected_amount, result_time, download_times, min_dl, max_dl): if result_time < download_times['toofast']: # Way too fast, greatly increase the amount we ask for expected_amount = int(expected_amount * 5) Loading @@ -277,8 +277,8 @@ def _next_expected_amount(expected_amount, result_time, download_times): expected_amount = int( expected_amount * download_times['target'] / result_time) # Make sure we don't request too much or too little expected_amount = max(MIN_REQ_BYTES, expected_amount) expected_amount = min(MAX_REQ_BYTES, expected_amount) expected_amount = max(min_dl, expected_amount) expected_amount = min(max_dl, expected_amount) return expected_amount Loading sbws/globals.py +0 −14 Original line number Diff line number Diff line Loading @@ -12,20 +12,6 @@ PKG_DIR = os.path.abspath(os.path.dirname(__file__)) SOCKET_TIMEOUT = 60 # seconds # Minimum and maximum number of bytes a scanner is allowed to request from a # server. If these are changed, a WIRE_VERSION bump is required, which also # happens to require an sbws major version bump. # # Note for smart people and people who pull out Wireshark: Even if the scanner # requests 1 byte, that request and the 1 byte response will each be carried # over the Internet in 514 byte Tor cells. Theoretically we could bump the # minimum request size up to ~498 bytes, but I see no reason why we should. # Trying to hit the maximum cell size just makes sbws server send more, us read # more, and it runs the risk of standards changing underneath us and sbws # suddenly creating more than one cell. MIN_REQ_BYTES = 1 MAX_REQ_BYTES = 1 * 1024 * 1024 * 1024 # 1 GiB # This is a dictionary of torrc options we always want to set when launching # Tor and that do not depend on any runtime configuration TORRC_STARTING_POINT = { Loading Loading
sbws/core/scanner.py +5 −5 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ from ..lib.destination import DestinationList # from ..util.simpleauth import authenticate_to_server # from ..util.sockio import (make_socket, close_socket) from sbws.globals import (fail_hard, is_initted) from sbws.globals import MIN_REQ_BYTES, MAX_REQ_BYTES import sbws.util.stem as stem_utils from stem.control import EventType from argparse import ArgumentDefaultsHelpFormatter Loading Loading @@ -167,7 +166,7 @@ def measure_bandwidth_to_server(session, conf, dest, content_length): results.append({ 'duration': data, 'amount': expected_amount}) expected_amount = _next_expected_amount( expected_amount, data, download_times) expected_amount, data, download_times, min_dl, max_dl) return results Loading Loading @@ -266,7 +265,8 @@ def _should_keep_result(did_request_maximum, result_time, download_times): return False def _next_expected_amount(expected_amount, result_time, download_times): def _next_expected_amount(expected_amount, result_time, download_times, min_dl, max_dl): if result_time < download_times['toofast']: # Way too fast, greatly increase the amount we ask for expected_amount = int(expected_amount * 5) Loading @@ -277,8 +277,8 @@ def _next_expected_amount(expected_amount, result_time, download_times): expected_amount = int( expected_amount * download_times['target'] / result_time) # Make sure we don't request too much or too little expected_amount = max(MIN_REQ_BYTES, expected_amount) expected_amount = min(MAX_REQ_BYTES, expected_amount) expected_amount = max(min_dl, expected_amount) expected_amount = min(max_dl, expected_amount) return expected_amount Loading
sbws/globals.py +0 −14 Original line number Diff line number Diff line Loading @@ -12,20 +12,6 @@ PKG_DIR = os.path.abspath(os.path.dirname(__file__)) SOCKET_TIMEOUT = 60 # seconds # Minimum and maximum number of bytes a scanner is allowed to request from a # server. If these are changed, a WIRE_VERSION bump is required, which also # happens to require an sbws major version bump. # # Note for smart people and people who pull out Wireshark: Even if the scanner # requests 1 byte, that request and the 1 byte response will each be carried # over the Internet in 514 byte Tor cells. Theoretically we could bump the # minimum request size up to ~498 bytes, but I see no reason why we should. # Trying to hit the maximum cell size just makes sbws server send more, us read # more, and it runs the risk of standards changing underneath us and sbws # suddenly creating more than one cell. MIN_REQ_BYTES = 1 MAX_REQ_BYTES = 1 * 1024 * 1024 * 1024 # 1 GiB # This is a dictionary of torrc options we always want to set when launching # Tor and that do not depend on any runtime configuration TORRC_STARTING_POINT = { Loading