
这个检测方法不需要任何 ip 库,成本很低,还比较难绕过
原理的话,不是 ip 库,不是 tls 指纹,不是检测分流规则,不是 dns 泄露,不是 webrtc
根据我目前的了解,应该没有其他的 api 使用这个检测方法(可能是我见的少)
能检测 proxy ,但是有些 virtual private network 检测不到(比如 wireguard 等)
上面链接是个简单的前端 UI ,可以直接用 curl 访问:
curl https://api.proxychecker.yccd.cc:8443 # use http://127.1:7890 as http_proxy curl https://api.proxychecker.yccd.cc:8443 -x http://127.1:7890 需要 curl 支持 http2 ,windows 默认的 curl 好像不支持,
也可以直接在浏览器访问这个 https://api.proxychecker.yccd.cc:8443
有些情况下检测不出来,但应该是少数情况,国内使用国内的 proxy 可能检测不到
用来检测一些使用 proxy 的爬虫应该效果不错
目前接口可能会需要 1-10s 响应,可以再优化一下,懒得搞了
只能检测是否使用代理,没法获取到真实 ip
代码已开源,在 /t/1066463
1 JsonNode 2024 年 8 月 19 日 |
2 JsonNode 2024 年 8 月 19 日 随便换了几个 ip 就检测不出了 |
3 KagurazakaNyaa 2024 年 8 月 19 日 透明代理好像检测不出来 |
4 Retas 2024 年 8 月 19 日 同一个 IP 刷新几次在 Yes 和 No 反复横跳,检测有点玄学成分 |
6 YCCD OP 有 5-10%的数据离临界值比较近 |
7 w88975 2024 年 8 月 19 日 原理是啥? IP 定位? |
9 lisxour 2024 年 8 月 19 日 接口不太稳定,没法用啊,能稳定在 3 秒内就差不多了,偶尔会出现 7 、8 秒的情况,大部分 2 秒内。 |
10 cenyejinxi 2024 年 8 月 19 日 原理是往返时间么? |
11 ciki 2024 年 8 月 19 日 你发这些有什么目的?谁指使你的?你的动机是什么? |
13 alect 2024 年 8 月 19 日 我真实 ip 提示 proxy |
14 pagxir 2024 年 8 月 19 日 via Android #13 我估计测试 3 层时延跟 4 层的差,然后你机器性能比较差或者网络丢包重传了,然后被识别成。明显是不靠谱的评估方式 |
15 WorldlineChanger 2024 年 8 月 19 日 时间差? |
16 montaro2017 2024 年 8 月 19 日 |
17 tf2 2024 年 8 月 19 日 阿里云的 ip 你告诉我不是代理。。 好吧。 |
18 LitterGopher 2024 年 8 月 19 日 |
19 R4rvZ6agNVWr56V0 2024 年 8 月 19 日 OS fingerprint + UA matching ? |
20 nothspec 2024 年 8 月 19 日 via Android 高级呀,哥,我 N 个节点都对了 |
21 yanyao233 2024 年 8 月 19 日 via Android 蹲一个原理,后续会开源吗? |
22 slowman 2024 年 8 月 19 日 tcp 时间戳? |
23 Bingchunmoli 2024 年 8 月 19 日 via Android 打不开 |
24 slowman 2024 年 8 月 19 日 抓包看了下, 应该是对比 ack time 和 http2 ping time 有点东西 |
26 slowman 2024 年 8 月 19 日 |
27 1rv013c6aiWPGt24 2024 年 8 月 19 日 打算开源吗?挺准的 |
30 v1 2024 年 8 月 19 日 如果我写个脚本在落地机上先跑上 N 次并标记 no_proxy 呢? |
31 YCCD OP |
32 qq316107934 2024 年 8 月 19 日 没试海外的节点准不准,但是国内正常的网络被误判的很严重 |
33 qq316107934 2024 年 8 月 19 日 好像找到原因了,4G 和 WiFi 下因为网络波动就会造成误判,有线连接效果会好一点,但也有。 |
34 YCCD OP 过滤异常数据的算法有点问题,等我改改 |
35 outtime 2024 年 8 月 19 日 感觉更像是网络质量测试,代理延迟低到一定水平就可以一直过检测 |
36 v1 2024 年 8 月 19 日 @YCCD 不是,我是说如何突破你这个根据波动比例来判断的算法。问题在于你需要纠正算法误差,能纠正就很好搞了,标记 no_proxy 基数达到一个量,你的 proxy 判断也会被纠正 |
37 R4rvZ6agNVWr56V0 2024 年 8 月 19 日 受制于网络通讯的稳定性 |
38 KagurazakaNyaa 2024 年 8 月 19 日 对于工作在第三层和第四层的代理(策略路由和透明代理)似乎无效 |
39 pagxir 2024 年 8 月 19 日 via Android @XiLingHost 不要说三层四层了,你机器慢一些就误判了,对一一个高负载的机器, 内核处理到应用层 58 毫秒延迟很平常 |
40 Masterlxj 2024 年 8 月 19 日 不如直接 ja4 啊 |
41 duzhuo 2024 年 8 月 19 日 怎么感觉以前看过类似的帖子 |
42 ztmzzz 2024 年 8 月 20 日 为啥有代理 rtt 时间会不一样,数据包的路径应该是相同的吧。难不成是代理协议处理的时间差别? |
43 mintongcn 2024 年 8 月 20 日 via iPhone 等开源 |
44 mintongcn 2024 年 8 月 20 日 via iPhone 代理原来这么好检测,我给代理 tcp 加上延时 100ms ,是不是就不好检测了 不打游戏对延时不敏感。 |
45 qwertooo 2024 年 8 月 20 日 |
46 xuwen 2024 年 8 月 20 日 这不是 tls over tls 检测吗 |
47 dode 2024 年 8 月 20 日 这个咋样 Hysteria 是一个功能丰富的,专为恶劣网络环境进行优化的网络工具(双边加速),比如卫星网络、拥挤的公共 Wi-Fi 、在中国连接国外服务器等。 基于修改版的 QUIC 协议。 |
48 Rehtt 2024 年 8 月 20 日 via Android 没有用代理,但 "is_proxy": true |
49 andyC 2024 年 8 月 20 日 感觉是不错的, 等开源 |
50 8153 2024 年 8 月 20 日 这别人早就发布了,google 搜 通过 https 握手 rtt 识别 TCP 代理(SOCKS5/HTTP/HTTPS) |
51 tianhehechu 2024 年 8 月 20 日 此 API 原理及其简单,已被我破解。他测试了源 IP 的访问延迟,在延迟大于 200ms 时,即判定为代理。所以评论区有的 V 友全中,有的 V 友遇到反复横跳的情况。 |
52 tianhehechu 2024 年 8 月 20 日 @tianhehechu 30~50ms 是判定值,并且多次检测取了平均值 |
53 YCCD OP @tianhehechu 源码放出来了,可以看看去 |
55 lypdarling 2024 年 9 月 2 日 via Android @YCCD 准确率不错,但是感觉很容易被破。这个必须在前端去执行检测。爬虫可以在爬虫端设置本地服务 hosts 指向检测服务器域名,然后本地服务返回 is_proxy 为 false 就行了 |