| Name | Modified | Size | Downloads / 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.