3.4 KiB
任务
- 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- 联调:IBS 7.20.0 版本联调,BBOSS 中国移动CDN信控能力优化需求,环境恢复,开始联调,BBOSS 测有问题。(张鹏豪 2)
- 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,前后端联调。(李春良 5.5)
日志
Qwen3.6-35B-A3B-FP8
Qwen3.5-122B-A10B-GPTQ-Int4
Qwen3.6-35B-A3B(BF16)
根据源码分析得到结论:
结论
这个 API 是 sing-box Clash 兼容 API 的代理延迟测试接口,用于通过指定的出站代理向目标 URL 发送请求,测量往返延迟(毫秒)。
对应 URL 解析
你请求的 URL 解码后为:
GET http://127.0.0.1:9595/proxies/公益 🇺🇸 🇺🇸 美国 | USA 13/delay
?url=https://www.gstatic.com/generate_204
&timeout=5000
参数 值 含义
{name} 公益 🇺🇸 🇺🇸 美国 | USA 13 要测试的出站代理名称
url https://www.gstatic.com/generate_204 测试目标 URL
timeout 5000 超时时间,5000ms
源码依据
-
路由注册 experimental/clashapi/proxies.go:31 注册了 /proxies/{name}/delay 路由,由 getProxyDelay 处理。
-
处理流程(proxies.go:187-234) 解析 url 和 timeout 参数 拒绝 HTTP URL——如果 url 以 http:// 开头,会被置空(回退到默认值) 创建带超时的 context(你设了 5000ms) 调用 urltest.URLTest() 执行实际测试 将结果存入 urlTestHistory(成功存延迟值,失败则删除记录)
-
核心测试逻辑(common/urltest/urltest.go:75-130)
① 通过出站代理建立 TCP 连接到 www.gstatic.com:443
② 如果连接需要 TLS 握手,计时从握手完成后开始(排除代理建连开销)
③ 发送 HTTP HEAD 请求(不是 GET,减少数据传输)
④ 不跟随重定向
⑤ 返回 delay = 往返耗时(毫秒),类型 uint16
关键细节:如果 url 参数为空,默认使用 https://www.gstatic.com/generate_204。
成功响应
{"delay": 230}
表示通过该代理访问目标 URL 的往返延迟为 230ms。
错误响应
HTTP 状态码 含义
400 参数错误(timeout 无法解析)
404 找不到该名称的出站代理
503 测试失败或 delay 为 0
504 超时(超过你设的 5000ms)
副作用
测试结果会自动写入 urlTestHistory 内存存储,这意味着:
如果该出站是 URLTest 组的成员,这次手动测试的延迟值会覆盖自动健康检查的历史记录
Clash 兼容的前端面板(如 Yacd、Metacubexd)会用这个值来显示代理延迟
不确定项
config_sub.json 中未看到 experimental.clash_api 的配置,无法确认你的 Clash API 是否需要认证(源码中注册了认证中间件)
该出站代理 公益 🇺🇸 🇺🇸 美国 | USA 13 是否存在于你的配置中,需要查看 config_sub.json 确认
能否给我在我的 singbox.ps1 增加一个脚本,测试 outbounds 中 "tag": "公益" 的 所有公益开头,但不是 公益 iFly 开头的节点。并剔除掉 500ms 延迟以下的节点这样一个功能。
让我的 公益节点可用性增强。
总结
让每一天有所产出。