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-7
Name Modified Size InfoDownloads / Week
Parent folder
checksums.txt 2026-05-23 217 Bytes
firefox-150.0.1-stealth-linux-x86_64.tar.gz 2026-05-23 118.4 MB
firefox-150.0.1-stealth-win-x86_64.zip 2026-05-23 129.8 MB
invisible-firefox (150.0.1) rev 7 source code.tar.gz 2026-05-22 9.1 MB
invisible-firefox (150.0.1) rev 7 source code.zip 2026-05-22 9.1 MB
README.md 2026-05-22 1.3 kB
Totals: 6 Items   266.5 MB 24

Fixes [#18] (id.sky.com tab crash on Windows headless=True). Two separate bugs that only triggered together on the alt-desktop scenario:

The Chromium content sandbox at the default level 6 sets STARTUPINFO.lpDesktop=kAlternateWinstation, putting content processes on a different desktop than the wrapper's hidden alt-desktop (which is created via CreateDesktop for window hiding when headless=True). Cross-process navigations like the ones Adobe AppMeasurement triggers can't reparent windows across desktops and the new content process exits cleanly. Wrapper-side fix lowers content sandbox to level 4 so all processes stay on the parent's desktop.

The canvas2d getImageData stealth spoof was writing to a read-only mapped DataSourceSurface. On CPU-backed canvases the write succeeded in practice; on GPU-backed canvases the memory is write-protected and the write segfaulted. That's why the crash showed up at browser.close — id.sky.com runs a final getImageData during page unload. Source-side fix moves the noise application to the JS Uint8ClampedArray's writable backing buffer after the swizzle step.

Tested end-to-end with InvisiblePlaywright headless=True + UK proxy: page survives 30s+, no crash in loop or at close.

Built from feder-cr/invisible-firefox commit 2e17b4871f93 on stealth/150.

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