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".
This commit is contained in:
feder-cr 2026-05-12 21:34:14 -07:00
commit 7a983e99c5
51 changed files with 10967 additions and 0 deletions

13
examples/basic.py Normal file
View file

@ -0,0 +1,13 @@
"""Launch a patched Firefox with a random stealth profile and load example.com."""
from invisible_playwright import InvisiblePlaywright
def main() -> None:
with InvisiblePlaywright() as browser:
page = browser.new_page()
page.goto("https://example.com")
print("title:", page.title())
if __name__ == "__main__":
main()