根据 tls 的 rtt 和 tcp 的 rtt 检测代理,已开源

2024-08-20 15:50:36 +08:00
 YCCD

这个帖子的源码

proxy-checker-rs

用 rust 写的,代码比较丑,将就看吧

有很多没使用代理,被检测为代理是因为网络不稳定,而且过滤异常值的算法有问题

网络的话,可以在不同地区部署服务,分区解析,

我部署在 99 一年的 hk 机器上,网络肯定不稳定,用线路好点的机器 或者 国内国外都部署然后分区解析会好很多

我部署在线路比较差的节点上,目前的话数据还行,只有一部分数据在临界值, 下面是随便截的数据

3 层的代理检测不到

代码有可以优化的地方,暂时就先这样吧,欢迎 pr

(可以的话 star 一下, 谢谢)

3013 次点击
所在节点    程序员
16 条回复
zhng920823
2024-08-20 16:01:58 +08:00
厉害了, 不错的检测思路
yb2313
2024-08-20 17:00:58 +08:00
那以后爬虫失败都怪你😫
yb2313
2024-08-20 17:05:03 +08:00
为什么谷歌翻译会把 yccd 翻译成树丛
exkernel
2024-08-20 17:23:40 +08:00
打开思路了
mightybruce
2024-08-20 17:40:59 +08:00
你可以多实现几种滤波算法,将数据信号通过滤波算法过滤一下。
fffang
2024-08-20 18:19:40 +08:00
原理图用啥画的?
YCCD
2024-08-20 18:46:11 +08:00
fffang
2024-08-20 18:50:37 +08:00
@YCCD 谢谢
povsister
2024-08-20 18:54:12 +08:00
透明代理之类的可以检测到,毕竟直接 socket connect time 非常短。
OP 说的三层代理应该是直接三层路由的那种。
CC11001100
2024-08-21 00:24:50 +08:00
牛蛙牛蛙 👍
tianhehechu
2024-08-21 08:36:49 +08:00
加油,可以继续完善。不过有点担心,被利用来屏蔽梯子
allenby
2024-08-21 13:13:16 +08:00
利用了 tls 的握手从实际服务器返回,tcp 的握手从前置服务器返回,根据两者时间差的关系来检测?
YCCD
2024-08-21 16:08:49 +08:00
@allenby
Archeb
2024-08-21 20:55:08 +08:00
这个思路让我想起了 @iqoo 大佬的前端黑魔法系列

https://github.com/EtherDream/web-frontend-magic
allenby
2024-08-22 12:35:53 +08:00
@allenby #12 确实是好方法,还好我是直接前置 tls ,没有正确的 host 根本进不去🐶
allenby
2024-08-22 13:06:29 +08:00
@allenby #15 但是如果是墙的话,也是可以通过以上方式判断出来的,除非前置和 后段离得很近

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1066463

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX