Show HN: Mochi.js: bun-native 高保真浏览器自动化库

发布: (2026年5月9日 GMT+8 22:01)
4 分钟阅读

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: 8bot: not_detected)。
  • 默认匹配宿主操作系统:在 Linux 上使用隐私友好的 Linux 指纹,而不是 Windows,因为操作系统信号是真实的用户指示器。

这表明 WAF 并未阻止大多数人认为的那类行为,进而对其实际行为提出质疑。

许可证与可用性

Mochi.js 完全免费且开源,采用 MIT 许可证。它不隶属于任何专有产品、已修补的 Chromium 分支或 SaaS 服务。

  • GitHub 仓库:

讨论

我会在此解答细节、文档或其他任何问题。


评论链接:
积分: 5
评论数: 1

0 浏览
Back to Blog

相关文章

阅读更多 »

Bun 在 6 天内移植到 Rust

概览 - 测试覆盖率:在 Rust 重写版中,Bun 现有的测试套件在 Linux x64 glibc 上的通过率为 99.8%。 - 代码库基本保持不变,但 Ru...