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 读注册表代理设置