From 3c3e9eb34bb75e6b96a253ee214a6a142db13272 Mon Sep 17 00:00:00 2001 From: Flowseal Date: Sat, 11 Apr 2026 21:03:53 +0300 Subject: [PATCH] fix domains testing --- proxy/config.py | 2 +- ui/ctk_tray_ui.py | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/proxy/config.py b/proxy/config.py index e9a1bd0..e7f4988 100644 --- a/proxy/config.py +++ b/proxy/config.py @@ -16,7 +16,7 @@ CFPROXY_DOMAINS_URL = ( "/.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)) diff --git a/ui/ctk_tray_ui.py b/ui/ctk_tray_ui.py index 39e30fd..1f48041 100644 --- a/ui/ctk_tray_ui.py +++ b/ui/ctk_tray_ui.py @@ -6,7 +6,7 @@ from dataclasses import dataclass from typing import Any, Callable, Dict, List, Optional, Tuple, Union 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 @@ -121,13 +121,19 @@ def _run_cfproxy_connectivity_test(domain: str) -> dict: def _run_cfproxy_auto_test(domains: list) -> tuple: - last: dict = {} - for domain in domains: + merged: dict = {} + best_domain = None + for domain in reversed(domains): res = _run_cfproxy_connectivity_test(domain) - last = res - if any(v is True for v in res.values()): + if all(v is True for v in res.values()): 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: @@ -445,7 +451,7 @@ def install_tray_config_form( _threading.Thread(target=_worker, daemon=True).start() else: 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: btn.after(0, lambda: btn.configure(text="Тест", state="normal")) btn.after(0, lambda: _cfproxy_show_auto_test_results(ok_domain, res))