From 98e51d443e02a98a2a753299144d7e3bddfb8456 Mon Sep 17 00:00:00 2001 From: hyb-oyqq <1512383570@qq.com> Date: Thu, 24 Jul 2025 11:20:56 +0800 Subject: [PATCH] =?UTF-8?q?perf(ip=5Foptimizer):=20=E4=BC=98=E5=8C=96=20IP?= =?UTF-8?q?=20=E4=BC=98=E9=80=89=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 speedtest-cli 命令参数,避免写入结果文件 - 修复最优 IP 查找逻辑,确保只保存第一个匹配的 IP - 移除不必要的循环退出条件,简化代码逻辑 --- source/workers/ip_optimizer.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source/workers/ip_optimizer.py b/source/workers/ip_optimizer.py index e28fc8d..5db6b6f 100644 --- a/source/workers/ip_optimizer.py +++ b/source/workers/ip_optimizer.py @@ -38,7 +38,7 @@ class IpOptimizer: "-url", url, # 指定测速地址 "-f", ip_txt_path, # IP文件 "-dd", # 禁用下载测速,按延迟排序 - "-o", + "-o","" # 不写入结果文件 ] creation_flags = subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0 @@ -119,10 +119,8 @@ class IpOptimizer: if match and not optimal_ip: # 只保存第一个匹配的IP(最优IP) optimal_ip = match.group(1) print(f"找到最优 IP: {optimal_ip}") - - # 如果已经看到完成标记,可以退出了 - if found_completion: - break + # 找到最优IP后立即退出循环,不等待完成标记 + break except Exception as e: print(f"读取输出时发生错误: {e}")