Puppeteer-Extra-Stealth è obsoleto: cosa usa l'automazione moderna — copertina illustrata di un articolo Clawbrowser

Puppeteer-Extra-Stealth è obsoleto: cosa usa l'automazione moderna

Clawbrowser Teamautomazione-browserpuppeteerplaywrightanti-botguida

puppeteer-extra-plugin-stealth è il pacchetto anti-rilevamento più diffuso per Puppeteer. Registra ancora oltre 600K download settimanali su npm. Non riceve aggiornamenti da marzo 2023. La versione 2.11.2 è l'ultima release e resterà tale: la manutenzione è inattiva, le issue su GitHub si accumulano e i sistemi anti-bot si sono evoluti.

TL;DR: I plugin stealth correggono i segnali di rilevamento con override JavaScript a livello di pagina. Nel 2026, i sistemi anti-bot come Cloudflare, Akamai e DataDome controllano segnali che JavaScript non può raggiungere: impronte TLS, artefatti del protocollo CDP e differenze di rendering a livello di motore. La soluzione non è un plugin migliore. È un livello diverso: un driver patchato che nasconde le perdite del protocollo o un browser patchato che gestisce le impronte a livello di motore.


Cosa fanno realmente i plugin stealth

puppeteer-extra-plugin-stealth include 11 moduli di evasione eseguiti tramite evaluateOnNewDocument. Ogni modulo corregge una superficie di rilevamento:

Modulo Cosa corregge
webdriver Removes navigator.webdriver = true
chrome.runtime Fakes the chrome.runtime object
chrome.csi / chrome.app Adds missing Chrome API stubs
navigator.plugins Spoofs the plugin array
navigator.languages Overrides language settings
navigator.permissions Fixes permission query behavior
media.codecs Spoofs codec support
sourceurl Hides //# sourceURL from injected scripts
iframe.contentWindow Fixes cross-origin iframe detection
webgl.vendor Spoofs WebGL vendor/renderer strings
user-agent-override Sets a realistic User-Agent header

Queste patch funzionavano nel 2021-2022, quando i sistemi anti-bot controllavano principalmente le proprietà JavaScript a livello di pagina. Non funzionano contro ciò che i sistemi di rilevamento moderni verificano realmente.

Perché i plugin stealth falliscono nel 2026

Il rilevamento anti-bot si è spostato sotto il livello JavaScript. I segnali rilevanti ora sono quelli che evaluateOnNewDocument non può raggiungere.

Perdite del protocollo CDP

Quando Puppeteer si connette a Chrome, invia comandi CDP come Runtime.enable, Page.enable e Network.enable. Questi comandi lasciano artefatti nello stato interno del browser che gli script anti-bot possono rilevare. Il plugin stealth non tocca il CDP perché opera a livello di pagina, non a livello di protocollo.

Il solo comando Runtime.enable basta per identificare una sessione automatizzata. Nessuna patch a livello di pagina nasconde il fatto che sono stati emessi comandi CDP.

Impronta TLS

Cloudflare verifica le impronte TLS (JA3/JA4) prima di servire qualsiasi HTML. Se l'impronta TLS è errata, la sessione riceve un challenge o un blocco prima ancora che le patch JavaScript del plugin stealth vengano caricate. Il plugin opera a livello di pagina e non ha accesso al livello TLS. Per una spiegazione completa di come funziona l'impronta TLS nello stack di rilevamento, consulta la sezione livello di rete in Automazione browser senza blocchi.

Rilevamento degli override JavaScript

Gli script anti-bot non controllano solo il valore di navigator.webdriver. Controllano il property descriptor. Un browser reale ha webdriver definito come getter nativo sul prototipo Navigator. Il plugin stealth lo sovrascrive con Object.defineProperty, modificando il flag configurable del descriptor e l'output toString() della funzione getter. Gli script di rilevamento testano queste discrepanze.

Lo stesso vale per altri override. chrome.runtime, gli array di plugin e le query sui permessi presentano differenze rilevabili quando le loro implementazioni native vengono sostituite con stub JavaScript.

Differenze di rendering headless

Anche con --headless=new (la modalità headless più recente), Chrome esegue il rendering in modo leggermente diverso dal Chrome con interfaccia grafica. Le metriche dei font, l'output canvas accelerato da GPU e le API delle dimensioni dello schermo differiscono. Il plugin stealth corregge alcune proprietà del navigator ma non può modificare il comportamento del motore di rendering.


Cosa ha sostituito i plugin stealth

L'ecosistema si è diviso in due approcci: driver patchati (correggono il livello di protocollo) e browser patchati (correggono il livello del motore). Risolvono problemi diversi.

Driver patchati: Rebrowser e Patchright

Rebrowser fornisce sostituzioni dirette per Puppeteer e Playwright (rebrowser-puppeteer, rebrowser-playwright). Le patch mirano agli artefatti del protocollo CDP: modificano il modo in cui Runtime.enable e altri comandi interagiscono con il browser per evitare di lasciare tracce rilevabili. Si sostituisce il nome del pacchetto nel codice e tutto il resto resta invariato.

// Before: detected
const puppeteer = require('puppeteer');

// After: CDP artifacts patched
const puppeteer = require('rebrowser-puppeteer');

Patchright fa lo stesso per Playwright, con focus su Python. Corregge le perdite di Runtime.enable ed è mantenuto attivamente.

Limitazione: I driver patchati correggono il rilevamento del protocollo ma non affrontano il fingerprinting del browser. Se il sito verifica Canvas, WebGL, AudioContext o il rendering dei font, resti esposto. I driver patchati rispondono alla domanda "sei automatizzato?" ma non a "sei un dispositivo reale?".

Browser patchati: motori anti-rilevamento

Un browser patchato modifica Chromium affinché i segnali di impronta siano coerenti a livello di motore. L'output Canvas, il rendering WebGL, i dati AudioContext, le metriche dei font, le dimensioni dello schermo, il fuso orario e la locale riportano valori corrispondenti a un profilo di dispositivo reale.

Questo è ciò che fa Clawbrowser. È un fork di Chromium con patch di impronta a livello di motore su oltre 20 superfici, routing proxy integrato, prevenzione delle perdite WebRTC e supporto CDP nativo. Il codice Puppeteer o Playwright esistente si connette tramite CDP:

from playwright.async_api import async_playwright

async def automate_without_detection():
    async with async_playwright() as p:
        # Connect to Clawbrowser instead of stock Chrome

Cosa gestisce che i plugin stealth non possono:

  • Coerenza Canvas/WebGL/AudioContext a livello di motore (non stub JavaScript)
  • Impronta TLS corrispondente a una sessione Chrome reale
  • Connessione CDP senza artefatti Runtime.enable
  • Prevenzione delle perdite WebRTC a livello di browser
  • Routing proxy con allineamento geografico integrato

Per il dettaglio completo di ciò che viene sottoposto a fingerprinting, consulta Impronta digitale del browser: i 20+ segnali usati dai sistemi anti-bot.


Come scegliere

Lo strumento giusto dipende da cosa ti sta rilevando.

Tipo di rilevamento Sintomo Soluzione
CDP protocol artifacts Blocked immediately on page load, no CAPTCHA Patched driver (Rebrowser, Patchright)
Browser fingerprint mismatch CAPTCHA on every page, or silent data differences Patched browser (Clawbrowser)
TLS fingerprint mismatch Blocked before page loads (403 on first request) Patched browser with proxy routing
IP reputation Blocked from datacenter IPs Residential proxy (any approach)
Behavioral detection Blocked after 5-10 pages Timing and session management in your code

Quando i driver patchati bastano

Se automatizzi siti con rilevamento base che controlla artefatti CDP senza fare fingerprinting approfondito del browser, Rebrowser o Patchright funzioneranno. Questo copre molti siti con configurazioni anti-bot più leggere.

Quando serve un browser patchato

Se il sito usa Cloudflare Bot Management, Akamai Bot Manager, DataDome o PerimeterX, serve coerenza di impronta a livello di motore. Le patch a livello di pagina e a livello di driver non bastano quando il rilevamento controlla oltre 20 superfici del browser simultaneamente.

Clawbrowser è un browser anti-rilevamento locale, gratuito, basato su Chromium con impronte gestite, routing proxy, CDP nativo e un server MCP integrato. Gestisce l'identità del browser e i livelli di rete, così il codice si occupa solo del comportamento e della gestione delle sessioni.


Migrare dai plugin stealth

Se attualmente usi puppeteer-extra-plugin-stealth o playwright-stealth, la migrazione a Clawbrowser richiede meno di cinque minuti.

Prima (plugin stealth)

const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());

const browser = await puppeteer.launch({ headless: false });

Dopo (Clawbrowser)

const puppeteer = require('puppeteer-core');

// Connect to Clawbrowser over CDP
const browser = await puppeteer.connect({
    browserWSEndpoint: 'ws://127.0.0.1:9222'

La differenza chiave: rimuovi puppeteer-extra e puppeteer-extra-plugin-stealth dalle dipendenze. Nessuna configurazione di plugin. Nessuna selezione di moduli di evasione. L'anti-rilevamento avviene a livello di browser, non nel codice.

Per pattern specifici di scraping (paginazione, riscaldamento sessione, bypass Cloudflare), consulta Web Scraping senza essere rilevati.


FAQ

puppeteer-extra-stealth è completamente inutile?

Funziona ancora su siti senza sistema anti-bot commerciale. Se il sito target controlla solo navigator.webdriver e proprietà JavaScript base, il plugin stealth basta. Ma qualsiasi sito con Cloudflare, Akamai, DataDome, PerimeterX o piattaforme social come Facebook, Instagram, LinkedIn e X lo rileverà.

playwright-stealth ha gli stessi problemi?

Sì. playwright-stealth usa lo stesso approccio: override JavaScript tramite iniezione a livello di pagina. Non può raggiungere impronte TLS, artefatti CDP o rendering a livello di motore. I limiti di rilevamento sono identici.

Si possono usare Rebrowser e Clawbrowser insieme?

Non è necessario. Clawbrowser gestisce sia il livello protocollo che il livello impronta. Le patch di Rebrowser sono utili quando si usa Chrome standard e non si può passare a un browser anti-rilevamento. Se usi Clawbrowser, gli artefatti CDP sono già gestiti.

Perché stealth ha ancora 600K download a settimana?

Inerzia. La maggior parte dei tutorial e delle risposte su Stack Overflow lo raccomanda ancora. Gli sviluppatori copiano soluzioni che funzionavano nel 2022 senza verificare se il pacchetto è ancora mantenuto. L'alto numero di download non significa che sia efficace contro il rilevamento moderno.


Smetti di patchare, inizia a risolvere

I plugin stealth erano una soluzione ragionevole quando il rilevamento anti-bot si basava su controlli a livello JavaScript. Il rilevamento si è spostato su impronte TLS, analisi del protocollo CDP e differenze di rendering a livello di motore. Patchare a livello di pagina non può raggiungere questi segnali.

Installa Clawbrowser per gestire il rilevamento a livello di browser: copia il prompt di installazione da clawbrowser.ai e incollalo nel tuo agente IA. Rimuovi puppeteer-extra e puppeteer-extra-plugin-stealth dalle dipendenze. Connetti il codice Puppeteer o Playwright esistente tramite CDP. L'anti-rilevamento è nel browser, non nel codice.

Per il modello di rilevamento sottostante, consulta Automazione browser senza blocchi: lo stack di difesa a 4 livelli.

Continue exploring

Ask AI how Clawbrowser helps

Continua a leggere

Vedi tutti →