论坛的大佬给出了检测的思路,就是我们发起一个带图片的gpt请求, 那么代理和最终的openai 都会请求这个图片地址; 代理请求的目的是为了计费;
然后我们通过请求图片的客户端的user-Agent 来判判断他们的类型 ;
本地脚本实现我们需要一个可访问的公网域名,来监听图片的请求,借助 localhost.run
我们可以获得一个临时的域名;
userAget = 请求图片地址的客户端的user-Agent
if userAget contains "IPS" {
print("Azure")
}
if userAget contains "OpenAI" {
print("OpenAI")
}
if userAget contains "other" {
println("普通代理")
}
if userAget is empty {
print("未知,可能来自逆向")
}
安装:
curl -fsSL https://raw.githubusercontent.com/go-coders/check-trace/main/install.sh | bash
使用:
check-trace
正在启动服务器和创建临时域名...
请稍候...
临时域名: https://hello-world-example.lhr.life
=== API 中转链路检测工具 ===
请输入 API 信息:
API URL: https://example-api.com/v1/chat/completions
API Key: sk-xxxx1234
模型名称 (默认: gpt-4o):
=== API 中转链路检测工具 ===
临时域名: https://hello-world-example.lhr.life
API URL: https://example-api.com/v1/chat/completions
API Key: sk-xxxx***
模型名称: gpt-4o
正在检测中...
→ 12:34:56 UA: Go-http-client/1.1 [代理] X-Forwarded-For: 1.2.3.4
→ 12:34:58 UA: Go-http-client/1.1 [代理] X-Forwarded-For: 5.6.7.8
→ 12:35:00 UA: Go-http-client/1.1 [代理] X-Forwarded-For: 9.10.11.12
→ 12:35:01 UA: Java/17.0.8 [代理] X-Forwarded-For: 13.14.15.16
→ 检测完成
源码:
参考: