Skip to content
HN On Hacker News ↗

mochi.js

▲ 47 points 20 comments by ccheshirecat 2w ago HN discussion ↗

Pangram verdict · v3.3

We believe that this document is fully AI-generated

99 %

AI likelihood · overall

AI
0% human-written 100% AI-generated
SEGMENTS · HUMAN 0 of 2
SEGMENTS · AI 2 of 2
WORD COUNT 303
PEAK AI % 100% · §1
Analyzed
May 9
backend: pangram/v3.3
Segments scanned
2 windows
avg 152 words each
Distribution
0 / 100%
human / AI fraction
Verdict
AI
Pangram v3.3

Article text · 303 words · 2 segments analyzed

Human AI-generated
§1 AI · 100%

Bun-native · MIT · stock Chromium Sticky on the outside. Untouchable on the inside. 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. bun ≥ 1.1 macOS · Linux · Windows MIT five pillarsBuilt 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. three-line stealthSame Playwright muscle memory.

§2 AI · 100%

None of the crumbs. import { mochi } from "@mochi.js/core";

// boot a stealth browser in three lines const session = await mochi.launch({ profile: "linux-chrome-stable", seed: "user-12345", });

const page = await session.newPage(); await page.goto("https://target.example/checkout");

console.log("UA:", session.profile.userAgent);

await session.close();