CCSub 连通性检测:测接口是否可达与往返耗时
点「开始检测」,浏览器会向 https://www.ccsub.net/api/v1/models 依次发送 5 次请求(这个接口不需要 Key、不计费), 显示是否可达、p50(中位数)和最快耗时。浏览器可达、终端却报 Connection error 时,基本可以断定是终端的代理设置问题,按下方命令在终端里再测一次即可定位。
检测地址
GET https://www.ccsub.net/api/v1/models点击「开始检测」,浏览器会向上面的地址依次发送 5 次请求。不需要登录和 Key,也不会产生任何费用。
怎么理解这个结果
- 数值受你本地网络和代理软件影响:同一台电脑开关代理、换 Wi-Fi,结果都会不一样。它只说明「从你这里到接口」这一段的情况,不代表模型生成回复要多久。
- 如果浏览器可达,但终端里的 Claude Code / Codex 报 Connection error、ECONNREFUSED 或 ETIMEDOUT,大多是终端的代理设置问题:浏览器走的是系统代理,终端走的是 HTTP_PROXY / HTTPS_PROXY 环境变量,两边经常不一致。下方有终端自测命令。
- 如果浏览器也不可达,先关掉代理软件或换个网络再测一次。
结果怎么解读
耗时没有统一的「合格线」,它最大的用处是对比:开关代理、换网络、换设备前后各测一次,差别一眼就能看出来。 下面是几种常见结果对应的含义。
| 看到的结果 | 说明 | 下一步 |
|---|---|---|
| 可达,耗时稳定 | 从你的网络到接口这一段是通的。 | 终端里还报错,就按下面的命令查终端代理。 |
| 可达,但第 1 次明显更慢 | 第 1 次包含 DNS 解析和 TLS 握手,属于正常现象。 | 以 p50 为准。 |
| 可达,但每次都很慢或忽快忽慢 | 通常是代理节点或本地网络质量的问题。 | 关掉代理直连,或换个网络再测,对比结果。 |
| 部分成功、部分失败 | 网络不稳定,丢包或连接被中途重置。 | 过几分钟重测;长时间如此,换网络对比。 |
| 全部「网络错误」 | 浏览器连不上:可能是代理软件拦截、DNS 异常或公司防火墙。 | 完全退出代理软件后重测,再试手机热点。 |
| 全部「超时」 | 请求发出去了,但 10 秒内没有回应。 | 多半是代理或网络卡住,换网络对比。 |
| 收到 HTTP 5xx | 网络是通的,服务端暂时出错。 | 稍后重试;持续出现请发邮件到 support@ccsub.net。 |
浏览器能通、终端不通:先查代理变量
浏览器一般跟随系统代理(或代理软件的「系统代理」开关),而终端里的 Claude Code、Codex、npm 只看环境变量。最常见的几种情况:
- 代理软件已经退出,但当前终端里还留着
HTTPS_PROXY,指向一个已经没人监听的端口 —— 报 ECONNREFUSED。 - 代理变量写成了
socks5://地址。按 Claude Code 官方网络配置文档,它不支持 SOCKS 代理,只认 HTTP(S) 代理。 - 大小写变量设了两套、值不一样。Claude Code 按
https_proxy、HTTPS_PROXY、http_proxy、HTTP_PROXY的顺序取第一个,可能和你以为的不是同一个。 - 只想让 CCSub 直连、其他网站继续走代理,可以设置
NO_PROXY=www.ccsub.net。
在终端里自测(macOS / Linux)
curl -sS -o /dev/null -w "HTTP %{http_code} DNS %{time_namelookup}s TCP %{time_connect}s TLS %{time_appconnect}s 首字节 %{time_starttransfer}s 总计 %{time_total}s\n" https://www.ccsub.net/api/v1/models输出里 HTTP 200 说明接口正常响应。DNS、TCP、TLS 是累计时间点:DNS 很慢说明域名解析有问题,TLS 和 TCP 差得多说明握手阶段慢,总计 是完整往返。
env | grep -i _proxycurl --noproxy '*' -sS -o /dev/null -w "HTTP %{http_code} total %{time_total}s\n" https://www.ccsub.net/api/v1/modelsunset HTTP_PROXY HTTPS_PROXY ALL_PROXY http_proxy https_proxy all_proxy带代理测失败、绕过代理测成功,问题就在代理;两种都失败,问题在网络本身。清掉变量只对当前窗口有效,长期设置在 ~/.zshrc 或 ~/.bashrc 里,记得一并检查。
在终端里自测(Windows PowerShell)
curl.exe -sS -o NUL -w "HTTP %{http_code} DNS %{time_namelookup}s TLS %{time_appconnect}s total %{time_total}s\n" https://www.ccsub.net/api/v1/models一定要输入 curl.exe:在 Windows PowerShell 5.1 里,单独的 curl 是 Invoke-WebRequest 的别名,不认 -w 这些参数。 Windows 10 和 11 都自带 curl.exe。
Get-ChildItem Env: | Where-Object Name -match 'proxy'
netsh winhttp show proxyRemove-Item Env:HTTP_PROXY, Env:HTTPS_PROXY, Env:ALL_PROXY -ErrorAction SilentlyContinue用 Key 测一次真实接口
上面的检测不需要 Key,只能说明网络通不通。想确认 Key 和对话接口也没问题,可以发一个最小的请求(macOS / Linux 终端)。它会真实调用一次 model, 产生几个 Token 的极少量费用:
curl https://www.ccsub.net/v1/messages \
-H "x-api-key: sk-你的Key" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'返回一段带 content 的 JSON,说明 Key 和接口都正常;401 是 Key 不对,402 是余额不足(有月卡时,是当天额度和余额都用完了)。
常见问题
浏览器能打开 CCSub,为什么终端里的 Claude Code 报 Connection error?
浏览器和终端走的不是同一套网络设置。浏览器一般跟随系统代理,终端里的程序只看 HTTPS_PROXY、HTTP_PROXY 这类环境变量。代理软件退出后变量还留在终端里、变量指向了已经关掉的端口、或者写的是 socks5 地址,都会让终端连不上。按页面里的命令查一下当前终端的代理变量。
Claude Code 能用 SOCKS 代理吗?
按 Claude Code 官方网络配置文档,它不支持 SOCKS 代理,只认 HTTPS_PROXY / HTTP_PROXY 里的 HTTP(S) 代理地址,并按 https_proxy、HTTPS_PROXY、http_proxy、HTTP_PROXY 的顺序取第一个设置了的。代理变量写成 socks5://… 时,换成代理软件提供的 HTTP 端口,或者干脆取消这些变量直连。
第一次请求为什么比后面慢很多?
第一次要先做 DNS 解析、建立 TCP 连接、完成 TLS 握手,后面几次会复用已经建立好的连接,所以通常明显更快。看 p50(中位数)比看第一次更有参考价值。
检测需要 Key 吗?会扣费吗?
不需要。检测请求的是公开的模型列表接口 /api/v1/models,不需要登录和 Key,不调用任何模型,也不会产生费用。
这里测出来的耗时,就是模型回复的速度吗?
不是。这里只测从你的网络到接口的一次往返。模型回复的耗时还取决于所选 model、上下文长短和输出长度,一次长回复可能要几十秒,这和网络往返是两回事。
5 次全部失败怎么办?
先完全退出代理软件(右键菜单里的「退出」,不是最小化),再测一次;还不行就换一个网络,比如手机热点。公司网络有时会拦截不认识的域名,可以问一下网络管理员。换网络后能通,说明问题在原来的网络环境。