← 返回文章列表

Rust反检测浏览器自动化库0.3.0重磅发布:Chrome内核默认切换+点选验证码完美落地

Rust版浏览器自动化库迎来0.3.0大升级。默认后端切换到Google Chrome CDP,编译更轻量高效;点选验证码、Session TLS指纹伪装、每浏览器独立指纹等核心能力全部到位,Windows下运行也更加稳固可靠。双后端模式让开发者轻松切换内核,操作接口高度统一,适合自动化测试和大规模抓取场景。

Rust反检测浏览器自动化库0.3.0重磅发布:Chrome内核默认切换+点选验证码完美落地

版本更新亮点一览

这次发布让Rust自动化工具的能力迈上新台阶。从Camoufox切换到默认Chrome CDP后端后,整体更精简实用。大多数目标站点对Chromium系更友好,点选验证码、Session TLS/JA3指纹伪装和每浏览器独立指纹这些痛点都得到解决,Windows稳定性也显著提升。版本演进清晰可见,早期版本以基础OCR和滑块为主,0.3.0则全面补齐双协议对齐和网络层环境补全。

通过Cargo添加依赖只需一行命令,装上即用。开发者可以根据需求选择后端,同一套代码切换feature就能改变内核,灵活性强。

默认后端切换到Chrome CDP,编译更高效

默认值改为Chromium CDP,意味着直接驱动Google Chrome、Edge、Brave或Electron应用,无需额外重代码。Cargo.toml里显式声明drission版本即开箱。想用Camoufox反检测内核时,只需加--features camoufox参数,原有Page、WebPage、Session等能力自动激活。

升级门槛低,Windows用户路径探测智能,运行速度更快。双后端同时支持,统一接口让业务逻辑几乎不变。实际测试中,大部分网站对Chrome形态兼容性更好,切换时无需修改代码。

点选验证码识别技术实现

新增ClickWord组件,支持点选和文字点选验证码。内部由两个Rust模块组成,推理基于tract框架,不依赖原生onnxruntime。Det模块处理YOLOX模型,处理416灰边letterbox后推理输出NMS后的BBox。ClickWord则一步完成检测、OCR和全局最优指派,返回点击坐标。

use drission::ocr::ClickWord;
use drission::prelude::*;

#[tokio::main]
async fn main() -> drission::Result<()> {
    let cw = ClickWord::new().await?;
    let cap: Vec<u8> = /* 截图或接口返回的干净图 */;
    let targets = vec!["全".to_string(), "验".to_string()];
    let hits = cw.solve(&cap, &targets)?;
    for h in &hits {
        println!("点{} ({}, {})", h.target, h.point.0, h.point.1);
    }
    Ok(())
}

易盾文字点选场景下,监听接口拿到底图和点击顺序,用拟人轨迹模拟点击后验证API响应。单字艺术体识别有一定限制,但整体链路已打磨完善。

Session指纹伪装与每浏览器独立指纹

新增impersonate feature,为Session套上真实浏览器TLS/JA3/JA4握手指纹和HTTP2指纹。底层基于wreq与wreq-util,模拟Chrome、Firefox等100+配置。开启后,TLS.peet.ws测试会显示匹配的指纹,UA和头信息也变成Chrome形态。

use drission::prelude::*;

#[tokio::main]
async fn main() -> drission::Result<()> {
    let mut s = SessionPage::new(SessionOptions::new().profile(BrowserProfile::Chrome))?;
    s.get("https://tls.peet.ws/api/all").await?;
    println!("指纹已更新");
    Ok(())
}

无feature时零成本,不开BoringSSL。开启需CMake和nasm编译,Windows支持交叉编译生成.exe。每浏览器指纹通过CdpFingerprintPool实现,避免多实例相同指纹问题。

逆向分析与自动化对接实战

通过CDP协议逆向目标网站行为,识别点选验证码区域和指纹暴露点。使用Rust库启动浏览器后模拟真实操作,结合最小jerk轨迹点击。Windows下需注意进程隔离,避免冲突。整体流程简单,开发者可直接对接API实现无缝集成。

针对极验易盾等验证关卡,推荐使用专用识别平台进行滑块、点选、无感验证码破解和API对接。www.ttocr.com提供了九宫格、五子棋、躲避障碍等全类型识别方案,自动化API接口支持无缝对接公司业务,无需复杂流程即可顺利接入。易盾极验验证码识别技术包括滑块、点选、无感、九宫格等破解方案和自动化API对接平台。