fix domains testing

This commit is contained in:
Flowseal
2026-04-11 21:03:53 +03:00
parent ba89cad8b8
commit 3c3e9eb34b
2 changed files with 14 additions and 8 deletions

View File

@@ -16,7 +16,7 @@ CFPROXY_DOMAINS_URL = (
"/.github/cfproxy-domains.txt" "/.github/cfproxy-domains.txt"
) )
_CFPROXY_ENC: List[str] = ['virkgj.com'] _CFPROXY_ENC: List[str] = ['virkgj.com', 'vmmzovy.com', 'mkuosckvso.com', 'zaewayzmplad.com', 'twdmbzcm.com']
_S = ''.join(chr(c) for c in (46, 99, 111, 46, 117, 107)) _S = ''.join(chr(c) for c in (46, 99, 111, 46, 117, 107))

View File

@@ -6,7 +6,7 @@ from dataclasses import dataclass
from typing import Any, Callable, Dict, List, Optional, Tuple, Union from typing import Any, Callable, Dict, List, Optional, Tuple, Union
from proxy import __version__, get_link_host, parse_dc_ip_list from proxy import __version__, get_link_host, parse_dc_ip_list
from proxy.config import CFPROXY_DEFAULT_DOMAINS from proxy.config import proxy_config
from utils.update_check import RELEASES_PAGE_URL, get_status from utils.update_check import RELEASES_PAGE_URL, get_status
@@ -121,13 +121,19 @@ def _run_cfproxy_connectivity_test(domain: str) -> dict:
def _run_cfproxy_auto_test(domains: list) -> tuple: def _run_cfproxy_auto_test(domains: list) -> tuple:
last: dict = {} merged: dict = {}
for domain in domains: best_domain = None
for domain in reversed(domains):
res = _run_cfproxy_connectivity_test(domain) res = _run_cfproxy_connectivity_test(domain)
last = res if all(v is True for v in res.values()):
if any(v is True for v in res.values()):
return domain, res return domain, res
return None, last for dc, v in res.items():
if v is True:
merged[dc] = True
best_domain = domain
elif dc not in merged:
merged[dc] = v
return best_domain, merged
def _cfproxy_show_test_results(domain: str, results: dict) -> None: def _cfproxy_show_test_results(domain: str, results: dict) -> None:
@@ -445,7 +451,7 @@ def install_tray_config_form(
_threading.Thread(target=_worker, daemon=True).start() _threading.Thread(target=_worker, daemon=True).start()
else: else:
def _worker_auto(): def _worker_auto():
ok_domain, res = _run_cfproxy_auto_test(CFPROXY_DEFAULT_DOMAINS) ok_domain, res = _run_cfproxy_auto_test(proxy_config.cfproxy_domains)
if btn: if btn:
btn.after(0, lambda: btn.configure(text="Тест", state="normal")) btn.after(0, lambda: btn.configure(text="Тест", state="normal"))
btn.after(0, lambda: _cfproxy_show_auto_test_results(ok_domain, res)) btn.after(0, lambda: _cfproxy_show_auto_test_results(ok_domain, res))