Pular para o conteúdo

A alternativa ao puppeteer-extra-plugin-stealth de código aberto

O plugin stealth ainda é a forma mais instalada de acoplar evasões ao Puppeteer, com mais de um milhão de downloads por semana, mas não tem uma versão nova desde março de 2023. Cada evasão é um patch em JavaScript sobre um Chrome padrão, e patches em JavaScript se denunciam. O Clearcote define esses valores nativamente no motor.

O que é o puppeteer-extra-plugin-stealth?

O puppeteer-extra-plugin-stealth (de berstend) é um pacote de módulos de evasão em JavaScript injetados com page.evaluateOnNewDocument antes de os scripts da página rodarem. Cada um corrige um único indício: navigator.webdriver, plugins, chrome.runtime, o vendor do WebGL, iframes, codecs e mais. Tem licença MIT e é extremamente popular, com mais de um milhão de downloads por semana no npm, e sua abordagem foi portada para o playwright-stealth e o selenium-stealth.

Na prática, ele também está sem manutenção: a última versão no npm (2.11.2) saiu em março de 2023, e nenhum código foi enviado ao repositório desde então. O limite estrutural é anterior a isso. São overrides em JavaScript sobre um motor padrão, e overrides se denunciam via Function.prototype.toString, descritores de propriedade alterados e releituras a partir de Web Workers ou iframes cross-origin, onde o patch não está presente. Ele não muda valores nativos, não mexe em TLS nem em HTTP/2 e não trata o vazamento de CDP do Runtime.enable. O próprio README admite que impedir todas as formas de detectar o Chromium headless provavelmente é impossível.

Clearcote vs puppeteer-extra-plugin-stealth

RecursoClearcotepuppeteer-extra-plugin-stealth
Abordagem Patches em C++ no nível do motor: valores nativos Evasões em JavaScript injetadas em cada documento
Emenda detectável Nenhuma: nativo em todo realm (página, workers, iframes) Visível via toString, descritores e releitura em workers e iframes
Coerência de TLS / rede Acompanha o Chrome declarado (JA3/JA4 + HTTP/2) Não tratado
Framework Playwright e Puppeteer (Python, Node, .NET) Puppeteer (Node); playwright-extra para Playwright
Manutenção Ativa Última versão em março de 2023
Licença Build aberto BSD-3 MIT
Custo Build aberto grátis; build mais recente grátis com GitHub Grátis e aberto

Comparação feita em novembro de 2026. O puppeteer-extra-plugin-stealth é Código aberto (MIT); os detalhes mudam — confira o projeto para ver as informações mais recentes.

Medido: 12 ferramentas nos mesmos 10 sites

Rodamos o harness open source browsers-benchmark 5 vezes, terminando em 27 de outubro de 2026. Cada ferramenta rodou com seu próprio IP residencial dos EUA, em uma ordem diferente a cada rodada. Um acerto significa que a própria verificação do harness para aquele site encontrou a página em si, e não uma página de bloqueio ou de desafio. Clearcote medido em um desktop Windows (build mais recente); as outras ferramentas, em um servidor Linux.

puppeteer-extra-plugin-stealth não está neste benchmark: o harness não tem driver para ele. A tabela mostra as ferramentas que ele suporta.

Parcela dos carregamentos de página que chegaram à página real, por ferramenta, em modo headed e headless
FerramentaHeadedHeadless
Clearcote0.63.2 · r5278%39/5080%40/50
Camoufox0.5.8 · v156.0.1-beta.3672%36/5080%40/50
Invisible Playwright0.43.0 · Firefox76%38/5078%39/50
CloakBrowser0.6.474%37/5064%32/50
SeleniumBase (CDP mode)4.49.0 · Chrome74%37/50—
nodriver0.50.6 · Chrome74%37/5040%20/50
Zendriver0.17.1 · Chrome64%32/5060%30/50
tf-playwright-stealth (Firefox)1.2.058%29/5062%31/50
tf-playwright-stealth (Chromium)1.2.056%28/5050%25/50
Playwright (Chromium)1.62.056%28/5030%15/50
Playwright (Firefox)1.62.054%27/5054%27/50
Patchright1.64.3 · Chrome24%12/5026%13/50

Sites: uma página de resultados de busca, um fórum de comunidade, o site de uma empresa de software, uma varejista de luxo, a página de produto de um marketplace, um site de venda de ingressos, uma varejista de moda, um site de reservas de viagem, uma companhia aérea, uma rede social. Este é um retrato de uma rede e de uma semana: os resultados mudam a cada release, a cada proxy e com os próprios sites, e nenhuma ferramenta carregou todos os sites todas as vezes. Resultados brutos (JSON).

Por que equipes escolhem o Clearcote

Nativo, não sobrescrito

Cada evasão do plugin stealth é um override em JavaScript que um detector consegue pegar. O Clearcote define os valores no motor, então eles aparecem como nativos e não há override para encontrar.

Coerente entre realms

Patches em JavaScript aplicados à página divergem em Web Workers e iframes cross-origin. Valores no nível do motor batem em todo lugar, o que fecha essa classe de indício.

A camada de rede

O plugin não tem acesso a TLS nem a HTTP/2. O handshake do Clearcote acompanha a versão do Chrome declarada, então o que trafega na rede bate com o JavaScript.

Mantido e verificado

O Clearcote é conferido com testes abertos a cada versão. As evasões do plugin são do início de 2023, e o Chrome já avançou dezenas de versões desde então.

Quando o puppeteer-extra-plugin-stealth pode ser a melhor escolha

  • Você já usa o Puppeteer e quer um pacote de evasões de uma linha para alvos permissivos.
  • Você precisa de algo com licença MIT para encaixar num scraper Node existente.
  • Para páginas de teste públicas e detecção mais antiga, é rápido e às vezes basta.

Perguntas frequentes

O puppeteer-extra-plugin-stealth ainda é mantido?

Não ativamente. A última versão no npm, 2.11.2, foi publicada em março de 2023, e não houve commits no repositório desde então. Ele ainda instala e é muito usado, mas as evasões não acompanharam o ritmo do Chrome.

Por que patches de stealth em JavaScript são detectados?

Porque são overrides sobre uma função real. Um detector pode convertê-la em string (uma função nativa aparece como [native code]; um override mostra o próprio código-fonte), inspecionar o descritor da propriedade ou ler o valor de novo a partir de um iframe novo ou de um Web Worker, onde o patch não está aplicado. Mudanças no nível do motor evitam isso, porque tornam o valor nativo em todo lugar.

Em que o Clearcote é diferente do plugin stealth?

O plugin injeta evasões em JavaScript num Chrome padrão; o Clearcote é um Chromium modificado em que os valores são nativos no motor, coerentes entre workers e iframes, com uma persona de TLS/HTTP-2 à qual o plugin não tem acesso.

Existe uma versão para Playwright?

Sim: o playwright-extra carrega o mesmo plugin em Node, e o playwright-stealth faz o port para Python. Os dois compartilham o mesmo design de overrides em JavaScript.

Até onde vai

Mais que o dobro de patches de qualquer fork que comparamos.

Patches compilados no Chromium, por abordagem. Ferramentas baseadas em scripts não mudam o motor.

Plugins de stealth

ex.: puppeteer-extra-plugin-stealth

0

Drivers modificados

ex.: undetected-chromedriver, nodriver

0

Outros forks do Chromium

builds gratuitos e pagos

35–87

Clearcote Pro

r57, Chromium 156

240

Número de patches publicado, outubro de 2026. A faixa cobre os builds gratuitos e pagos dos outros forks; no Clearcote, é o build Pro.

Teste

365 verificações, grátis, no seu próprio navegador

O teste de fingerprint a que todo build do Clearcote é submetido. Rode no que você usa hoje e compare.

Rodar o teste
Leia

Os patches do build aberto são públicos

O build aberto gratuito é BSD-3, reproduzível a partir do código-fonte e não precisa de conta. O build Pro adiciona patches privados por cima.

Abrir no GitHub
Acompanhe

57 versões do motor, 7 versões principais do Chromium

Cada patch é levado para cada nova versão do Chromium. O build mais recente recebe as novas versões principais no dia do lançamento.

Ver as versões

Leituras relacionadas

DocumentaçãoMigrating from puppeteer-extra-plugin-stealthKeep Puppeteer, drop the stealth plugin: connect it to Clearcote's serve(), where the fingerprint is set in the engine. Option mapping and code.Perguntas e respostasWhy does Function.toString() reveal a hooked function?Calling toString() on a native function returns “[native code]”; an override returns its own source instead — so detectors stringify APIs to catch JavaScript spoofs.ComparaçãoClearcote vs playwright-stealthO playwright-stealth é o jeito mais rápido de adicionar stealth ao Playwright em Python: basta um wrapper para que toda página receba um conjunto de evasões em JavaScript. Mas as evasões são overrides num navegador padrão, e o próprio mantenedor o chama de prova de conceito. O Clearcote define esses valores nativamente no motor, então não há override nenhum para uma página encontrar.PesquisaCoherence over camouflage: why a plausible identity beats a hidden oneMost stealth tooling tries to hide. The signals that survive scrutiny don't hide — they agree with each other.ComparaçãoClearcote vs CamoufoxO Camoufox é um navegador antidetect de código aberto bem construído, baseado em Firefox. O Clearcote aplica a mesma abordagem no nível do motor ao Chromium, para que sua automação apresente o navegador que cerca de 66% da web realmente usa, e não um usado por cerca de 3%.ComparaçãoClearcote vs CloakBrowserO CloakBrowser é um Chromium stealth competente, no nível do motor, com muitos seguidores, mas o binário com os patches é de código fechado. O Clearcote também atua no nível do motor e oferece um build aberto em que você pode ler e recompilar cada patch.ComparaçãoClearcote vs undetected-chromedriverO undetected-chromedriver ainda é baixado cerca de 2,5 milhões de vezes por mês, mas a última versão saiu em fevereiro de 2024. Ele esconde a emenda Selenium/ChromeDriver num Chrome padrão e nunca mexe no fingerprint nem na camada de rede. O Clearcote muda os dois no motor.

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: GitHub, uma verificação de cartão ou uma conta corporativa do Google. Nunca é cobrado.