Improve connection status determination logic

This commit is contained in:
codeking 2025-11-18 06:44:57 +01:00
parent b887b8d2ff
commit 79a7bac963

View file

@ -405,13 +405,27 @@ class ConnectionController:
timeout = float(timeout) timeout = float(timeout)
proxies = None proxies = None
request_urls = [
Constants.PING_URL,
'https://hc1.simplifiedprivacy.net',
'https://hc2.simplifiedprivacy.org',
'https://hc3.hydraveil.net'
]
if port_number is not None: if port_number is not None:
proxies = ConnectionController.get_proxies(port_number) proxies = ConnectionController.get_proxies(port_number)
try: for request_url in request_urls:
requests.get(Constants.PING_URL, timeout=timeout, proxies=proxies)
except requests.exceptions.RequestException: try:
raise ConnectionError('The connection could not be established.')
requests.get(request_url, timeout=timeout, proxies=proxies)
return None
except requests.exceptions.RequestException:
pass
raise ConnectionError('The connection could not be established.')
@staticmethod @staticmethod
def __should_renegotiate(profile: Union[SessionProfile, SystemProfile]): def __should_renegotiate(profile: Union[SessionProfile, SystemProfile]):