Die Open-Source-puppeteer-extra-plugin-stealth-Alternative
Das Stealth-Plugin ist mit rund 840.000 Downloads pro Woche nach wie vor der meistinstallierte Weg, Puppeteer mit Evasions nachzurüsten, hatte aber seit März 2023 kein Release mehr. Jede Evasion ist ein JavaScript-Patch auf einem Standard-Chrome, und JavaScript-Patches verraten sich selbst. Clearcote setzt diese Werte nativ in der Engine.
Was ist puppeteer-extra-plugin-stealth?
puppeteer-extra-plugin-stealth (von berstend) ist ein Bündel von JavaScript-Evasion-Modulen, die mit page.evaluateOnNewDocument injiziert werden, bevor die Skripte der Seite laufen. Jedes Modul patcht ein einzelnes Merkmal: navigator.webdriver, Plugins, chrome.runtime, den WebGL-Vendor, iframes, Codecs und mehr. Das Plugin steht unter MIT-Lizenz, ist mit rund 840.000 npm-Downloads pro Woche enorm beliebt, und sein Ansatz wurde auf playwright-stealth und selenium-stealth übertragen.
Zudem wird es praktisch nicht mehr gepflegt: Das letzte npm-Release (2.11.2) erschien im März 2023, und das Repository hat sich seit Mitte 2024 nicht verändert. Die strukturelle Grenze bestand schon vorher. Es handelt sich um JavaScript-Overrides auf einer Standard-Engine, und Overrides verraten sich über Function.prototype.toString, veränderte Property-Descriptors und erneutes Auslesen aus Web Workern oder Cross-Origin-iframes, in denen der Patch nicht vorhanden ist. Das Plugin ändert keine nativen Werte, berührt weder TLS noch HTTP/2 und geht das CDP-Leak Runtime.enable nicht an. Die eigene README räumt ein, dass es vermutlich unmöglich ist, jede Möglichkeit zur Erkennung von Headless-Chromium zu verhindern.
Clearcote vs. puppeteer-extra-plugin-stealth
| Funktion | Clearcote | puppeteer-extra-plugin-stealth |
|---|---|---|
| Ansatz | C++-Patches auf Engine-Ebene: native Werte | Pro Dokument injizierte JavaScript-Evasions |
| Erkennbare Nahtstelle | Keine: nativ in jedem Realm (Seite, Worker, iframes) | Sichtbar über toString, Deskriptoren sowie erneutes Auslesen in Worker und iframe |
| TLS-/Netzwerk-Kohärenz | Folgt dem angegebenen Chrome (JA3/JA4 + HTTP/2) | Nicht behandelt |
| Framework | Playwright & Puppeteer (Python, Node, .NET) | Puppeteer (Node); playwright-extra für Playwright |
| Wartung | Aktiv | Letztes Release März 2023 |
| Lizenz | Offener Build BSD-3 | MIT |
| Kosten | Offener Build kostenlos; neuester Build kostenlos mit GitHub | Kostenlos & offen |
Stand des Vergleichs: September 2026. Lizenz von puppeteer-extra-plugin-stealth: Open Source (MIT). Details ändern sich – den aktuellen Stand finden Sie beim Projekt selbst.
Warum sich Teams für Clearcote entscheiden
Nativ statt überschrieben
Jede Evasion des Stealth-Plugins ist ein JavaScript-Override, den ein Erkennungsskript entdecken kann. Clearcote setzt die Werte in der Engine, sodass sie als nativ erscheinen und es keinen Override zu finden gibt.
Kohärent über alle Realms
Mit JavaScript-Patches auf der Seite liefern Web Worker und Cross-Origin-iframes abweichende Werte. Werte auf Engine-Ebene stimmen überall überein und schließen diese Klasse verräterischer Merkmale aus.
Die Netzwerkschicht
Das Plugin hat keinen Zugriff auf TLS oder HTTP/2. Bei Clearcote folgt der Handshake der angegebenen Chrome-Version, sodass das, was über die Leitung geht, zum JavaScript passt.
Gepflegt und überprüft
Clearcote wird bei jedem Release gegen offene Tests geprüft. Die Evasions des Plugins stammen von Anfang 2023, und Chrome ist seitdem Dutzende Versionen weiter.
Wann puppeteer-extra-plugin-stealth die bessere Wahl sein kann
- Sie nutzen bereits Puppeteer und möchten ein Evasion-Bündel per Einzeiler für tolerante Zielseiten.
- Sie brauchen etwas MIT-Lizenziertes, das sich direkt in einen bestehenden Node-Scraper einfügen lässt.
- Für öffentliche Testseiten und ältere Erkennung ist es schnell eingerichtet und reicht manchmal aus.
FAQ
Wird puppeteer-extra-plugin-stealth noch gepflegt?
Nicht aktiv. Das letzte npm-Release, 2.11.2, erschien im März 2023, und das Repository wurde seit Juli 2024 nicht mehr aktualisiert. Es lässt sich weiterhin installieren und wird viel genutzt, aber seine Evasions haben mit Chrome nicht Schritt gehalten.
Warum werden JavaScript-Stealth-Patches erkannt?
Weil es Overrides einer echten Funktion sind. Ein Erkennungsskript kann sie in einen String umwandeln (eine native Funktion liefert [native code], ein Override zeigt seinen eigenen Quelltext), den Property-Descriptor untersuchen oder den Wert aus einem frischen iframe oder Web Worker erneut auslesen, wo der Patch nicht greift. Änderungen auf Engine-Ebene vermeiden das, weil der Wert überall nativ ist.
Worin unterscheidet sich Clearcote vom Stealth-Plugin?
Das Plugin injiziert JavaScript-Evasions in ein Standard-Chrome; Clearcote ist ein modifiziertes Chromium, in dem die Werte nativ in der Engine liegen, kohärent über Worker und iframes hinweg, mit einer TLS/HTTP-2-Persona, auf die das Plugin keinen Zugriff hat.
Gibt es eine Version für Playwright?
Ja: playwright-extra kann dasselbe Plugin unter Node laden, und playwright-stealth portiert es nach Python. Beide beruhen auf demselben Prinzip der JavaScript-Overrides.
Weiterlesen
Die Open-Source-Alternative auf Chromium-Basis ausprobieren
Kostenlos und Open Source, direkt einsetzbar mit Playwright & Puppeteer, kohärent bis hinunter zum TLS-Handshake.
Mit GitHub kostenlos für einen Browser. Ohne Kreditkarte.