Files
notes/calendar/diary/2026-05-07.md
T
Docker7530 7f14056210 1778682052
2026-05-13 22:20:54 +08:00

105 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 任务
- [x] 开发:参加 IBS 项目晨会,同步昨日问题跟进事项。(李春良 0.5)
- [x] 联调:IBS 7.20.0 版本联调,BBOSS 中国移动CDN信控能力优化需求,环境恢复,开始联调,BBOSS 测有问题。(张鹏豪 2)
- [x] 开发:IBS 7.20.0 版本需求开发,客服智能体一期底层大模型替换&mcp开发,前后端联调。(李春良 5.5)
# 日志
Qwen3.6-35B-A3B-FP8
Qwen3.5-122B-A10B-GPTQ-Int4
Qwen3.6-35B-A3BBF16
我发现了一个内核的 API http://127.0.0.1:9595/proxies/%E5%85%AC%E7%9B%8A%20%F0%9F%87%BA%F0%9F%87%B8%20%F0%9F%87%BA%F0%9F%87%B8%20%E7%BE%8E%E5%9B%BD%20%7C%20USA%2013/delay?url=https:%2F%2Fwww.gstatic.com%2Fgenerate_204&timeout=5000
根据源码分析得到结论:
结论
这个 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
源码依据
1. 路由注册
experimental/clashapi/proxies.go:31 注册了 /proxies/{name}/delay 路由,由 getProxyDelay 处理。
2. 处理流程(proxies.go:187-234
解析 url 和 timeout 参数
拒绝 HTTP URL——如果 url 以 http:// 开头,会被置空(回退到默认值)
创建带超时的 context(你设了 5000ms
调用 urltest.URLTest() 执行实际测试
将结果存入 urlTestHistory(成功存延迟值,失败则删除记录)
3. 核心测试逻辑(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 延迟以下的节点这样一个功能。
让我的 公益节点可用性增强。
# 总结
让每一天有所产出。