L'alternative à rebrowser-patches open source
rebrowser-patches a fait un travail important sur la fuite Runtime.enable de Puppeteer et Playwright, et sa page bot-detector reste un test utile. Mais la dernière version des packages patchés date de mai 2025, et ils ne couvrent que le driver. Clearcote gère le côté CDP au lancement et dans le moteur, et modifie aussi l’empreinte.
Qu'est-ce que rebrowser-patches ?
rebrowser-patches est un ensemble de patchs de code source pour Puppeteer et Playwright, avec des packages prêts à l’emploi qui s’installent à la place des originaux (rebrowser-puppeteer, rebrowser-playwright). Le patch principal corrige la fuite Runtime.enable, avec trois stratégies au choix : un binding dans le main world, des mondes toujours isolés, ou activer puis désactiver. Des patchs plus modestes renomment la sourceURL pptr: de Puppeteer et son utility world. L’article de l’équipe sur cette fuite et sa page bot-detector ouverte comptent parmi les meilleures ressources publiques sur le sujet.
Ses limites tiennent à sa portée et à sa fraîcheur. Son propre README juge fragile le fait de patcher le code source d’une bibliothèque, car cela peut casser au gré des changements upstream. Les packages de remplacement ont été publiés pour la dernière fois en mai 2025, sur Puppeteer 24.8.1 et Playwright 1.52.0 ; upstream en est depuis à Puppeteer 25.11 et Playwright 1.63. Et comme tout patch de driver, il laisse le navigateur d’origine : l’empreinte est celle de l’hôte.
Clearcote vs rebrowser-patches
| Fonctionnalité | Clearcote | rebrowser-patches |
|---|---|---|
| Approche | Patchs C++ au niveau du moteur | Patchs du code source de Puppeteer / Playwright |
| Fuite Runtime.enable | Neutralisée dans le moteur ; mondes isolés au lancement | Corrigée dans le driver (trois modes) |
| Identité de l’empreinte | Persona cohérent dérivé d’une seed | Les valeurs réelles de votre hôte |
| Versions des bibliothèques | Fonctionne avec les versions officielles actuelles de Puppeteer et Playwright | Bloqué sur Puppeteer 24.8.1 / Playwright 1.52.0 |
| Dernière version | Actif | Mai 2025 |
| TLS / réseau | Le ClientHello suit la version de Chrome du persona | Ce qu’envoie le Chrome local |
| Langages | Python, Node, .NET | Node (Puppeteer, Playwright), Python (Playwright) |
| Coût | Build ouvert gratuit ; dernier build gratuit avec GitHub ; Pro $49/mois | Gratuit et open source |
Comparatif établi en septembre 2026. Licence de rebrowser-patches : Open source (patchs MIT ; builds Apache-2.0) ; les détails évoluent — consultez le projet pour les informations les plus récentes.
Pourquoi les équipes choisissent Clearcote
Aucune bibliothèque patchée à attendre
Clearcote fonctionne avec les packages officiels de Puppeteer et Playwright : vous n’êtes pas bloqué sur la dernière version sur laquelle un jeu de patchs a été rebasé.
L’empreinte, pas seulement la session
Corriger Runtime.enable masque la session d’automatisation. Clearcote modifie aussi le canvas, WebGL, les polices, l’écran et le matériel que lit la page.
Géré sous la bibliothèque
Chez Clearcote, la gestion de CDP se trouve dans le moteur et dans les réglages de lancement par défaut : elle ne dépend pas d’un patch à chaque version d’une bibliothèque JavaScript.
Cohérent jusqu’au TLS
La version de Chrome annoncée se retrouve jusque dans le ClientHello TLS, une couche qu’un patch de bibliothèque ne peut pas atteindre.
Quand rebrowser-patches peut être le meilleur choix
- Vous êtes de toute façon bloqué sur Puppeteer 24 ou Playwright 1.52 et n’avez besoin que du correctif Runtime.enable.
- Vous voulez étudier les patchs : ils sont courts, bien documentés et constituent un bon moyen de comprendre la fuite.
- Pour un Playwright patché et maintenu, Patchright est l’option activement mise à jour dans la même catégorie.
FAQ
rebrowser-patches est-il encore maintenu ?
Les packages patchés ont été publiés pour la dernière fois en mai 2025, sur la base de Puppeteer 24.8.1 et Playwright 1.52.0. Vérifiez l’état actuel du dépôt avant de vous appuyer dessus avec des versions plus récentes des bibliothèques.
Qu’est-ce que la fuite Runtime.enable ?
Puppeteer et Playwright activent le domaine CDP Runtime pour suivre les contextes d’exécution. Tant qu’il est actif, le navigateur sérialise les arguments de la console d’une façon observable par le JavaScript de la page, ce qui révèle la présence d’un client d’automatisation. rebrowser-patches et Patchright évitent de l’activer dans le driver ; Clearcote le neutralise dans le moteur.
rebrowser-patches ou Clearcote ?
rebrowser-patches modifie la façon dont la bibliothèque d’automatisation communique avec un Chrome d’origine. Clearcote modifie le navigateur : les effets de bord CDP comme l’empreinte sont pris en charge, avec les versions officielles de Puppeteer et Playwright par-dessus.
À lire aussi
Essayez l'alternative Chromium open source
Gratuit et open source, s'utilise tel quel avec Playwright et Puppeteer, cohérent jusqu'au handshake TLS.
Gratuit pour un navigateur avec GitHub. Sans carte.