Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
invisible_playwright — Kostenloser Antidetect-Browser-Stealth für Playwright: unerkannter Headless-Firefox-Fingerprint. Python-Scraping, Umgehung von reCAPTCHA und Bot-Erkennung. Open Source | Kitploit
Tools/GitHubGitHub/feder-cr/invisible_playwright
IDS/IPS-UmgehungImpersonations-ToolsWebsicherheitAnti-BotFingerabdruck-SpoofingCAPTCHA-Umgehung
GitHubfeder-cr/invisible_playwright

invisible_playwright

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

Repository anzeigen
1.8k20142vor 20h 20mVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
invisible_playwright

Kostenlose Antidetect-Browser-Stealth für Playwright: unentdeckter Firefox-Fingerprint, headless oder headed.
Python-Web-Scraping und Captcha-Bypass. Open Source, und es besteht jeden Bot-Erkennungstest.

invisible_playwright - 5/5 detection suites passed

Wie es funktioniert

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

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

  • Der Browser-Fingerprint wird innerhalb der Engine gesetzt, nicht in die Seite injiziert: navigator, screen, GPU/WebGL, canvas, fonts, audio, WebRTC, timezone, network. Headless oder headed, in beiden Fällen dieselben Werte.
  • Kein JS-Shim, kein Override, keine Naht zum Auslesen.

2. Wird er von einer echten Person verwendet? Ja. Die Aktionen werden im Driver humanisiert.

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

Installation

root@kitploit:~
pip install invisible-playwright
python -m invisible_playwright fetch      # one-time download, sha256-verified: 240 MB (Windows) / 262 MB (Linux x86_64) / 253 MB (Linux arm64), about 550 MB unpacked

Erfordert Python 3.11 oder neuer.

Unterstützte Plattformen: Windows x86_64, Linux x86_64 / arm64.


Verwendung

Zufälliger Fingerprint pro Session

Playwrights API, sync und async, ohne Codeänderungen. Dieselben Objekte, dieselben Aufrufe, dieselben Rückgabewerte. Einige Oberflächen liegen außerhalb des Geltungsbereichs - tracing, HAR, CDP, der API request context - und go_back() und go_forward() werden durch einen Defekt in wiederhergestellten Seiten zurückgehalten; jede verweigert mit einem Satz, der den Grund nennt, statt sich still falsch zu verhalten. Wenn Sie Playwright bereits verwenden, ist der Wechsel zwei Zeilen:

root@kitploit:~
- 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 Session erhält einen eigenen Fingerprint (GPU, audio, fonts, screen, ~200 Felder) und Bezier-Kurven-Mausbewegung.

Sync

root@kitploit:~
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")   # mouse arcs to the button on a Bezier curve

Async

root@kitploit:~
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.

Protokollieren Sie den Seed, um einen Lauf wiederholen zu können:

root@kitploit:~
sf = InvisiblePlaywright()
with sf as browser:
    print("seed =", sf.seed)
    # ...

Reproduzierbarer Fingerprint

root@kitploit:~
with InvisiblePlaywright(seed=42) as browser:
    ...   # same GPU, same canvas hash, same audio context, every run

Proxies

root@kitploit:~
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 über den Proxy geleitet, kein lokales Leck.

Zeitzone

Die Browser-Zeitzone folgt timezone=:

root@kitploit:~
# default: timezone is auto-derived from the egress IP (proxy egress if a
# proxy is set, otherwise the host's own public IP)
with InvisiblePlaywright(proxy=proxy) as browser:
    ...

# explicit IANA zone always wins, the only way to force a specific zone
with InvisiblePlaywright(proxy=proxy, timezone="America/New_York") as browser:
    ...

Festlegen bestimmter Fingerprint-Felder

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

root@kitploit:~
with InvisiblePlaywright(
    seed=42,
    pin={
        "gpu.renderer": "ANGLE (AMD, Radeon R9 200 Series Direct3D11 vs_5_0 ps_5_0, D3D11)",
        "gpu.vendor":   "Google Inc. (AMD)",
        "screen.width":  2560,
        "screen.height": 1440,
        "hardware.concurrency": 16,
    },
) as browser:
    ...

Ein GPU-Pin wählt eine der validierten Personas aus, statt einen freien String zu setzen, weil die ~81 getParameter-Werte und die Erweiterungsliste mit dem Renderer-Namen einhergehen und ein Detektor sie dagegen abgleicht. Ein Name, den der Pool nicht enthält, löst einen Fehler aus, und die Fehlermeldung listet die auf, die er enthält.

Die vollständige Liste der pinnbaren Schlüssel, wie Pinning mit dem Bayesian-Sampler interagiert, und gängige Muster finden Sie 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.

root@kitploit:~
invisible-playwright fetch    # download the engine if missing, check every cached
                              # one against the seal, print the path
invisible-playwright version  # wrapper, core and engine versions, and where the
                              # engine is cached

Dokumentation, Anleitungen und Vergleiche

Wenn Sie lieber prompten als skripten möchten. Diese Seite ist die Engine, als Python-Bibliothek. Zwei Möglichkeiten, sie ohne Code zu verwenden, beide einzeilig: aus einem MCP-Client, den Sie bereits haben (Claude Code, Claude Desktop, Cursor), claude mcp add stealth -- uvx aihawk, siehe die MCP-Server-Seite; oder mit einer Oberfläche und einem enthaltenen Modell, das nur einen OpenRouter-Key benötigt, uvx aihawk ui --openrouter-key sk-or-..., siehe AIHawk. Dieselbe Engine darunter, und die zweite ist ein Client der ersten.

All das liest sich besser, und ist durchsuchbar, im Wiki, organisiert in vier Abschnitte statt einer flachen Liste:

  • Dokumentation - Installation, der Zwei-Zeilen-Wechsel von reinem Playwright, Proxy-/Zeitzonen- Konfiguration, Pinning bestimmter Felder, die CLI.
  • Anleitungen - wie Erkennung tatsächlich funktioniert, in sieben Gruppen: Browser-Identität, canvas/WebGL/fonts/ audio, Netzwerk und WebRTC, die Automatisierungsschicht, KI-Agenten, die Detektoren selbst aus dem Quellcode erklärt, und Testing.
  • 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, zu denen es nicht passt, namentlich.

Wenn Sie nicht wissen, wo Sie anfangen sollen: Drei Wege, Playwright unentdeckt zu machen ist die Karte, auf die die meisten anderen Seiten zurückverweisen, Playwright wird auf einer Website als Bot erkannt ist die Reihenfolge zur Fehlerbehebung, und navigator.webdriver ist nicht das Verräter-Merkmal, für das Sie es halten erklärt die berühmteste Eigenschaft in diesem Bereich und warum das alleinige Patchen fast nichts bringt.

Der Detektoren-Abschnitt behandelt jetzt die kommerziellen Anti-Bot-Produkte namentlich, jedes aus der eigenen Dokumentation oder aus bestätigtem Reverse Engineering gelesen: Cloudflare Bot Management und Turnstile, DataDome, Kasada, Akamai Bot Manager, PerimeterX, hCaptcha, Imperva, und der Rest des Sets.

Verwandte Projekte

Die anderen Teile dieses Projekts. Die Engine ist die Mitte von dreien, und die beiden um sie herum sind der Weg, über den die meisten sie erreichen:

  • invisible_core - Seed zu Fingerprint zu Preferences, plus Proxy und Geolocation. Dieses Paket pinnt es.
  • AIHawk - diese Engine als MCP- Server (uvx aihawk, für jeden Client, der sein eigenes Modell mitbringt) und, im selben Paket, eine Oberfläche mit enthaltenem Modell, mit einem Befehl. Die Oberfläche ist ein Client des Servers, ohne privaten Pfad zum Browser.

Die Open-Source-Nachbarn. Welcher passt, hängt davon ab, auf welcher Ebene Ihr Problem liegt, und ob Sie Firefox oder Chromium benötigen: drei Wege, Playwright unentdeckt zu machen arbeitet durch, was jede Ebene erreichen kann, und KI-Browser-Agenten und Stealth behandelt die Frameworks, die Chromium über CDP für Sie auswählen.

Auf der Firefox-Seite

  • Camoufox - patcht ebenfalls C++, größere Oberfläche, liefert eine Fingerprint-Datenbank statt eine aus einem Seed abzuleiten. Vergleich.
  • LibreWolf - ein Firefox mit Datenschutz-Standardeinstellungen zum Surfen, nicht zum Automatisieren.
  • arkenfox/user.js - Härtung über Preferences. Wo eine Preference ausreicht, nutzen Sie sie.

Auf der Chromium-Seite

  • Patchright - ein gepatchter Playwright-Fork: die Arbeit landet im Driver, nicht im Binary. Vergleich.
  • nodriver - Nachfolger von undetected-chromedriver, der Chrome über CDP steuert. Vergleich.
  • rebrowser-patches - behebt das Runtime.enable-CDP-Leck. Vergleich.
  • fingerprint-suite - ein Bayesian-Fingerprint-Generator, der dann in die Seite injiziert wird. Vergleich.
  • playwright-with-fingerprints - Werte von einem kostenpflichtigen Remote-Dienst, nur Windows. Vergleich.
  • playwright-stealth - ein Init-Script-Patch; sein Maintainer nennt es einen Proof-of-Concept. Vergleich.
  • puppeteer-extra-plugin-stealth - das Original dieser Linie, letzter substanzieller Commit Mitte 2024. Was das bedeutet.
  • selenium-stealth - derselbe Ansatz auf Selenium, letzter Commit Dezember 2021. Was das bedeutet.
  • pyppeteer - laut eigener README nicht mehr gepflegt, die auf playwright-python verweist. Worum es bei dieser Empfehlung geht.

Was in der Engine gepatcht ist

Zwei Regeln gelten für alles Folgende. Jeder Wert wird entschieden, bevor eine Seite fragen kann, innerhalb des Browsers, sodass es kein JavaScript-Shim zu finden gibt. Und jeder Wert stammt aus einem Profil, sodass sich keine zwei Oberflächen widersprechen, was üblicherweise der Weg ist, wie ein gespoofter Browser auffliegt. Quelle: feder-cr/firefox_antidetect_patch.

Identität

  • navigator, der User Agent und die Client Hints werden gemeinsam abgeleitet, sodass sie nicht widersprechen können: setzt Playwright navigator.webdriver, Client Hints und Sec-Fetch.
  • navigator.languages und der Accept-Language-Header sind dieselbe Deklaration, gesendet und gelesen: Accept-Language und navigator.languages.
  • Bildschirmgeometrie, devicePixelRatio und die Media Queries, die sie offenlegen, werden deklariert, nicht vom Host gelesen: devicePixelRatio und die Firefox-Pref, CSS-Media-Query-Fingerprinting.

Rendering

  • Canvas-Readback ist deterministisch pro Seed und behält die echte Form, statt blockiert oder verrauscht zu werden: Canvas-Fingerprint-Rauschen, warum sich ein Canvas-Fingerprint bei jedem Lauf ändert.
  • WebGL meldet eine kohärente GPU-Persona: Vendor, Renderer und die Parameter-Grenzen werden gegengeprüft, nicht einzeln gesetzt: WebGL-Renderer-Strings, WebGL-Parameter sind identisch.
  • Fonts werden mit dem Browser ausgeliefert, sodass dieselben Schriften auf jedem Host existieren und die Plattform-Font-Engine nicht mehr auswählt: mitgelieferte Fonts über Plattformen hinweg, warum Headless-Browser andere Fonts rendern, installierte Fonts aus JavaScript erkennen.
  • Textmetriken folgen diesen Fonts: measureText liefert zehn-plus Zahlen aus einem Aufruf, ohne Berechtigungsabfrage: measureText und TextMetrics.
  • Canvas und WebGL stimmen über Betriebssysteme hinweg für denselben Seed überein: plattformübergreifende Konsistenz, Canvas unterscheidet sich über Betriebssysteme hinweg.

Audio und Medien

  • Der Audio-Stack antwortet aus dem Profil statt vom Host-Gerät: AudioContext-Fingerprinting, Sample Rate und Latenz.
  • Die Codec-Tabelle wird deklariert, sodass ein Linux-Host eine Windows-Frage nicht mit Linux-Unterstützung beantwortet: Codec-Fingerprinting.

Netzwerk

  • WebRTC bietet einen synthetischen Kandidaten an, der den Proxy-Ausgang trägt, statt die echte Adresse preiszugeben oder keinen anzubieten, was selbst ein Verräter-Merkmal ist: WebRTC-ICE-Candidate-Spoofing, stimmt die WebRTC-IP mit dem Proxy-Ausgang überein.
  • DNS wird über den Proxy aufgelöst, auch wenn der Proxy nicht in den Preferences steht: leckt ein Proxy DNS, wie man ein Proxy-IP-Leck prüft.
  • Die Zeitzone kommt von der Egress-IP, offline aufgelöst, sodass sie zum Ausgang passt: Zeitzone und Proxy-Mismatch, offline GeoIP-Zeitzone.

Die Automatisierungsschicht

  • Eingabe-Events kommen aus dem echten Eingabepfad, sodass isTrusted wahr ist, weil es wahr ist: Playwright-Klicks und isTrusted.
  • Der Zeiger folgt einem menschlichen Pfad und Timing, in einer Kadenz, die ein echtes Gerät erzeugen könnte: menschliche Mausbewegung, Mausdynamik als verhaltensbasierte Biometrie.
  • Die Debugger-Oberfläche beantwortet nicht die Timing-Fragen, die einen gesteuerten Browser verraten: Debugger-Timing-Erkennung.
  • Shadow Roots im Closed-Modus sind erreichbar, was Standard-Playwright in keiner der beiden Engines kann, während die Seite weiterhin null liest: Closed Shadow Roots.

Lizenz

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


Haftungsausschluss

Dieses Projekt dient ausschließlich Bildungszwecken. Es wird wie besehen bereitgestellt, ohne Gewährleistung. Ich übernehme keine Verantwortung für die Art und Weise seiner Verwendung. Nutzen Sie es auf eigenes Risiko und in Übereinstimmung mit den Gesetzen Ihrer Jurisdiktion.


Built by Federico Elia  LinkedIn

tests License: MIT Python 3.11+ Firefox 151.0 browser launches GitHub stars

Tool herunterladen