mochi.js icon
mochi.js icon

mochi.js

The library for faithful browser automation. High-fidelity fingerprinting for Bun, engineered for consistency and transparency.

mochi.js screenshot 1

Cost / License

  • Free
  • Open Source (MIT)

Platforms

  • JavaScript
  • Typescript
  • npm
0likes
0comments
0articles

Features

mochi.js News & Activities

Highlights All activities

Recent activities

mochi.js information

  • Developed by

    0xchasercat
  • Licensing

    Open Source (MIT) and Free product.
  • Written in

  • Alternatives

    30 alternatives listed
  • Supported Languages

    • English

AlternativeTo Category

Development

GitHub repository

  •  106 Stars
  •  5 Forks
  •  1 Open Issues
  •   Updated  
View on GitHub
mochi.js was added to AlternativeTo by Paul on and this page was last updated .
No comments or reviews, maybe you want to be first?

What is mochi.js?

mochi.js is a Bun-native, raw-CDP browser automation framework. Pass a seed and a profile; get a relationally-coherent fingerprint that survives a getParameter(0x9245) probe. JIT-friendly inject payload, Chromium-native fetch (real Chrome JA4 by definition), behavioral synth on top of Bezier+Fitts. Leaves no crumbs.

Built for the strictest probes.

Where Playwright and Puppeteer leave fingerprints, mochi.js leaves nothing measurable. Each pillar covers one class of detection.

  • Relational consistency engine: Every fingerprint surface — canvas, WebGL, audio, fonts, MediaDevices, WebGPU — derives from a single (profile, seed) pair through a 48-rule DAG. No Frankenstein fingerprints; a Mac UA never lands next to Linux WebGL.
  • Chromium-native fetch: session.fetch() routes through Chromium itself via CDP — Network.loadNetworkResource for simple GETs, page.evaluate('fetch') for non-GET. JA4/JA3/H2 are real Chrome by definition. No parallel HTTP layer to keep in lockstep, no FFI to install.
  • Behavioral synthesis: humanClick / humanType / humanScroll synthesize from biomechanical models — Bezier paths with overshoot+correction, Fitts-law movement times, lognormal digraph delays. Profile-parameterized: hand, tremor, wpm, scrollStyle.
  • Probe-Manifest harness: Captured baselines from real devices live in the repo. Every PR diffs the live session's Probe Manifest against the baseline; Zero-Diff is a CI gate. Intentional divergences live next to a written rationale.
  • One coherent stack: Replaces the usual hand-stitched pipeline (Patchright + fingerprint-injector + Turnstile clicker + curl-impersonate) with one library that owns it end-to-end. Bun-only. No Node, no Python sidecars, no proprietary bits.

Official Links