Show HN: Mochi.js: bun-native 高保真浏览器自动化库
Source: Hacker News
介绍
我在分享 mochi.js —— 一个原生 Bun、基于原始 CDP 的浏览器自动化框架。它旨在通过关注一致性和与普通流量的可测量等价性,仅在 JavaScript 层面上,对标原生 Chromium,从而让编程式浏览器使用更高效。
与典型自动化的区别
大多数浏览器自动化工具依赖于客户端的逐行探针,这些探针大多是表面的。虽然它们看起来很可信,但对真实的 WAF 或反自动化防御几乎没有意义。
Mochi.js 关注真正重要的点,使你能够绕过验证码、WAF 以及许多其他防御机制。在某些情况下,它甚至优于 Chromium 分支,因为它不需要“撒谎”。
技术基础
- 基于 探针清单,该清单来源于对多个 WAF 的分析,覆盖最关键的检测向量。
- 自动解决 Turnstile/插页挑战。
- 实现单数字 FingerprintJS (FPJS) 可疑分数和强大的客户端结果。
- 已知限制:browserscan 以及少数与 WAF 探针技术根本冲突的工具。
动机
当前的“机器人检测”范式根本失效。例如,Turnstile 的脚本在调试器尝试检查它从硬件提取的数据时会自毁。业界称之为“安全”,但实际上一个故意控制硬件输出数据的脚本被标记为“恶意行为者”,从事“机器人规避”。
我构建了一个尊重硬件现实的库。如果这挑战了你的安全模型,那是因为该模型依赖于侵入和保密。
哲学
Mochi 是 WAF 不透明性的对立面——它是一个 玻璃盒 解决方案:
- MIT 许可证,完整文档化的 DAG、指纹清单模式以及收集过程。
- 实时基准公开提交(例如,在 Linux 数据中心 IP 上,Mochi 在 FingerprintJS Pro v4 对抗中获得
suspect_score: 8和bot: not_detected)。 - 默认匹配宿主操作系统:在 Linux 上使用隐私友好的 Linux 指纹,而不是 Windows,因为操作系统信号是真实的用户指示器。
这表明 WAF 并未阻止大多数人认为的那类行为,进而对其实际行为提出质疑。
许可证与可用性
Mochi.js 完全免费且开源,采用 MIT 许可证。它不隶属于任何专有产品、已修补的 Chromium 分支或 SaaS 服务。
- GitHub 仓库:
讨论
我会在此解答细节、文档或其他任何问题。
评论链接:
积分: 5
评论数: 1