reafactor: change max_recv_speed_large to max_recv_speed.

This commit is contained in:
fumingwei
2024-06-04 10:47:16 +08:00
parent 7aef6aa09c
commit fa40b16818

View File

@@ -273,11 +273,11 @@ class TcpPacketsCaptureAnalyzer:
return False, f"Error: Failed to verify DSCP value. Present DSCP: {present_dscp}, desired DSCP: {desired_dscp}."
class URLTransferBuilder:
def __init__(self, url: str, request_resolve: list, conn_timeout: int, max_recv_speed_large: int):
def __init__(self, url: str, request_resolve: list, conn_timeout: int, max_recv_speed: int):
self._url = url
self._request_resolve = request_resolve
self._conn_timeout = conn_timeout
self._max_recv_speed_large = max_recv_speed_large
self._max_recv_speed = max_recv_speed
self._conn = None
self._response_code = None
self._response_buffer = BytesIO()
@@ -295,7 +295,7 @@ class URLTransferBuilder:
self._conn.setopt(self._conn.RESOLVE, self._request_resolve)
self._conn.setopt(self._conn.URL, self._url)
self._conn.setopt(self._conn.TIMEOUT, self._conn_timeout)
self._conn.setopt(self._conn.MAX_RECV_SPEED_LARGE, self._max_recv_speed_large)
self._conn.setopt(self._conn.MAX_RECV_SPEED_LARGE, self._max_recv_speed)
def _perform_connection(self):
self._conn.perform()
@@ -343,8 +343,8 @@ class HttpURLTransferBuilder(URLTransferBuilder):
super()._perform_connection()
class HttpsURLTransferBuilder(URLTransferBuilder):
def __init__(self, url: str, request_resolve: list, conn_timeout: int, max_recv_speed_large: int):
super().__init__(url, request_resolve, conn_timeout, max_recv_speed_large)
def __init__(self, url: str, request_resolve: list, conn_timeout: int, max_recv_speed: int):
super().__init__(url, request_resolve, conn_timeout, max_recv_speed)
self._certs_info = None
def _setup_connection(self):
@@ -519,8 +519,8 @@ class ProxyCasesRunner:
def __init__(self) -> None:
self._analyzer = URLTransferResponseAnalyzer()
def action_intercept_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_intercept_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -530,8 +530,8 @@ class ProxyCasesRunner:
return False, is_cert_matched[1]
return True, None
def action_intercept_protocol_https_cert_error(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_intercept_protocol_https_cert_error(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -541,35 +541,35 @@ class ProxyCasesRunner:
return False, is_cert_matched[1]
return True, None
def action_intercept_protocol_https_download_size_1k(self, url, resolves, conn_timeout, max_recv_speed_large):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed_large, 1024)
def action_intercept_protocol_https_download_size_1k(self, url, resolves, conn_timeout, max_recv_speed):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed, 1024)
def action_intercept_protocol_https_download_size_4k(self, url, resolves, conn_timeout, max_recv_speed_large):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed_large, 1024 * 4)
def action_intercept_protocol_https_download_size_4k(self, url, resolves, conn_timeout, max_recv_speed):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed, 1024 * 4)
def action_intercept_protocol_https_download_size_16k(self, url, resolves, conn_timeout, max_recv_speed_large):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed_large, 1024 * 16)
def action_intercept_protocol_https_download_size_16k(self, url, resolves, conn_timeout, max_recv_speed):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed, 1024 * 16)
def action_intercept_protocol_https_download_size_64k(self, url, resolves, conn_timeout, max_recv_speed_large):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed_large, 1024 * 64)
def action_intercept_protocol_https_download_size_64k(self, url, resolves, conn_timeout, max_recv_speed):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed, 1024 * 64)
def action_intercept_protocol_https_download_size_256k(self, url, resolves, conn_timeout, max_recv_speed_large):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed_large, 1024 * 256)
def action_intercept_protocol_https_download_size_256k(self, url, resolves, conn_timeout, max_recv_speed):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed, 1024 * 256)
def action_intercept_protocol_https_download_size_1M(self, url, resolves, conn_timeout, max_recv_speed_large):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed_large, 1024 * 1024)
def action_intercept_protocol_https_download_size_1M(self, url, resolves, conn_timeout, max_recv_speed):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed, 1024 * 1024)
def action_intercept_protocol_https_download_size_4M(self, url, resolves, conn_timeout, max_recv_speed_large):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed_large, 1024 * 1024 * 4)
def action_intercept_protocol_https_download_size_4M(self, url, resolves, conn_timeout, max_recv_speed):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed, 1024 * 1024 * 4)
def action_intercept_protocol_https_download_size_16M(self, url, resolves, conn_timeout, max_recv_speed_large):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed_large, 1024 * 1024 * 16)
def action_intercept_protocol_https_download_size_16M(self, url, resolves, conn_timeout, max_recv_speed):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed, 1024 * 1024 * 16)
def action_intercept_protocol_https_download_size_64M(self, url, resolves, conn_timeout, max_recv_speed_large):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed_large, 1024 * 1024 * 64)
def action_intercept_protocol_https_download_size_64M(self, url, resolves, conn_timeout, max_recv_speed):
return self._action_intercept_protocol_ssl_by_download_size(url, resolves, conn_timeout, max_recv_speed, 1024 * 1024 * 64)
def _action_intercept_protocol_ssl_by_download_size(self, url, resolves, conn_timeout, max_recv_speed_large, download_size):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def _action_intercept_protocol_ssl_by_download_size(self, url, resolves, conn_timeout, max_recv_speed, download_size):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -582,8 +582,8 @@ class ProxyCasesRunner:
return False, is_download_size_equal[1]
return True, None
def action_redirect_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_redirect_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -598,8 +598,8 @@ class ProxyCasesRunner:
return False, is_code_equal[1]
return True, None
def action_redirect_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_redirect_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -609,8 +609,8 @@ class ProxyCasesRunner:
return False, is_code_equal[1]
return True, None
def action_block_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_block_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -626,8 +626,8 @@ class ProxyCasesRunner:
return False, is_body_matched[1]
return True, None
def action_block_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_block_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -640,8 +640,8 @@ class ProxyCasesRunner:
return False, is_body_matched[1]
return True, None
def action_replace_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_replace_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -658,8 +658,8 @@ class ProxyCasesRunner:
return True, None
def action_replace_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_replace_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -674,8 +674,8 @@ class ProxyCasesRunner:
return True, None
def action_hijack_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_hijack_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -688,8 +688,8 @@ class ProxyCasesRunner:
return False, is_code_equal[1]
return True, None
def action_hijack_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_hijack_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -699,8 +699,8 @@ class ProxyCasesRunner:
return False, is_code_equal[1]
return True, None
def action_insert_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_insert_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -719,8 +719,8 @@ class ProxyCasesRunner:
return True, None
def action_insert_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_insert_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -735,8 +735,8 @@ class ProxyCasesRunner:
return True, None
def action_deny_protocol_http_filter_host(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_deny_protocol_http_filter_host(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -749,8 +749,8 @@ class ProxyCasesRunner:
return False, is_body_matched[1]
return True, None
def action_deny_protocol_http_filter_url(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_deny_protocol_http_filter_url(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -769,27 +769,27 @@ class ShapingCaseRunner:
self._dns_analyzer = DNSResponseAnalyzer()
self._capture_analyzer = TcpPacketsCaptureAnalyzer()
def rate_limit_0bps_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def rate_limit_0bps_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_type_equal = self._analyzer.is_pycurl_error_code_equal(conn.error_info, 28)
if not is_error_type_equal[0]:
return False, is_error_type_equal[1]
return True, None
def rate_limit_0bps_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def rate_limit_0bps_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_type_equal = self._analyzer.is_pycurl_error_code_equal(conn.error_info, 28)
if not is_error_type_equal[0]:
return False, is_error_type_equal[1]
return True, None
def rate_limit_1000gbps_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
def rate_limit_1000gbps_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
server_ip, server_port = self._read_server_ip_and_port_from_resolve(resolves)
capture = TcpPacketsCapture(server_ip, server_port)
capture.start()
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
capture.stop()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
@@ -804,11 +804,11 @@ class ShapingCaseRunner:
return False, is_dscp_equal[1]
return True, None
def rate_limit_1000gbps_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
def rate_limit_1000gbps_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
server_ip, server_port = self._read_server_ip_and_port_from_resolve(resolves)
capture = TcpPacketsCapture(server_ip, server_port)
capture.start()
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
capture.stop()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
@@ -836,8 +836,8 @@ class FirewallCasesRunner:
self._analyzer = URLTransferResponseAnalyzer()
self._dns_analyzer = DNSResponseAnalyzer()
def action_bypass_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_bypass_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -847,8 +847,8 @@ class FirewallCasesRunner:
return False, is_cert_matched[1]
return True, None
def action_allow_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_allow_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -858,30 +858,30 @@ class FirewallCasesRunner:
return False, is_code_equal[1]
return True, None
def action_deny_subaction_drop_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_deny_subaction_drop_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_type_equal = self._analyzer.is_pycurl_error_code_equal(conn.error_info, 28)
if not is_error_type_equal[0]:
return False, is_error_type_equal[1]
return True, None
def action_deny_subaction_reset_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_deny_subaction_reset_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_type_equal = self._analyzer.is_pycurl_error_code_equal(conn.error_info, 56)
if not is_error_type_equal[0]:
return False, is_error_type_equal[1]
return True, None
def action_deny_subaction_reset_protocol_http_filter_host(self, url, resolves, conn_timeout, max_recv_speed_large):
return self.action_deny_subaction_reset_protocol_http(url, resolves, conn_timeout, max_recv_speed_large)
def action_deny_subaction_reset_protocol_http_filter_host(self, url, resolves, conn_timeout, max_recv_speed):
return self.action_deny_subaction_reset_protocol_http(url, resolves, conn_timeout, max_recv_speed)
def action_deny_subaction_reset_protocol_http_filter_url(self, url, resolves, conn_timeout, max_recv_speed_large):
return self.action_deny_subaction_reset_protocol_http(url, resolves, conn_timeout, max_recv_speed_large)
def action_deny_subaction_reset_protocol_http_filter_url(self, url, resolves, conn_timeout, max_recv_speed):
return self.action_deny_subaction_reset_protocol_http(url, resolves, conn_timeout, max_recv_speed)
def action_deny_subaction_block_protocol_http(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_deny_subaction_block_protocol_http(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -894,8 +894,8 @@ class FirewallCasesRunner:
return False, is_body_matched[1]
return True, None
def action_allow_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_allow_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_none = self._analyzer.is_pycurl_error_none(conn.error_info)
if not is_error_none[0]:
@@ -908,16 +908,16 @@ class FirewallCasesRunner:
return False, is_code_equal[1]
return True, None
def action_deny_subaction_drop_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_deny_subaction_drop_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_type_equal = self._analyzer.is_pycurl_error_code_equal(conn.error_info, 28)
if not is_error_type_equal[0]:
return False, is_error_type_equal[1]
return True, None
def action_deny_subaction_reset_protocol_https(self, url, resolves, conn_timeout, max_recv_speed_large):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed_large)
def action_deny_subaction_reset_protocol_https(self, url, resolves, conn_timeout, max_recv_speed):
conn = HttpsURLTransferBuilder(url, resolves, conn_timeout, max_recv_speed)
conn.connect()
is_error_type_equal = self._analyzer.is_pycurl_error_code_equal(conn.error_info, 35)
if not is_error_type_equal[0]:
@@ -1079,7 +1079,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_allow_protocol_http,
"request_content": "http://http.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_Allow_HTTPS",
@@ -1087,7 +1087,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_allow_protocol_https,
"request_content": "https://sha512.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyReset_HTTP",
@@ -1095,7 +1095,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_reset_protocol_http,
"request_content": "http://http-dynamic-login.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyReset_HTTPS",
@@ -1103,7 +1103,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_reset_protocol_https,
"request_content": "https://rsa4096.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyReset_FilterHost_HTTP",
@@ -1111,7 +1111,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_reset_protocol_http_filter_host,
"request_content": "http://testing-firewall-filter-host.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyReset_FilterURL_HTTP",
@@ -1119,7 +1119,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_reset_protocol_http_filter_url,
"request_content": "http://testing-firewall-filter-url.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyBlock_HTTP",
@@ -1127,7 +1127,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_block_protocol_http,
"request_content": "http://http-login.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyDrop_HTTP",
@@ -1135,7 +1135,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_drop_protocol_http,
"request_content": "http://http-credit-card.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 4,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyDrop_HTTPS",
@@ -1143,7 +1143,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_drop_protocol_https,
"request_content": "https://rsa2048.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 4,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyDrop_DNS",
@@ -1151,7 +1151,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_drop_protocol_dns,
"request_content": "dnstest.deny-drop-ipv4.selftest.gdnt-cloud.website",
'conn_timeout': 3,
'max_recv_speed_large': 6553600
'max_recv_speed': 6553600
},
{
"name": "Firewall_DenyRedirect_A_DNS",
@@ -1159,7 +1159,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_redirect_protocol_dns_type_a,
"request_content": "dnstest.deny-redirect-a-ipv4.selftest.gdnt-cloud.website",
"conn_timeout": 3,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyRedirect_AAAA_DNS",
@@ -1167,7 +1167,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_redirect_protocol_dns_type_aaaa,
"request_content": "dnstest.deny-redirect-4a-ipv6.selftest.gdnt-cloud.website",
"conn_timeout": 3,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyRedirect_ARangeTTL_DNS",
@@ -1175,7 +1175,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_redirect_protocol_dns_type_a_range_ttl,
"request_content": "dnstest.deny-redirect-a-rttl-ipv4.selftest.gdnt-cloud.website",
"conn_timeout": 3,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Firewall_DenyRedirect_AAAARangeTTL_DNS",
@@ -1183,7 +1183,7 @@ class DiagnoseCasesRunner:
"test_function": self._firewall_case.action_deny_subaction_redirect_protocol_dns_type_aaaa_range_ttl,
"request_content": "dnstest.deny-redirect-4a-rttl-ipv6.selftest.gdnt-cloud.website",
"conn_timeout": 3,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS",
@@ -1191,7 +1191,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https,
"request_content": "https://sha256.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_CertExpired",
@@ -1199,7 +1199,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_cert_error,
"request_content": "https://expired.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_CertSelfSigned",
@@ -1207,7 +1207,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_cert_error,
"request_content": "https://self-signed.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_CertUntrustedRoot",
@@ -1215,7 +1215,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_cert_error,
"request_content": "https://untrusted-root.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_Response_1k",
@@ -1223,7 +1223,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_download_size_1k,
"request_content": "https://testing-download.badssl.selftest.gdnt-cloud.website/resources/1k",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_Response_4k",
@@ -1231,7 +1231,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_download_size_4k,
"request_content": "https://testing-download.badssl.selftest.gdnt-cloud.website/resources/4k",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_Response_16k",
@@ -1239,7 +1239,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_download_size_16k,
"request_content": "https://testing-download.badssl.selftest.gdnt-cloud.website/resources/16k",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_Response_64k",
@@ -1247,7 +1247,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_download_size_64k,
"request_content": "https://testing-download.badssl.selftest.gdnt-cloud.website/resources/64k",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_Response_256k",
@@ -1255,7 +1255,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_download_size_256k,
"request_content": "https://testing-download.badssl.selftest.gdnt-cloud.website/resources/256k",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_Response_1M",
@@ -1263,7 +1263,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_download_size_1M,
"request_content": "https://testing-download.badssl.selftest.gdnt-cloud.website/resources/1M",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_Response_4M",
@@ -1271,7 +1271,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_download_size_4M,
"request_content": "https://testing-download.badssl.selftest.gdnt-cloud.website/resources/4M",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_Response_16M",
@@ -1279,7 +1279,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_download_size_16M,
"request_content": "https://testing-download.badssl.selftest.gdnt-cloud.website/resources/16M",
"conn_timeout": 4,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Intercept_HTTPS_Response_64M",
@@ -1287,7 +1287,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_intercept_protocol_https_download_size_64M,
"request_content": "https://testing-download.badssl.selftest.gdnt-cloud.website/resources/64M",
"conn_timeout": 12,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Redirect_HTTP",
@@ -1295,7 +1295,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_redirect_protocol_http,
"request_content": "http://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyRedirect.js",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Redirect_HTTPS",
@@ -1303,7 +1303,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_redirect_protocol_https,
"request_content": "https://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyRedirect.js",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Replace_HTTP",
@@ -1311,7 +1311,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_replace_protocol_http,
"request_content": "http://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyReplace.js",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Replace_HTTPS",
@@ -1319,7 +1319,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_replace_protocol_https,
"request_content": "https://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyReplace.js",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Deny_HTTP",
@@ -1327,7 +1327,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_block_protocol_http,
"request_content": "http://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyBlock.js",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Deny_HTTPS",
@@ -1335,7 +1335,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_block_protocol_https,
"request_content": "https://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyBlock.js",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Deny_FilterHost_HTTP",
@@ -1343,7 +1343,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_deny_protocol_http_filter_host,
"request_content": "http://testing-proxy-filter-host.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Deny_FilterURL_HTTP",
@@ -1351,7 +1351,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_deny_protocol_http_filter_url,
"request_content": "http://testing-proxy-filter-url.badssl.selftest.gdnt-cloud.website",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Hijack_HTTP",
@@ -1359,7 +1359,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_hijack_protocol_http,
"request_content": "http://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyHijack.js",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Hijack_HTTPS",
@@ -1367,7 +1367,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_hijack_protocol_https,
"request_content": "https://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyHijack.js",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Insert_HTTP",
@@ -1375,7 +1375,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_insert_protocol_http,
"request_content": "http://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyInsert.html",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Proxy_Manipulation_Insert_HTTPS",
@@ -1383,7 +1383,7 @@ class DiagnoseCasesRunner:
"test_function": self._proxy_case.action_insert_protocol_https,
"request_content": "https://web-replay.badssl.selftest.gdnt-cloud.website/resources/proxyInsert.html",
"conn_timeout": 1,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Shaping_RateLimit0bps_HTTP",
@@ -1391,7 +1391,7 @@ class DiagnoseCasesRunner:
"test_function": self._shaping_case.rate_limit_0bps_protocol_http,
"request_content": "http://testing-rate-limit-0bps.badssl.selftest.gdnt-cloud.website/resources/16M",
"conn_timeout": 4,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Shaping_RateLimit0bps_HTTPS",
@@ -1399,7 +1399,7 @@ class DiagnoseCasesRunner:
"test_function": self._shaping_case.rate_limit_0bps_protocol_https,
"request_content": "https://testing-rate-limit-0bps.badssl.selftest.gdnt-cloud.website/resources/16M",
"conn_timeout": 4,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Shaping_RateLimit1000gbps_HTTP",
@@ -1407,7 +1407,7 @@ class DiagnoseCasesRunner:
"test_function": self._shaping_case.rate_limit_1000gbps_protocol_http,
"request_content": "http://testing-rate-limit-1000gbps.badssl.selftest.gdnt-cloud.website/resources/16M",
"conn_timeout": 4,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
},
{
"name": "Shaping_RateLimit1000gbps_HTTPS",
@@ -1415,7 +1415,7 @@ class DiagnoseCasesRunner:
"test_function": self._shaping_case.rate_limit_1000gbps_protocol_https,
"request_content": "https://testing-rate-limit-1000gbps.badssl.selftest.gdnt-cloud.website/resources/16M",
"conn_timeout": 4,
"max_recv_speed_large": 6553600
"max_recv_speed": 6553600
}
]
@@ -1453,13 +1453,13 @@ class DiagnoseCasesRunner:
def _run_one_case(self, case_info, resolve_builder, exporter):
conn_timeout = self._get_conn_timeout_from_configs(case_info)
max_recv_speed_large = self._get_max_recv_speed_from_configs(case_info)
max_recv_speed = self._get_max_recv_speed_from_configs(case_info)
test_func = case_info.get("test_function")
if test_func:
if case_info["protocol_type"] == "http" or case_info["protocol_type"] == "https":
resolve = resolve_builder.read_resolves_by_url(case_info["request_content"])
ret = test_func(case_info["request_content"], resolve, conn_timeout, max_recv_speed_large)
ret = test_func(case_info["request_content"], resolve, conn_timeout, max_recv_speed)
if case_info["protocol_type"] == "dns":
ret = test_func(case_info["request_content"], resolve_builder.nameservers, conn_timeout)
@@ -1474,11 +1474,11 @@ class DiagnoseCasesRunner:
return case_info["conn_timeout"]
def _get_max_recv_speed_from_configs(self, case_info):
max_recv_speed = self._config_loader.get_value_by_section_and_key(case_info["name"], "max_recv_speed_large")
max_recv_speed = self._config_loader.get_value_by_section_and_key(case_info["name"], "max_recv_speed")
if max_recv_speed is not None:
return max_recv_speed
else:
return case_info["max_recv_speed_large"]
return case_info["max_recv_speed"]
if __name__ == '__main__':