
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
@mochi.js/core
Advanced tools
The library for faithful browser automation. Bun-native; relational fingerprint matrix, biomechanical input, stock Chromium-for-Testing.
The primary entry point for mochi — a zero-footprint, Bun-native browser automation framework.
bun add @mochi.js/core
import { mochi } from "@mochi.js/core";
const session = await mochi.launch({
profile: "linux-chrome-stable",
seed: "user-12345",
});
const page = await session.newPage();
await page.goto("https://example.com");
await page.humanClick("a");
await session.close();
v0.7.x. mochi.launch() is fully wired: pipe-mode CDP transport, relational (profile, seed) Matrix, JIT-friendly inject delivered via Fetch.fulfillRequest body splice (with Page.addScriptToEvaluateOnNewDocument({ runImmediately: true, worldName: "" }) as the about:blank / data: fallback), behavioral synth, and a Chromium-native session.fetch (routes through CDP — Network.loadNetworkResource for simple GETs, page.evaluate("fetch") for non-GET — so JA4 is real Chrome by definition).
The full [v0.1.4 → v0.2] surface lands as additive minor bumps. See CHANGELOG.md.
mochi.launch(opts) — spawn a Chromium-for-Testing instance with a relationally-locked fingerprint matrix derived from (profile, seed). Options include proxy, headless, binary, timeout, geoConsistency (IP/TZ/locale exit reconciliation), and challenges (Turnstile auto-click).Session and Page — the runtime objects you drive.page.humanClick / humanType / humanScroll — biomechanically-shaped input synthesis (Bezier + Fitts + Gaussian jitter).session.fetch — out-of-band requests routed through Chromium itself via CDP. JA4/JA3/H2 are real Chrome by definition because Chromium is the client; cookies inherit from the page's origin; CORS applies for non-GET cross-origin calls.page.screenshot(opts?) — PNG / JPEG / WebP via CDP Page.captureScreenshot. Options: format, quality, fullPage, clip, omitBackground, encoding. Element-bounded capture ({ element: handle }) is deferred — see https://mochijs.com/docs/reference/limits.session.cookies.{save,load}(path, { pattern? }) — JSON cookie jar with version header + regex domain filter. Round-trips losslessly via Storage.getCookies / Storage.setCookies.page.localStorage.{get,set} and page.sessionStorage.{get,set} — direct DOMStorage CDP access, frame-scoped (defaults to current main-frame origin; pass { origin } for cross-origin).page.grantAllPermissions(opts?) — wraps Browser.grantPermissions with the full ALL_BROWSER_PERMISSIONS descriptor list.All of this is the single import. No mixing Patchright + a fingerprint injector + a Turnstile clicker. mochi solves it once.
bun >= 1.1.mochi browsers install.(profile, seed) pair. No Frankenstein fingerprints. Audio + canvas digests are byte-exact via precomputed per-(profile, sample-rate) blobs (R-047 / R-048).Fetch.fulfillRequest body splice closes the source-attribution leak that bare addScriptToEvaluateOnNewDocument would otherwise carry.MIT.
FAQs
The library for faithful browser automation. Bun-native; relational fingerprint matrix, biomechanical input, stock Chromium-for-Testing.
The npm package @mochi.js/core receives a total of 19 weekly downloads. As such, @mochi.js/core popularity was classified as not popular.
We found that @mochi.js/core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.