Saltar al contenido

La alternativa a puppeteer-extra-plugin-stealth de código abierto

El plugin stealth sigue siendo la forma más instalada de agregarle evasiones a Puppeteer, con unas 840,000 descargas semanales, pero no publica una versión desde marzo de 2023. Cada evasión es un parche de JavaScript sobre un Chrome estándar, y los parches de JavaScript se delatan solos. Clearcote fija esos valores de forma nativa en el motor.

¿Qué es puppeteer-extra-plugin-stealth?

puppeteer-extra-plugin-stealth (de berstend) es un conjunto de módulos de evasión en JavaScript que se inyectan con page.evaluateOnNewDocument antes de que se ejecuten los scripts de la página. Cada uno parchea una sola señal: navigator.webdriver, los plugins, chrome.runtime, el vendor de WebGL, los iframes, los códecs y más. Tiene licencia MIT y es enormemente popular, con unas 840,000 descargas semanales en npm, y su enfoque se portó a playwright-stealth y a selenium-stealth.

Además, en la práctica no tiene mantenimiento: la última versión en npm (2.11.2) salió en marzo de 2023, y el repositorio no cambia desde mediados de 2024. El límite estructural es anterior a eso. Son sobrescrituras de JavaScript sobre un motor estándar, y las sobrescrituras se delatan mediante Function.prototype.toString, descriptores de propiedad alterados y relecturas desde Web Workers o iframes de origen cruzado donde el parche no está presente. No cambia los valores nativos, no toca TLS ni HTTP/2 y no aborda la fuga de CDP de Runtime.enable. Su propio README admite que impedir todas las formas de detectar Chromium en modo headless probablemente sea imposible.

Clearcote vs puppeteer-extra-plugin-stealth

CaracterísticaClearcotepuppeteer-extra-plugin-stealth
Enfoque Parches en C++ a nivel del motor: valores nativos Evasiones en JavaScript inyectadas en cada documento
Rastro detectable Ninguno: nativo en cada realm (página, workers, iframes) Visible con toString, descriptores y relecturas desde workers e iframes
TLS / coherencia de red Sigue al Chrome declarado (JA3/JA4 + HTTP/2) No se aborda
Framework Playwright y Puppeteer (Python, Node, .NET) Puppeteer (Node); playwright-extra para Playwright
Mantenimiento Activo Última versión: marzo de 2023
Licencia Build abierto BSD-3 MIT
Costo Build abierto gratis; build más reciente gratis con GitHub Gratis y abierto

Comparación elaborada en septiembre de 2026. Licencia de puppeteer-extra-plugin-stealth: Código abierto (MIT). Los detalles cambian, así que consulta su proyecto para ver lo más reciente.

Por qué los equipos eligen Clearcote

Nativo, no sobrescrito

Cada evasión del plugin stealth es una sobrescritura de JavaScript que un detector puede atrapar. Clearcote fija los valores en el motor, así que se leen como nativos y no hay ninguna sobrescritura que encontrar.

Coherente entre realms

Los parches de JavaScript aplicados a la página no coinciden en los Web Workers ni en los iframes de origen cruzado. Los valores a nivel del motor coinciden en todas partes, lo que cierra ese tipo de señal.

La capa de red

El plugin no tiene acceso a TLS ni a HTTP/2. El handshake de Clearcote sigue la versión de Chrome declarada, así que lo que viaja por la red coincide con el JavaScript.

Mantenido y verificado

Clearcote se comprueba con tests abiertos en cada versión. Las evasiones del plugin son de principios de 2023, y desde entonces Chrome avanzó decenas de versiones.

Cuándo puppeteer-extra-plugin-stealth puede ser mejor opción

  • Ya usas Puppeteer y quieres un paquete de evasiones de una sola línea para objetivos poco exigentes.
  • Necesitas algo con licencia MIT para sumar a un scraper de Node existente.
  • Para páginas de prueba públicas y detección más antigua, es rápido y a veces suficiente.

Preguntas frecuentes

¿puppeteer-extra-plugin-stealth todavía tiene mantenimiento?

No de forma activa. La última versión en npm, 2.11.2, se publicó en marzo de 2023, y el repositorio no se actualiza desde julio de 2024. Todavía se instala y se usa mucho, pero sus evasiones no siguieron el ritmo de Chrome.

¿Por qué se detectan los parches stealth de JavaScript?

Porque son sobrescrituras sobre una función real. Un detector puede convertirla en cadena (una función nativa muestra [native code]; una sobrescritura muestra su propio código fuente), inspeccionar el descriptor de la propiedad o volver a leer el valor desde un iframe o un Web Worker nuevo donde el parche no está aplicado. Los cambios a nivel del motor evitan esto porque hacen que el valor sea nativo en todas partes.

¿En qué se diferencia Clearcote del plugin stealth?

El plugin inyecta evasiones en JavaScript en un Chrome estándar; Clearcote es un Chromium modificado en el que los valores son nativos del motor y coherentes entre workers e iframes, con una persona TLS/HTTP-2 a la que el plugin no tiene acceso.

¿Hay una versión para Playwright?

Sí: playwright-extra puede cargar el mismo plugin en Node, y playwright-stealth lo porta a Python. Los dos comparten el mismo diseño basado en sobrescrituras de JavaScript.

Lecturas relacionadas

Preguntas y respuestasWhy 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.CompararClearcote vs playwright-stealthplaywright-stealth es la forma más rápida de agregar stealth a Playwright en Python: un wrapper y cada página recibe un conjunto de evasiones en JavaScript. Pero esas evasiones son sobrescrituras sobre un navegador estándar, y su propio mantenedor lo describe como una prueba de concepto. Clearcote, en cambio, fija esos valores de forma nativa en el motor, así que no hay ninguna sobrescritura que una página pueda encontrar.InvestigaciónCoherence 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.CompararClearcote vs CamoufoxCamoufox es un navegador antidetect de código abierto bien construido, basado en Firefox. Clearcote aplica el mismo enfoque a nivel del motor sobre Chromium, así que tu automatización se presenta como el navegador que realmente usa cerca del 69% de la web, y no como uno que usa alrededor del 3%.CompararClearcote vs CloakBrowserCloakBrowser es un Chromium stealth a nivel del motor, capaz y con muchos seguidores, pero el binario parcheado es de código cerrado. Clearcote también trabaja a nivel del motor, usa un Chromium más reciente y ofrece un build abierto en el que puedes leer y recompilar cada parche.CompararClearcote vs undetected-chromedriverundetected-chromedriver todavía se descarga unos 2 millones de veces al mes, pero su última versión es de febrero de 2024. Oculta el rastro de Selenium/ChromeDriver sobre un Chrome estándar y nunca toca la huella digital ni la capa de red. Clearcote cambia ambas en el motor.

Prueba la alternativa de código abierto basada en Chromium

Gratis y de código abierto, un reemplazo directo para Playwright y Puppeteer, coherente hasta el handshake TLS.

Gratis para un navegador con GitHub. Sin tarjeta.