mirror of
https://github.com/feder-cr/invisible_playwright.git
synced 2026-06-07 08:35:12 +02:00
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:
commit
7a983e99c5
51 changed files with 10967 additions and 0 deletions
24
examples/with_proxy.py
Normal file
24
examples/with_proxy.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
"""Same as basic.py but route through a SOCKS5 proxy."""
|
||||
import os
|
||||
|
||||
from invisible_playwright import InvisiblePlaywright
|
||||
|
||||
|
||||
def main() -> None:
|
||||
proxy = {
|
||||
"server": os.environ.get("STEALTHFOX_PROXY_SERVER", "socks5://127.0.0.1:1080"),
|
||||
}
|
||||
user = os.environ.get("STEALTHFOX_PROXY_USER")
|
||||
password = os.environ.get("STEALTHFOX_PROXY_PASS")
|
||||
if user and password:
|
||||
proxy["username"] = user
|
||||
proxy["password"] = password
|
||||
|
||||
with InvisiblePlaywright(proxy=proxy) as browser:
|
||||
page = browser.new_page()
|
||||
page.goto("https://httpbin.org/ip")
|
||||
print(page.content()[:500])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue