Download Latest Version firefox-150.0.1-stealth-linux-x86_64.tar.gz (118.4 MB)
Email in envelope

Get an email when there's a new version of invisible_playwright

Home / firefox-2
Name Modified Size InfoDownloads / Week
Parent folder
checksums.txt 2026-05-18 217 Bytes
firefox-150.0.1-stealth-linux-x86_64.tar.gz 2026-05-18 123.5 MB
firefox-150.0.1-stealth-win-x86_64.zip 2026-05-18 129.8 MB
invisible-firefox (150.0.1) rev 2 source code.tar.gz 2026-05-18 9.1 MB
invisible-firefox (150.0.1) rev 2 source code.zip 2026-05-18 9.1 MB
README.md 2026-05-18 2.5 kB
Totals: 6 Items   271.5 MB 1

Patched Firefox 150.0.1 — stealth build, revision 2.

Fix in this build

#9: every page.mouse.*, page.click(selector), locator.click(), page.hover(), mouse.wheel() was failing on firefox-1 with:

Mouse.move: Protocol error (Page.dispatchMouseEvent):
  win.windowUtils.jugglerSendMouseEvent is not a function

The Playwright Juggler JS in the FF146 fork was importing calls to windowUtils.jugglerSendMouseEvent — a C++ method that exists in upstream Playwright's Firefox patches but was never landed in the FF146 → FF150 port. Six call sites across chrome/juggler/content/protocol/PageHandler.js and chrome/juggler/content/content/PageAgent.js were swapped to win.synthesizeMouseEvent (a chrome-scope Mozilla helper that already exists on the FF150 window). Two _linkedBrowser.scrollRectIntoViewIfNeeded call sites were also guarded — the method is missing on the FF150 <browser> element and was throwing before mouse events could dispatch.

Verified with a 12-case regression suite covering: mouse.move, mouse.click, dblclick, right-click → contextmenu, modifiers, locator.click, hover, mouse.wheel, manual mousedown/up, off-viewport mousemove, humanize intermediate moves (StealthFox Bezier still fires per-step), and scroll-and-click on offscreen elements. 12/12 PASS.

Reporter: @trob9 — supplied a 4-line minimal repro and ready-to-paste JS patches. Five-level diagnosis (IDL ↔ nsDOMWindowUtils.cpp ↔ JS source ↔ shipped dist ↔ xul.dll symbol table) all confirmed the C++ side was never compiled.

Anti-detect surface unchanged: synthesizeMouseEvent is a Mozilla helper, not a Playwright custom API. reCAPTCHA v3 / FingerprintPro / CreepJS results documented in the README continue to hold.

Upgrade

:::bash
pip install --upgrade invisible-playwright
python -m invisible_playwright clear-cache
python -m invisible_playwright fetch

Assets

  • firefox-150.0.1-stealth-win-x86_64.zip — Windows x86_64 (123.8 MB)
  • firefox-150.0.1-stealth-linux-x86_64.tar.gz — Linux x86_64 (117.8 MB)
  • checksums.txt — SHA256 of both archives

Linux archive built by hot-swapping the two patched JS files into the firefox-1 Linux tarball (no rebuild needed; the fix is JS-only). Byte-identity of patched JS verified between Windows and Linux archives.

The C++ side of xul.dll is unchanged from firefox-1.

Source: README.md, updated 2026-05-18