A alternativa ao rebrowser-patches de código aberto
O rebrowser-patches fez um trabalho importante sobre o vazamento do Runtime.enable no Puppeteer e no Playwright, e a página bot-detector do projeto continua sendo um teste útil. Mas os pacotes com patches tiveram a última versão em maio de 2025 e só cobrem o driver. O Clearcote trata o lado do CDP na inicialização e no motor, e também muda o fingerprint.
O que é o rebrowser-patches?
O rebrowser-patches é um conjunto de patches de código-fonte para o Puppeteer e o Playwright, com pacotes prontos para substituição direta (rebrowser-puppeteer, rebrowser-playwright). O patch principal corrige o vazamento do Runtime.enable, com três estratégias alternáveis: um binding no main world, isolated worlds o tempo todo, ou ativar e depois desativar. Patches menores renomeiam o sourceURL pptr: do Puppeteer e o utility world dele. O texto da equipe sobre o vazamento e a página bot-detector aberta deles estão entre o melhor material público sobre o assunto.
Os limites são o escopo e a atualização. O próprio README diz que aplicar patches no código-fonte de bibliotecas é frágil, já que pode quebrar conforme o upstream muda. Os pacotes drop-in foram publicados pela última vez em maio de 2025, no Puppeteer 24.8.1 e no Playwright 1.52.0; desde então, o upstream chegou ao Puppeteer 25.11 e ao Playwright 1.63. E, como todo patch de driver, ele deixa o navegador como veio: o fingerprint é o do host.
Clearcote vs rebrowser-patches
| Recurso | Clearcote | rebrowser-patches |
|---|---|---|
| Abordagem | Patches em C++ no nível do motor | Patches no código-fonte do Puppeteer / Playwright |
| Vazamento do Runtime.enable | Neutralizado no motor; isolated worlds na inicialização | Corrigido no driver (três modos) |
| Identidade do fingerprint | Persona coerente a partir de uma seed | Os valores reais do seu host |
| Versões das bibliotecas | Funciona com o Puppeteer e o Playwright oficiais atuais | Preso ao Puppeteer 24.8.1 / Playwright 1.52.0 |
| Última versão | Ativo | Maio de 2025 |
| TLS / rede | O ClientHello acompanha a versão do Chrome da persona | O que o Chrome local enviar |
| Linguagens | Python, Node, .NET | Node (Puppeteer, Playwright), Python (Playwright) |
| Custo | Build aberto grátis; build mais recente grátis com GitHub; Pro $49/mês | Grátis e aberto |
Comparação feita em setembro de 2026. O rebrowser-patches é Código aberto (patches MIT; builds Apache-2.0); os detalhes mudam — confira o projeto para ver as informações mais recentes.
Por que equipes escolhem o Clearcote
Nenhuma biblioteca com patches para esperar
O Clearcote funciona com os pacotes oficiais do Puppeteer e do Playwright, então você não fica preso à última versão sobre a qual um conjunto de patches foi rebaseado.
O fingerprint, não só a sessão
Corrigir o Runtime.enable esconde a sessão de automação. O Clearcote também muda o canvas, o WebGL, as fontes, a tela e o hardware que a página lê.
Tratado abaixo da biblioteca
O tratamento de CDP do Clearcote fica no motor e nos padrões de inicialização, então não depende de aplicar patches a cada versão de uma biblioteca JavaScript.
Coerente até o TLS
A versão do Chrome declarada chega até o ClientHello do TLS, uma camada que um patch de biblioteca não alcança.
Quando o rebrowser-patches pode ser a melhor escolha
- Você está preso ao Puppeteer 24 ou ao Playwright 1.52 de qualquer forma e só precisa da correção do Runtime.enable.
- Você quer estudar os patches: são curtos, bem documentados e uma boa forma de entender o vazamento.
- Para um Playwright com patches e mantido, o Patchright é a opção atualizada ativamente na mesma categoria.
Perguntas frequentes
O rebrowser-patches ainda é mantido?
Os pacotes com patches foram publicados pela última vez em maio de 2025, baseados no Puppeteer 24.8.1 e no Playwright 1.52.0. Confira o status atual no repositório antes de depender dele com versões mais novas das bibliotecas.
O que é o vazamento do Runtime.enable?
O Puppeteer e o Playwright ativam o domínio Runtime do CDP para acompanhar os contextos de execução. Enquanto ele está ativo, o navegador serializa os argumentos do console de um jeito que o JavaScript da página consegue observar, o que revela um cliente de automação. O rebrowser-patches e o Patchright evitam ativá-lo no driver; o Clearcote o neutraliza no motor.
rebrowser-patches ou Clearcote?
O rebrowser-patches muda a forma como a biblioteca de automação conversa com um Chrome padrão. O Clearcote muda o navegador, então tanto os efeitos colaterais do CDP quanto o fingerprint são tratados, com o Puppeteer e o Playwright oficiais por cima.
Leituras relacionadas
Experimente a alternativa de código aberto baseada em Chromium
Grátis e de código aberto, plug-and-play no Playwright e no Puppeteer, coerente até o handshake TLS.
Grátis para um navegador com GitHub. Sem cartão.