由于大部分常见CDN或WAF大部分都不会针对性的识别用户是不是浏览器,所以这个项目的目的重点在于根据TLS指纹/H2指纹/请求头以及使用js拿到的浏览器内的特征结合判断客户端环境,尽可能拦截所有的非浏览器客户端
点击空白处退出提示
语言技术
HTML5、CSS、JavaScript、TypeScript、Rust系统类型
算法模型行业分类
网络安全
由于大部分常见CDN或WAF大部分都不会针对性的识别用户是不是浏览器,所以这个项目的目的重点在于根据TLS指纹/H2指纹/请求头以及使用js拿到的浏览器内的特征结合判断客户端环境,尽可能拦截所有的非浏览器客户端
1. 基于TLS指纹拦截常见的爬虫客户端
2. 基于 TLS + 浏览器请求头 交叉验证客户端是否合法
3. 在 html 内容中注入特定的js文件,在浏览器中抓取环境信息
4. 对于可疑但无法确定的客户端使用交互式(或PoW验证码)+ js环境探测进行额外检查
5. 在纯拦截(即触发WAF规则)的情况下,单机可以做到接近100万rps,转发模式(不命中WAF规则,纯反向代理)的情况下,可以做到60万左右的rps
整个项目都是我自己一个人独立开发,使用了tokio作为默认的异步runtime,同时在Linux内核版本合适的情况下,可以启动 io-uring 提升性能,TLS实现使用的rustls,js混淆器基于 swc 实现,http使用的是hyper




评论