Zurück zu den Updates
New releaseAug 31, 2026

invisible_playwright v0.7.2

Kostenloser Antidetect-Browser-Stealth für Playwright: unerkannter Headless-Firefox-Fingerprint. Python-Scraping, Umgehung von reCAPTCHA und Bot-Erkennung. Open Source

Teilen
invisible_playwright

Kostenlose Antidetect-Browser-Tarnung für Playwright: unerkannte Firefox-Fingerabdruck, headless oder mit Fenster.
Python-Web-Scraping und Captcha-Umgehung. Open Source und besteht jeden Bot-Erkennungstest.

invisible_playwright - 5/5 Erkennungssuiten bestanden

So funktioniert es

Anti-Bots stellen zwei Fragen, und reCAPTCHA, hCaptcha und Cloudflare Turnstile bewerten die Antworten. invisible_playwright beantwortet beide mit Ja.

1. Ist das ein echtes Browser? Ja. Es ist Firefox, gepatcht auf C++-Quellcode-Ebene.

  • Der Browser-Fingerabdruck wird innerhalb der Engine gesetzt, nicht in die Seite injiziert: navigator, screen, GPU/WebGL, canvas, Schriften, Audio, WebRTC, Zeitzone, Netzwerk. Headless oder mit Fenster, die Werte sind in beiden Fällen identisch.
  • Kein JS-Shim, kein Override, keine Naht zum Auslesen.

2. Nutzt eine echte Person es? Ja. Die Aktionen werden im Treiber humanisiert.

  • Jeder Klick, jedes Hover und Ziehen folgt einem natürlichen Mauspfad mit menschlichem Timing, kein teleportierender Cursor.
  • Jede Eingabe ist byte-identisch zu einer echten Maus: echte Eingabequelle, Druck, vertrauenswürdige Ereignisse.

Angetrieben von der Standard-Playwright-API. Vollständige Aufschlüsselung: feder-cr/firefox_antidetect_patch.


Siehst du immer noch Captchas oder Anti-Bot? Es liegt am Proxy.

Sobald der Browser behandelt ist, ist er nicht mehr die Variable. Wenn du immer noch herausgefordert wirst, liegt das Signal nicht mehr am Browser, sondern an der IP, von der du kommst. Etwa 90 % der Proxys sind öffentlich: Jeder kann dieselbe Adresse mieten, also ist sie bereits bekannt und steht auf den blockierten IP-Listen, die Websites prüfen. Ein perfekter Browser auf einer bekannten IP verliert trotzdem.


Installation

pip install invisible-playwright
python -m invisible_playwright fetch      # einmaliger ~238 MB Download (~544 MB entpackt), sha256-verifiziert

Unterstützte Plattformen: Windows x86_64, Linux x86_64 / arm64. macOS wird nicht mehr unterstützt (Veröffentlichungen endeten bei firefox-20); auf einem Mac verweigert das Paket beim Start mit einer klaren Meldung, anstatt ein Binärpaket herunterzuladen, das es nicht mehr gibt.


Verwendung

Zufälliger Fingerabdruck pro Sitzung

100 % Playwright-kompatibel - synchron und asynchron, alle Methoden, null API-Änderungen. Wenn du bereits Playwright verwendest, ist der Wechsel zwei Zeilen:

- from playwright.sync_api import sync_playwright
- with sync_playwright() as p:
-     browser = p.firefox.launch()
+ from invisible_playwright import InvisiblePlaywright
+ with InvisiblePlaywright() as browser:

Jede Sitzung erhält einen eindeutigen Fingerabdruck (GPU, Audio, Schriften, Bildschirm, ~200 Felder) und Bezier-Kurven-Mausbewegung.

Synchron

from invisible_playwright import InvisiblePlaywright

with InvisiblePlaywright(proxy={"server": "socks5://...", "username": "u", "password": "p"}) as browser:
    page = browser.new_page()
    page.goto("https://example.com")
    page.click("#submit")   # Maus bewegt sich auf einer Bezier-Kurve zum Button

Asynchron

from invisible_playwright.async_api import InvisiblePlaywright

async with InvisiblePlaywright(proxy={"server": "socks5://...", "username": "u", "password": "p"}) as browser:
    page = await browser.new_page()
    await page.goto("https://example.com")
    await page.click("#submit")

Das browser-Objekt ist ein playwright.sync_api.Browser / playwright.async_api.Browser - jede Playwright-Methode funktioniert unverändert.

Protokolliere den Seed, um einen Lauf zu wiederholen:

sf = InvisiblePlaywright()
with sf as browser:
    print("seed =", sf.seed)
    # ...

Reproduzierbarer Fingerabdruck

with InvisiblePlaywright(seed=42) as browser:
    ...   # gleiche GPU, gleicher Canvas-Hash, gleicher Audio-Kontext, bei jedem Lauf

Proxys

proxy = {
    "server": "socks5://gate.example.com:1080",
    "username": "user",
    "password": "pass",
}
with InvisiblePlaywright(proxy=proxy) as browser:
    ...

Unterstützte Schemata: socks5, socks4, http, https. DNS wird standardmäßig durch den Proxy geleitet, kein lokales Leck.

Zeitzone

Die Browser-Zeitzone folgt timezone=:

# Standard: Zeitzone wird automatisch aus der Egress-IP abgeleitet (Proxy-Egress, wenn
# ein Proxy gesetzt ist, sonst die eigene öffentliche IP des Hosts)
with InvisiblePlaywright(proxy=proxy) as browser:
    ...

# explizite IANA-Zone gewinnt immer, der einzige Weg, eine bestimmte Zone zu erzwingen
with InvisiblePlaywright(proxy=proxy, timezone="America/New_York") as browser:
    ...

Festlegen bestimmter Fingerabdruck-Felder

Standardmäßig kommt alles aus seed. Um bestimmte Werte zu erzwingen, während der Rest seed-abgeleitet bleibt:

with InvisiblePlaywright(
    seed=42,
    pin={
        "gpu.renderer": "ANGLE (NVIDIA, NVIDIA GeForce RTX 4090 Direct3D11)",
        "gpu.vendor":   "Google Inc. (NVIDIA)",
        "screen.width":  2560,
        "screen.height": 1440,
        "hardware.concurrency": 16,
    },
) as browser:
    ...

Die vollständige Liste der festlegbaren Schlüssel, wie das Festlegen mit dem Bayes'schen Sampler interagiert, und gängige Muster findest du in docs/pinning.md.


CLI

Der installierte Befehl ist invisible-playwright, mit Bindestrich. python -m invisible_playwright funktioniert identisch und benötigt nichts im PATH.

invisible-playwright fetch    # Engine herunterladen, falls fehlend, jeden gecachten
                              # gegen das Siegel prüfen, Pfad ausgeben
invisible-playwright version  # Wrapper-, Kern- und Engine-Versionen, und wo die
                              # Engine gecacht ist

Dokumentation, Anleitungen und Vergleiche

Alles liest sich besser und ist durchsuchbar in dem Wiki, organisiert in vier Abschnitte statt einer flachen Liste:

  • Dokumentation - Installation, der Zwei-Zeilen-Wechsel von normalem Playwright, Proxy-/Zeitzonen- Konfiguration, Festlegen bestimmter Felder, die CLI.
  • Anleitungen - wie Erkennung tatsächlich funktioniert, in sieben Gruppen: Browser-Identität, Canvas/WebGL/Schriften/ Audio, Netzwerk und WebRTC, die Automatisierungsebene, KI-Agenten, die Detektoren selbst aus dem Quellcode erklärt, und Tests.
  • Vergleiche - gegen Camoufox, Patchright, nodriver und playwright-stealth, und das Argument für Firefox gegenüber Chromium allgemein.
  • Integrationen - Scrapy, Crawlee, Robot Framework, CodeceptJS, Test-Runner, Playwright MCP, und die Frameworks, für die es nicht passt, namentlich.

Wenn du nicht weißt, wo du anfangen sollst: Drei Möglichkeiten, Playwright unerkannt zu machen ist die Karte, auf die die meisten anderen Seiten verlinken, Playwright auf einer Website als Bot erkannt ist die Fehlerbehebungs-Reihenfolge, und navigator.webdriver ist nicht das Signal, das du denkst erklärt die berühmteste Eigenschaft in diesem Bereich und warum das alleinige Patchen dir fast nichts bringt.

Verwandte Projekte

Die Open-Source-Nachbarn und wofür jedes einzelne gedacht ist.

Auf der Firefox-Seite

  • Camoufox - ein Antidetect-Firefox, der ebenfalls auf C++-Ebene patcht. Es deckt eine breitere Oberfläche ab und bringt seine eigene Fingerabdruck-Datenbank mit; dieses Projekt leitet einen Fingerabdruck aus einem Seed mit einem Bayes'schen Sampler ab, sodass eine Zahl eine Maschine reproduziert. Vollständiger Vergleich.
  • LibreWolf - ein Firefox-Fork mit Datenschutz-Standardeinstellungen. Es liefert ein konfiguriertes Binärpaket zum Browsen; dieses liefert Quellcode-Patches plus einen Automatisierungs-Wrapper.
  • arkenfox/user.js - Firefox-Härtung über Einstellungen. Wo eine Einstellung ausreicht, verwende sie; dieses Projekt patcht C++, wo eine nicht ausreicht.

Auf der Chromium-Seite

Welches davon passt, hängt von der Ebene ab, auf der dein Problem liegt, und davon, ob du Firefox oder Chromium benötigst. Drei Möglichkeiten, Playwright unerkannt zu machen arbeitet durch, was jede Ebene erreichen kann und was nicht, einschließlich dessen, was dieses hier kostet.

Wenn du zwischen Engines statt Werkzeugen wählst, beachte, dass ein großer Teil der KI-Agenten-Frameworks Chromium über CDP steuert, was die Frage für dich entscheidet: KI-Browser-Agenten und Tarnung.


Lizenz

MIT - siehe LICENSE. Das gepatchte Firefox-Binärpaket wird unter der MPL-2.0 (Firefox-Upstream-Lizenz) verteilt. Die C++-Patches gegen mozilla-central, die dieses Binärpaket erzeugen, befinden sich unter feder-cr/firefox_antidetect_patch.


Haftungsausschluss

Dieses Projekt dient nur Bildungszwecken. Es wird wie besehen ohne jegliche Garantien bereitgestellt. Ich übernehme keine Verantwortung für seine Verwendung. Verwende es auf eigenes Risiko und in Übereinstimmung mit den Gesetzen deiner Rechtsordnung.


Erstellt von Federico Elia  LinkedIn

tests License: MIT Python 3.11+ Firefox 151.0 GitHub stars

Kategorien