做了一个梯子实况监控,才发现梯子显示 136ms,实际 1000 多 ms,掺水无处不在。

6 条回复
65 次浏览

image

寻找平衡
OP
  • 🟢 绿色:代理端口通,且能正常通过代理访问外网,托盘提示会显示延迟(ms)
  • 🟡 黄色:本地端口是通的(代理进程在跑),但通过代理请求测试网址失败或超时
  • 🔴 红色:本地端口都连不上,说明代理客户端可能没开,或端口配错了
  • ⚪ 灰色:正在检测中
都听我说!

这要看你用什么方法检测延迟
有的是用 ping 来检测,这个甚至服务不可用但是只要能响应 ping 就显示通的
有的是 tcping 来检测,这个好一点,但是并不能代表真实的延迟水平
有的是测试真实网站反应的延迟,这个里面每个环节甚至网站本身的设计都会显著影响到延迟数据

所以你要说延迟,最好说一下你是用什么方法测的,以及这个方法能不能代表你实际使用状态

寻找平衡
OP
  1. 第一步:本地端口连通性测试 (TCPing 机制)
    脚本首先会执行 check_port 函数:

Python
with socket.create_connection((host, port), timeout=timeout):
这一步相当于对你本地的代理软件(如 Clash 的 7890 端口)进行了一次 TCPing。

目的:检查你的代理客户端程序到底有没有打开,或者端口有没有配错。

结果:如果这一步失败,说明本地代理根本没启动,托盘直接变红色。

  1. 第二步:真实的网站请求测试 (应用层 HTTP 请求)
    如果本地端口是通的,脚本紧接着会执行 check_proxy_request 函数:

Python
resp = requests.get(url, proxies=proxies, timeout=timeout)
它会强制让流量通过你的本地代理端口,向谷歌的测试地址发送一个真实的 HTTP GET 请求。

发表一个评论

R保持