Commit graph

12 commits

Author SHA1 Message Date
feder-cr
bfccd61863 docs: rename source-fork repo references invisible-firefox -> invisible_firefox
The companion Firefox source-fork repo was renamed today from
feder-cr/invisible-firefox to feder-cr/invisible_firefox so the two
canonical project repos share the same underscore naming
(invisible_playwright + invisible_firefox).

GitHub redirects clones of the old URL transparently, so anyone with
an existing clone keeps working without changes. New clones go
through the underscore URL directly.

This commit updates all in-repo references (README, CHANGELOG,
CONTRIBUTING, SECURITY, ISSUE_TEMPLATE/config.yml) to the new name.
No code, no version bump, no behavior change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 11:09:27 -07:00
feder-cr
34aeb9601f docs: sanitize CHANGELOG #18 entry + remove obsolete Known issues section
Two-part cleanup:

- CHANGELOG.md #18 entry: rewrite the symptom description without
  naming the specific third-party site that originally reported it.
  The technical root cause and fix are unchanged.

- README.md: remove the entire "Known issues" section. Its only entry
  was the headless=True alt-desktop crash from #18, which was fully
  fixed in 0.1.7 / firefox-7. Leaving the workaround instructions in
  the README would have misled users into adopting them
  unnecessarily. New issues can be added back as they're found; the
  default state is "no known issues".

Pre-push: 402 unit + integration tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 10:23:34 -07:00
feder-cr
2e0adbde33 fix: id.sky.com tab crash on Windows headless=True (issue #18)
Two-part fix for the wrapper-repo issue #18 (tab crash on id.sky.com
and similar sites with cross-process navigation):

Part 1 (this commit, wrapper-side):
- _WIN_VIRT_DESKTOP_WORKAROUNDS adds security.sandbox.content.level=4.
  When the Chromium sandbox runs at content level >4 (default 6) it sets
  STARTUPINFO.lpDesktop=kAlternateWinstation for the content process,
  putting it on a different desktop than the browser process. Combined
  with our hidden alt-desktop (CreateDesktop) for headless windows
  hiding, that means cross-process navigations (Adobe AppMeasurement
  triggers a new origin -> new content process) can't reparent windows
  across desktops; the new content process exits cleanly and Playwright
  fires page.on('crash'). Lowering content sandbox to 4 keeps content
  processes on the parent's desktop. Level 4 still blocks file/registry/
  network access; only the alt-winstation isolation is dropped, which
  is what the desktop bug requires.
- README.md adds a Known Issues section pointing at issue #18 with
  the workaround (headless=False or Linux+Xvfb) for users on wrapper
  versions before firefox-7.

Part 2 (separate commit in invisible-firefox@2e17b4871f93):
- CanvasRenderingContext2D::GetImageDataArray moved the stealth pixel
  noise from rawData.mData (read-only DataSourceSurface::Map) to the
  JS Uint8ClampedArray's backing buffer. The original write to a
  read-only mapped surface segfaulted on GPU-backed canvases during
  browser.close() teardown.

Verified end-to-end with InvisiblePlaywright headless=True + Evomi UK
proxy on id.sky.com: page survives, no crash in loop, no crash at
teardown.

Reporter: @gamefireat123-eng.
2026-05-21 20:20:58 -07:00
feder-cr
7f7a791564 docs: rename feder-cr/firefox-stealth refs to feder-cr/invisible-firefox
The companion C++ patches repo at feder-cr/firefox-stealth was deleted
2026-05-19 and the source-of-truth fork was renamed from feder-cr/firefox
to feder-cr/invisible-firefox.  The branch stealth/150 on the renamed
fork is now the single source of truth for all C++ patches.

GitHub's auto-redirect is in effect for the old URLs but is not a
forever guarantee, so update all references now.

Updated:
  README.md         × 2 hyperlinks  (intro paragraph + license section)
  CONTRIBUTING.md   × 3 references  (quick links, scope, bug reports)
  SECURITY.md       × 1 reference   (out-of-scope vulnerabilities)
2026-05-19 15:41:44 -07:00
feder-cr
e37a4bc102 docs: add LinkedIn badge 2026-05-16 17:16:14 -07:00
feder-cr
1d77f99770 docs: add Related projects section (arkenfox, LibreWolf, Camoufox) 2026-05-16 17:09:52 -07:00
feder-cr
9872b1995a docs: collapse layer table into a link to firefox-stealth 2026-05-16 10:49:32 -07:00
feder-cr
dd140d04ae docs: install via git+https (package not on PyPI) 2026-05-16 10:43:04 -07:00
feder-cr
b42dc31456 tests: add/update README.md 2026-05-15 20:02:02 -07:00
feder-cr
6185dbc078 docs: tighten technical claims (mDNS, Chromium open-source layers, competitor list, font metrics) 2026-05-15 19:52:25 -07:00
Federico
c690dbfd33
Update README.md 2026-05-12 22:35:39 -07:00
feder-cr
7a983e99c5 feat: initial public release
invisible-playwright: a patched Firefox 150.0.1 for browser-fingerprint
stealth, shipped as a Playwright-compatible Python wrapper.

  * Sync + async InvisiblePlaywright launcher (firefox_user_prefs, virtual
    desktop on Windows, SOCKS5 auth via patched nsProtocolProxyService)
  * fpforge: Bayesian fingerprint sampler over GPU / audio / fonts /
    screen / ~400 other navigator fields
  * WebRTC stealth: srflx address swap, synthetic srflx fallback,
    private-LAN host candidates. No real public IP leak via STUN.
  * GPU sandbox fix for FF150 alt-desktop regression
  * Bezier-curve mouse motion baked into Juggler

Targets Windows x86_64 + Linux x86_64. Binary fetched on first run from
GitHub Release "firefox-1".
2026-05-12 22:32:58 -07:00