CloakBrowser: individuell angepasstes Chromium für Automatisierung mit kohärentem Fingerabdruck
CloakHQ/CloakBrowser · 31.693★ · 2.635 forks
Alles Wissenswerte über CloakHQ/CloakBrowser: ein Wrapper für Python, JavaScript und .NET, der ein eigenes Chromium herunterlädt und dabei die APIs von Playwright oder Puppeteer beibehält.
Was CloakBrowser ist
CloakBrowser ist ein Chromium-Browser, der zusammen mit Wrappern für Python, JavaScript und .NET vertrieben wird. Sein Ansatz besteht darin, die gewöhnliche ausführbare Datei von Playwright oder Puppeteer durch eine Chromium-Binärdatei mit Quellcode-Änderungen in C++ zu ersetzen, ohne das Programmiermodell dieser Clients zu verändern. Das Repository gibt 71 Modifikationen an für Signale wie Canvas, WebGL, Audio, Schriftarten, GPU, Bildschirm, WebRTC, Netzwerk-Timing, Automatisierung und Eingabeverhalten über CDP.

Das Projekt unterscheidet zwei Ebenen: Die Binärdatei verändert Browsereigenschaften, während der Wrapper Automatisierungsoptionen wie persistente Profile, Proxy, Zeitzone, Sprache und humanize=True bereitstellt. Laut Dokumentation enthält es weder einen CAPTCHA-Lösungsdienst noch eine Proxy-Rotation: Die Nutzerin bringt ihren eigenen Proxy-Anbieter mit und verwendet weiterhin die bereits bekannte Automatisierungs-API.

Der Ursprung: eine junge Organisation und ein junges Repository
Die GitHub-API datiert die Erstellung von CloakHQ/CloakBrowser auf den 22. Februar 2026. Das besitzende Konto ist die Organisation CloakHQ; auch PyPI weist CloakHQ als Paketverwalter aus. Es wurde weder ein Ankündigungsbeitrag noch ein öffentliches Profil eines einzelnen Autors oder ein Interview gefunden, das eine Zuschreibung des Projekts an eine bestimmte Person erlauben würde; diese Urheberschaft wird daher nicht unterstellt.
Die Erzählung, die README und offizielle Website tatsächlich dokumentieren, geht von einer technischen Spannung aus: Stealth-Bibliotheken, die auf JavaScript-Injektion oder Optionsanpassungen beruhen, werden als anfällig gegenüber Chrome-Updates dargestellt. Die vorgeschlagene Alternative besteht darin, die Änderungen direkt in Chromium zu kompilieren und dabei eine mit Playwright und Puppeteer kompatible Schnittstelle beizubehalten. Das ist die Positionierung des Anbieters, kein unabhängiger Nachweis der Überlegenheit.
Philosophie und Prinzipien
- Kompatibilität vor einer neuen API: Der offizielle Migrationspfad ersetzt den Playwright-Start durch
from cloakbrowser import launchund behältnew_page()sowiegoto()bei. - Fingerabdruck und Verhalten als getrennte Probleme: Die Patches der Binärdatei decken Browsersignale ab, während
humanize=TrueMauskurven, Tastenanschläge mit variabler Zeitsteuerung und Scrollen hinzufügt. - Kontextabhängige Konfiguration: Bei Nutzung eines Proxys versucht
geoip=True, Zeitzone und Sprache an die ausgehende IP anzugleichen; die README empfiehlt für strenge Ziele den sichtbaren Fenstermodus und einen residenten Proxy. - Überprüfbare Verteilung: Der Wrapper gibt an, Downloads mit einer fest hinterlegten Ed25519-Signatur zu verifizieren; die README bietet zudem GPG-Prüfungen, GitHub-Attestierung und Cosign für das Docker-Image.



Wie es funktioniert
- Das Python-, JavaScript- oder .NET-Paket wird installiert; beim ersten Start lädt es eine rund 200 MB große Binärdatei für die jeweilige Plattform herunter und legt sie im Cache ab.
launch()startet diese Binärdatei und liefert ein mit Playwright kompatibles Browser-Objekt; der JavaScript-Adapter verfügt außerdem über einen Pfad für Puppeteer.- Über Optionen lassen sich
proxy,timezone,locale,geoip,headless,humanize, Chromium-Argumente sowie die Binärversion konfigurieren.

- Für persistente Sitzungen bewahrt
launch_persistent_context()Cookies, lokalen Speicher und Cache in einem Profilverzeichnis. Für Remote-Betrieb stelltcloakserveCDP bereit und weist je nach Fingerabdruck-Seed getrennte Prozesse zu.

Die README veröffentlicht eine eigene Tabelle mit Tests gegen mehr als 30 Erkennungsdienste und nennt konkrete Ergebnisse, etwa 0,9 bei reCAPTCHA v3 für die Pro-Version gegenüber 0,1 für herkömmliches Playwright. Es handelt sich um Messungen des Anbieters aus Juli 2026, nicht um eine von unabhängiger Seite reproduzierte Studie, die bei dieser Recherche gefunden wurde.

Offizieller und halboffizieller Status
Es wurde kein Beleg dafür gefunden, dass CloakBrowser in einen offiziellen Marktplatz von Playwright, Puppeteer, Microsoft oder Chromium aufgenommen wurde, noch für eine Empfehlung dieser Anbieter. Sehr wohl ist es als von CloakHQ gepflegtes Paket auf PyPI (cloakbrowser), npm (cloakbrowser), NuGet (CloakBrowser) sowie als Image cloakhq/cloakbrowser auf Docker Hub veröffentlicht. PyPI kennzeichnet die Projektdaten als von der Plattform verifiziert; diese Kontoverifizierung entspricht keiner technischen Zertifizierung durch Playwright oder Chromium.
In der Praxis handelt es sich um einen kommerziellen und zugleich quelloffenen Adapter: Der Code der Wrapper steht unter MIT, während die README für die kompilierten Binärdateien eine gesonderte Lizenz vorsieht. Binärdateien bis Version v146 werden ohne Weiterverbreitungsrechte angeboten; v148 und neuere erfordern laut dem vom Projekt verlinkten BINARY-LICENSE.md ein Pro-Abonnement zum Download.
Das Ökosystem
Repositories von CloakHQ
Die Abfrage der öffentlichen Repository-API der Organisation identifizierte diese Begleitprojekte:
CloakHQ/chromium-stealth-builds: vorkompilierte, gepatchte Chromium-Binärdateien; das Hauptprojekt gibt an, sie automatisch herunterzuladen. Es hatte 19 Sterne und 4 Forks.CloakHQ/CloakBrowser-Manager: ein selbst hostbarer Web-Manager für isolierte Profile und eindeutige Fingerabdrücke, vorgestellt als kostenlose Alternative zu Multilogin; 855 Sterne und 198 Forks.CloakHQ/crawl4aiundCloakHQ/crawlee-python: von der Organisation gehostete Forks von Crawling-Werkzeugen; ihre API-Beschreibungen belegen keine direkte Abhängigkeit, obwohl die README von CloakBrowser Integrationsbeispiele mit Crawl4AI und Crawlee enthält.CloakHQ/awesome-playwright: eine kuratierte Liste von Playwright-Projekten; 11 Sterne und 2 Forks.
Integrationen, Forks und Erweiterungen
Die README bietet Beispiele für browser-use, Crawl4AI, Crawlee, Scrapling, Stagehand, LangChain, Selenium, undetected-chromedriver und agent-browser. Das dokumentierte Muster besteht darin, CloakBrowser mit --remote-debugging-port=9242 zu starten und das andere Werkzeug per CDP zu verbinden, oder die ausführbare Datei mit ensure_binary() und die Optionen mit get_default_stealth_args() abzurufen.
Die Forks-API zeigte unter den Forks mit den meisten Sternen SayanDey322/CloakBrowser mit 10 Sternen sowie mehrere Kopien mit ein oder zwei Sternen. Alle behielten dieselbe Beschreibung wie das Original bei; es wurde keine Dokumentation gefunden, die sie als Portierung, Übersetzung, Erweiterung oder alternative Pflege ausweist. Ebenso wurde bei dieser Messung keine nicht-englische Übersetzung oder eine substanzielle, überprüfbare Community-Portierung identifiziert.
Zahlen zum Repo
Messung: 6. August 2026, GitHub-API und -Seite.
| Kennzahl | Wert |
|---|---|
| Sterne | 29.669 |
| Forks | 2.435 |
| Echte Abonnenten | 139 |
| Auf der Seite sichtbare Commits | 277 |
| Sichtbare offene Issues | 165 |
| Sichtbare offene Pull Requests | 20 |
| Hauptsprache laut API | Python |
| Lizenz des Codes | MIT |
| Erstellung | 22. Februar 2026 |
| Letzter API-Push | 5. August 2026 |
| Letzte PyPI-Version | 0.5.5, 5. August 2026 |
| Letzte auf GitHub abgerufene Binär-Veröffentlichung | chromium-v150.0.7871.114.4-pro, 31. Juli 2026 |
Die von der API zurückgegebenen Hauptbeitragenden waren Cloak-HQ (225 Beiträge), dependabot[bot] (15), evelaa123 (13), honor2030 (4) und eofreternal (3). watchers_count in der allgemeinen GitHub-Antwort dupliziert die Sternezahl, weshalb hier subscribers_count als echte Abonnenten ausgewiesen wird. Die API lieferte open_issues_count=185; das Feld kann Issues und offene Pull Requests vermischen, was mit den von der Seite getrennt ausgewiesenen 165 und 20 übereinstimmt.
Docker Hub zeigte mehr als 100.000 Downloads des Images, ohne weitere Genauigkeit. Die offizielle Website zeigte 226.900 Downloads für npm; ein überprüfbarer Downloadzähler von PyPI oder eine monatliche bzw. wöchentliche Angabe dieser Register wurde nicht gefunden.
Wie man beitragen kann
Der Beitrag wird nur knapp beschrieben: Die README lädt dazu ein, Issues und Pull Requests zu eröffnen, und gibt an, schnell zu reagieren. Es wurde weder eine CONTRIBUTING.md noch ein Branching-Workflow, eine Pull-Request-Vorlage oder ein spezifisches Test-Framework gefunden. Das Repository enthält jedoch tests/, Beispiele und GitHub-Workflows; diesen wird keine vom Projekt nicht dokumentierte Beitragsrichtlinie zugeschrieben.
Wie die Community reagierte
Die abrufbaren externen Belege sind begrenzt und sollten mit Vorsicht gelesen werden:
- Der Hacker-News-Thread 47949500, veröffentlicht von syabro am 29. April 2026, stellte
syabro/snitchmdvor, einen Container, der CloakBrowser undrs-trafilaturakombiniert, um durch Cloudflare geschützte URLs in Markdown umzuwandeln. Er erhielt 8 Punkte und 1 Kommentar. Der Eröffnungstext beschreibt CloakBrowser als eines von zwei bereits bestehenden Bausteinen und weist darauf hin, dass es interaktive CAPTCHAs nicht löst; er belegt einen Integrationsfall, keine unabhängige Rezension. Die einzige gefundene Frage, von sc0rp10, betraf den Unterschied zu Playwright, ohne dass eine anschließende Bewertung gefunden wurde. - YouTube lieferte Videos von Dritten, nicht vom Anbieter ausgewählt. Darunter ein Video von Indie Hacker News über die Preisgestaltung von Automatisierungs- und Open-Source-Werkzeugen (etwa 23.000 Aufrufe, zwei Monate vor der Abfrage) sowie eines von Codedigipt, das CloakBrowser als Automatisierungswerkzeug vorstellt (4.800). Ihre Titel sind werblich; ihre Existenz und die sichtbaren Aufrufzahlen belegen nicht die Schlussfolgerungen, die sie nahelegen.
- Bei der Suche nach dem exakten Namen wurden keine weiteren direkten Hacker-News-Threads gefunden. Reddit lieferte bei Abfragen zu
r/programming,r/webscrapingundr/LocalLLaMAeine Zugangsabfrage; X verlangte eine Anmeldung. Ebenso wurden weder eine Product-Hunt-Seite noch überprüfbare Erwähnungen auf Dev.to, Hashnode, in Podcasts oder Newslettern noch eineawesome-*-Liste mit dem Projekt gefunden. Diese Lücken beschreiben die Grenzen der Suche, nicht eine Qualitätsbewertung.
CloakBrowser im Vergleich zu anderen Ansätzen
| Ansatz | Überprüfbare Übereinstimmung | Dokumentierter Unterschied |
|---|---|---|
| Playwright | CloakBrowser liefert Objekte zurück und verwendet mit Playwright kompatible Methoden. | Playwright nutzt seinen Standardbrowser; CloakBrowser lädt ein eigenes, gepatchtes Chromium mit Fingerabdruck-Optionen herunter. |
| Puppeteer | Das JavaScript-Paket bietet cloakbrowser/puppeteer. | Die README empfiehlt Playwright für reCAPTCHA Enterprise, da sie CDP in Puppeteer zeitweise Automatisierungslecks zuschreibt; das ist ein Hinweis des Anbieters. |
playwright-stealth | Beide wollen Automatisierungssignale in Playwright-Abläufen reduzieren. | CloakBrowser charakterisiert playwright-stealth als JavaScript-Injektion im Gegensatz zu seinen C++-Änderungen; ein unabhängiger Benchmark dieses Vergleichs wurde nicht gefunden. |
undetected-chromedriver | Beide betreffen Chromium-Automatisierung und Anti-Erkennung. | Die README bietet ein Integrationsbeispiel und ordnet es als Selenium-Option ein, nicht als Ersatz für die native Playwright-API. |
| CloakBrowser-Manager | Nutzt die isolierten Profile und Fingerabdrücke von CloakBrowser. | Es ist ein Web-Profilmanager, während das Hauptrepository die Binärdatei und die Automatisierungsbibliotheken bereitstellt. |
Kurzanleitung zur Nutzung
Installation und erster Start
Python erfordert laut PyPI Python 3.9 oder höher:
pip install cloakbrowser
python -m cloakbrowser info
Der erste Start lädt die Chromium-Binärdatei herunter und speichert sie im Cache. Für JavaScript dokumentiert die README npm install cloakbrowser playwright-core; für Puppeteer npm install cloakbrowser puppeteer-core. Für .NET: dotnet add package CloakBrowser. Ohne lokale Installation lautet der offizielle Test:
docker run --rm cloakhq/cloakbrowser cloaktest
Übliche Arbeitsabläufe
- Einen Playwright-Start ersetzen: den Import durch
from cloakbrowser import launchersetzen,browser = launch()ausführen,browser.new_page()öffnen und mitpage.goto(...)navigieren. - Proxy und geografischen Kontext nutzen:
launch(proxy="http://user:pass@proxy:port", geoip=True, headless=False, humanize=True). Die Dokumentation empfiehlt für Ziele mit strenger Erkennung einen residenten Proxy, sichtbaren Fenstermodus und Humanisierung. - Eine Sitzung erhalten:
launch_persistent_context("./my-profile", headless=False)erstellt ein Profil; wiederholtes Aufrufen desselben Pfads stellt Cookies und lokalen Speicher wieder her. Playwright-Zustände lassen sich auch mitlaunch_context(storage_state="state.json")undcontext.storage_state(path="state.json")speichern. - CDP in Docker bereitstellen:
docker run -d --name cloak -p 127.0.0.1:9222:9222 cloakhq/cloakbrowser cloakserve, gefolgt vonpw.chromium.connect_over_cdp("http://localhost:9222")aus Playwright heraus. Der Port ist an localhost gebunden, weil CDP die vollständige Kontrolle über den Browser erlaubt.
Wesentliche Konfiguration
CLOAKBROWSER_LICENSE_KEYoder~/.cloakbrowser/license.key: ermöglicht das Herunterladen von Pro-Binärdateien;python -m cloakbrowser loginruft den Schlüssel ab oder speichert ihn.proxyundgeoip=True: konfigurieren IP sowie die Angleichung von Zeitzone und Sprache; GeoIP führt HTTP-Aufrufe über den Proxy aus, um dessen Ausgang zu ermitteln.headless=Falseundhumanize=True: zeigen das Browserfenster an und aktivieren modellierte Maus-, Tastatur- und Scroll-Interaktionen.launch_persistent_context("./my-profile"): ein Profilverzeichnis für persistente Cookies und Cache.CLOAKBROWSER_RELEASE_CHANNEL=previewoderrelease_channel="preview": wählt den neuesten verfügbaren Vorab-Build aus;infogibt Auskunft, ob wieder auf stabil zurückgewechselt wurde.
Häufige Fallstricke und Lösungen
- Blockierung trotz Patches: Die README führt viele Fälle auf IP-Reputation, geografische Konfiguration oder den fensterlosen Modus zurück. Sie schlägt einen residenten Proxy,
geoip=True,headless=Falseundhumanize=Truevor; unter Linux ohne Bildschirm die Installation von Xvfb und die Nutzung vonDISPLAY=:99. - Erkennung über Schriftarten unter Linux: Bei Kasada oder Akamai weist das Projekt darauf hin, dass Schriftarten fehlen und die Emoji-Darstellung beeinträchtigen können; es verweist auf seine Linux-Schriftkonfiguration. Für die Anpassung der Windows-Metriken ist ein Chromium-148+-Build und installierte Windows-Schriftarten erforderlich.
- Neue Sitzungen werden wegen HTTP/2 auffällig: Die README schlägt vor, ein persistentes Profil einmalig mit
args=["--disable-http2"]aufzuwärmen und es dann weiterzuverwenden; diese Option sollte auf Seiten beschränkt werden, die sie tatsächlich benötigen. - Offen zugängliches CDP: Port 9222 nicht ohne Authentifizierung veröffentlichen. Das offizielle Beispiel verwendet
127.0.0.1; ein Reverse-Proxy mussHost,X-Forwarded-HostundX-Forwarded-Protoweiterleiten, damit die WebSocket-URLs erreichbar bleiben. uvloopauf einem Webserver: Die Dokumentation empfiehlt--loop asynciomit Uvicorn, um Blockaden bei Subprozess-Pipes zu vermeiden.
Integrationen und Migration
Die Migration von Playwright besteht aus einem Import und einem Start. Für Frameworks, die sich mit Chromium verbinden — browser-use, Crawl4AI und Scrapling —, dokumentiert die README den Start von launch_async(args=["--remote-debugging-port=9242"]) und das Verweisen des Clients auf http://127.0.0.1:9242. Der Fingerabdruck der Binärdatei funktioniert über CDP; die Humanisierung dagegen nicht, außer patchBrowser und resolveConfig werden in JavaScript aus cloakbrowser/human importiert. Es gibt außerdem Beispiele für Selenium, Stagehand, LangChain, agent-browser und AWS Lambda.
Anwendungsfälle und wem dieses Repository helfen kann
- Teams, die bereits Tests oder Web-Abläufe mit Playwright automatisieren, können einen Ersatz mit geringem Codeaufwand ausprobieren: Der Browser behält die gewohnten Seiten- und Kontextoperationen bei, ergänzt aber Optionen zur Auswahl der Binärdatei, zu Profilen und zum Proxy.
- Überwachungs-, Extraktions- oder QA-Dienste mit persistenten Sitzungen können Cookies, lokalen Speicher und Cache über ein Profilverzeichnis sichern oder
cloakserveals internen CDP-Endpunkt für mehrere Clients nutzen. Sie müssen den CDP-Zugriff absichern, da die Dokumentation warnt, dass dieser die Ausführung von JavaScript sowie das Lesen von Seiten oder Dateien erlaubt. - Teams, die Browser-Agenten oder Crawler mit CDP verbinden, verfügen über explizite Wege für browser-use, Crawl4AI, Scrapling und weitere Werkzeuge. Das Projekt ist besonders relevant, wenn diese Integrationen Binärdatei, Fingerabdruck, Proxy, Sprache und Zeitzone von einer zentralen Stelle aus steuern müssen.
- Betreiber von Containern können das Docker-Image für einen Test mit
cloaktestausführen, ein eigenes Skript verpacken odercloakservebereitstellen. Der tatsächliche Nutzen bei einem konkreten Ziel muss auf legitime Weise und unter Wahrung der Nutzungsbedingungen, Zugriffsgrenzen und Privatsphäre der Zielseite geprüft werden.
Ressourcen
- Repository: https://github.com/CloakHQ/CloakBrowser
- Dokumentation und Installation: https://github.com/CloakHQ/CloakBrowser#install
- Offizielle Website und Preise: https://cloakbrowser.dev/
- Offizielles Änderungsprotokoll: https://github.com/CloakHQ/CloakBrowser/blob/main/CHANGELOG.md
- Python-Paket: https://pypi.org/project/cloakbrowser/
- JavaScript-Paket: https://www.npmjs.com/package/cloakbrowser
- Docker-Image: https://hub.docker.com/r/cloakhq/cloakbrowser
- Ergänzende Binärdateien: https://github.com/CloakHQ/chromium-stealth-builds
- Profilmanager: https://github.com/CloakHQ/CloakBrowser-Manager
- HN-Diskussion: https://news.ycombinator.com/item?id=47949500
- Videos von Dritten: https://www.youtube.com/results?search_query=CloakBrowser
- Community und Kontakt: Die offizielle Website verlinkt zu Slack; die README nennt
cloakhq@pm.meund GitHub Issues.
Hinweis: Dieser Artikel kombiniert README, Änderungsprotokoll und Repository-Seiten, die APIs von GitHub, PyPI und Docker Hub, die offizielle Website, Hacker News sowie YouTube-Ergebnisse, die am 6. August 2026 abgerufen wurden. Zahlen und Verfügbarkeit ändern sich mit der Zeit.
Kommentare