From 365171d6a15422bf21b9d6fe95c0beabbfda25f4 Mon Sep 17 00:00:00 2001 From: RoyirinRosmontis Date: Sun, 23 Aug 2026 12:41:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=20-=20=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E6=9C=AA=E9=85=8D=E7=BD=AE=EF=BC=88nodes.json=20?= =?UTF-8?q?=E5=9F=9F=E5=90=8D=E4=B8=BA=E7=A9=BA=EF=BC=89=E6=97=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=A3=80=E6=9F=A5=E4=BC=98=E9=9B=85=E8=B7=B3=E8=BF=87?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E5=86=8D=E4=BB=A5=20"=3F=3F=3F"=20=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E8=BF=9E=E6=8E=A5=E9=9A=A7=E9=81=93=E5=88=B7=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=97=A5=E5=BF=97=20-=20=E8=8A=82=E7=82=B9=E6=9C=AA?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=97=B6=E7=A6=81=E6=AD=A2=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E4=BB=A3=E7=90=86=EF=BC=9A=E5=90=A6=E5=88=99=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E4=BC=9A=E6=8C=87=E5=90=91=E8=BF=9E=E4=B8=8D?= =?UTF-8?q?=E9=80=9A=E4=BB=BB=E4=BD=95=E7=9B=AE=E6=A0=87=E7=9A=84=E8=BD=AC?= =?UTF-8?q?=E5=8F=91=E5=99=A8=E5=AF=BC=E8=87=B4=E6=96=AD=E7=BD=91=20-=20?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A3=80=E6=9F=A5=E6=97=A9=E9=80=80=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E9=87=8D=E5=A4=8D=E5=8F=91=E9=80=81=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E4=BF=A1=E5=8F=B7=EF=BC=88=E5=8E=9F=E9=80=BB=E8=BE=91=E9=81=97?= =?UTF-8?q?=E7=95=99=EF=BC=89=EF=BC=8C=E7=BB=9F=E4=B8=80=E7=94=B1=20finall?= =?UTF-8?q?y=20=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lite/proxy_lite.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lite/proxy_lite.py b/lite/proxy_lite.py index 343d47f..7c5ba93 100644 --- a/lite/proxy_lite.py +++ b/lite/proxy_lite.py @@ -1407,6 +1407,9 @@ class MainWindow(QWidget): def _start_proxy(self, use_pac, use_bypass_lan): """启动本地转发器并设置系统代理(PAC/固定两种模式),可在后台线程调用。""" + if _endpoint_domain() == "???": + # 未配置节点时禁止开启:否则系统代理会指向连不通任何目标的转发器,导致断网 + raise RuntimeError("未配置节点:请先通过 nodes_url 在线更新或 nodes_tool 导入节点配置") _traffic_reset() log("TLS 直连模式") ep = _endpoint_domain() @@ -1605,13 +1608,12 @@ class MainWindow(QWidget): try: import json, urllib.request, base64 domain = _endpoint_domain() + if domain == "???": + log("更新检查: 未配置节点(nodes.json 域名为空),跳过") + return # 更新链接优先取 config.json 的 update_url,缺失时回退到域名拼接 url = _config_val("update_url", "") if not url: - if domain == "???": - log("更新检查: 无法获取服务器域名") - self._update_done.emit() - return url = f"https://{domain}/latest_version.json" log("正在检查更新...") # 显式走本地转发器隧道,不依赖系统代理状态:默认 opener 读注册表代理设置