Menu

Come bypassare qualsiasi captcha con i task AntiGate

È disponibile una nuova versione video del tutorial di AntiGate tasks qui.

Dopo anni di ricerca e sviluppo, presentiamo una soluzione universale per aiutare i tuoi robot a passare attraverso i varchi captcha costruiti dagli umani. Lo chiamiamo "AntiGate", e questi sono i modelli di scenario utilizzati dai nostri lavoratori umani per eseguire precisi task.

A un certo punto la tua app incontra una protezione automatizzata "gateway" con alcuni nuovi tipi di captcha, script di navigazione offuscati, o altro. Qui entrano in gioco i nostri task AntiGate. Tu deleghi uno dei nostri lavoratori a costruire una sessione di navigazione umana.
  • Primo: scegli un modello. Puoi utilizzarne uno esistente o crearne uno tuo. Un template è un insieme di istruzioni passo dopo passo che vengono eseguite dai lavoratori.
  • Secondo: fornisci qualsiasi dato aggiuntivo richiesto dal modello, come il valore di un input da inserire, il selettore CSS di un input, o l'indirizzo web in cui dobbiamo navigare. Tra poco approfondiremo la questione dei modelli.
  • Terzo, e facoltativo: i proxy. Ti servono se un sito associa ogni cookie della sessione a un indirizzo IP esatto.
Una volta ottenute queste tre informazioni, si crea un task con la nostra API. Un lavoratore naviga sul vostro sito web con il nostro speciale plugin del browser ed esegue tutte le fasi dello scenario manualmente o automaticamente. Alla fine dello script, vengono acquisite tutte le informazioni sulla sessione del browser, come cookie, valori di localStorage, impronta digitale del browser, e trasmesse alla vostra applicazione. Non resta che utilizzare questi dati per ripristinare la sessione del lavoratore e continuare le operazioni come se fosse un utente umano. Non è incredibile?)

Che cosa sono i modelli AntiGate?

Un modello AntiGate definisce uno scenario preciso in cui dovranno operare i nostri lavoratori. I modelli consistono in step, tutti quanti eseguiti in sequenza. Quando uno step è completato il lavoratore passa a quello successivo. Quando tutti gli step sono completati il task è finito, e viene fatto uno screenshot della sessione del lavoratore che è inviato alla tua app.

Che tipi di step ci sono?
  • Compila un campo di input di testo automaticamente o manualmente.
  • Aspetta che sulla pagina appaia un esempio di testo (o scompaia).
  • Aspetta che sulla pagina appaia un elemento DOM definito dal CSS (o scompaia).
  • Aspetta che compaia una parola chiave (o scompaia) sull'indirizzo URL della navigazione corrente del lavoratore.
Il campo di testo "description for workers" del modello può descrivere qualsiasi altro step che ti aspetti dal lavoratore. Ad esempio: "Solve a captcha and press the submit button".
Vediamo un esempio. Vai al Centro Sviluppatori e crea un template gratuito come prova. Non preoccuparti, non romperai nulla!
Clicca per aggiungere il modello
Clicca per caricare un esempio
Nota la sezione degli step
Hai caricato un esempio dimostrativo. Puoi salvarlo nel tuo account e provarlo tu stesso successivamente. Vediamo l'elenco intero delle proprietà del modello:
  • Nome del modello. Una volta salvato, non può essere modificato. Una volta pubblicato, il modello diventa disponibile nell'API con questo nome.
  • Descrizione per i clienti. I modelli pubblici sono disponibili nel nostro catalogo modelli.
  • Descrizione per i lavoratori. Questo è il testo che i nostri lavoratori vedono in cima alla pagina.
    Esempio interfaccia lavoratori
  • Variabili. Si tratta di un elenco di nomi di variabili che possono essere aggiunti per essere utilizzati nei passaggi al posto dei valori permanenti. In questo esempio, abbiamo 2 variabili, "login" e "password". Queste due sono utilizzate nei passi 1 e 2 per compilare il modulo di accesso alla dimostrazione. In questo modo, è possibile fornire questi valori tramite l'API, invece di codificare in modo permanente login e password nel modello.
    Variabili utilizzate negli step 1 e 2
  • Passi del lavoratore. Qui è possibile modificare e cambiare l'ordine delle fasi dello scenario. Nel nostro esempio, si procede come segue:
    1. Compiliamo automaticamente il campo di testo con il selettore CSS "#login". Il valore per il campo di testo è definito dalla variabile "login".
    2. Compiliamo automaticamente il campo di testo con il selettore CSS "#password". Il valore per il campo di testo è definito dalla variabile "password".
    3. Attendiamo che sulla pagina appaia un testo di controllo. È permanentemente impostato sul valore "Test passed with login".

Ora puoi salvare il modello, che comparirà nel tuo Centro Sviluppatori. Nota: ha lo stato "Sandbox", cioè significa che è disponibile soltanto a te e non nell'API. Da qui puoi provare a testare il tuo modello appena creato come se fossi il tuo lavoratore.

Modelli di prova

A questo punto dovrai usare il browser Chrome, e ti consigliamo di creare un nuovo profilo utente in questo browser perché dovremo installare il nostro plugin, che ha accesso ai cookie del profilo.
Esempio interfaccia lavoratori
Successivamente, sulla scheda del tuo modello, premi il bottone "test".
Seguire le istruzioni e scaricare il plugin per la propria piattaforma. Quindi, ricaricare la pagina perché abbia effetto, riempire le variabili "login" e "password" con alcuni valori casuali e premere il pulsante "Launch Test". Si aprirà una nuova pagina che avrà questo aspetto:

Vicino alla barra dell'indirizzo, c'è una barra blu aggiunta dal plugin in alto nella pagina target. È così che i lavoratori conoscono i loro compiti e controllano l'esecuzione del task.

Inoltre, considera che i campi login e password sono nascosti quando si compilano con le variabili. Questo è voluto. Nonostante i lavoratori abbiano il pieno accesso ai dati del task tramite la console dello sviluppatore, il 99,99% di loro non si preoccupa di esaminare che cosa succede dietro le quinte.
Per la risoluzione del Recaptcha, premi il bottone "Sign In". L'ultimo step del modello, "WAIT_CONTROL_TEXT_PRESENT", verrà superato. Il plugin ricerca la frase di controllo "Test passed with login", che è permanentemente definita nel tuo modello. La scheda si chiude automaticamente e l'immagine della sessione è visualizzata nel campo dei risultati.
Esempio di risultati

Gli stessi dati dell'immagine possono essere ricevuti dall'API. Ma per rendere disponibile nell'API il tuo modello dobbiamo prima pubblicarlo.

Modelli di pubblicazione

Hai 2 possibilità quando pubblichi un modello: renderlo privato o pubblico.
  • I modelli privati sono disponibili soltanto con la tua chiave API. Altri clienti non possono usarli. Costo per revisione e pubblicazione: 1$.
  • I modelli pubblici sono disponibili a tutti. Con questo modello guadagnerai il 5% sulle spese di ciascun cliente. Dovrai lasciare alcuni contatti affinché i nostri clienti possano richiedere il tuo aiuto se qualcosa non funziona col tuo modello. Costo per revisione e pubblicazione: 1$.
Revisioniamo con attenzione tutti i modelli. Devi rispettare alcuni requisiti di base per poter passare con successo alla modalità di produzione:
  • Nessuna attività illegare di alcun tipo.
  • I modelli non devono duplicare modelli esistenti.
  • Non inviare modelli fasulli o di prova.
  • Fornisci un indirizzo web di esempio e valori della variabile per la revisione. Eseguiremo un test, e tutti gli step dovranno andare a buon fine.

Richieste API

Una richiesta di creazione task all'API per il modello AntiGate di cui sopra sarà semplice, come questa:

curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"AntiGateTask",
            "websiteURL":"https://anti-captcha.com/demo/?page=recaptcha_v2_textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask

Cioè tu passi le impostazioni "templateName" e "variables" per riempire il modello.

Utilizza risultati task

I task AntiGate completati con successo restituiscono una soluzione che include "cookies", "localStorage", "fingerprint" e "url". Il software deve navigare verso "url" utilizzando "cookie" in questa richiesta e almeno utilizzare il valore "fingerprint.self.navigator.userAgent" come User-Agent del browser. I siti web più complessi memorizzano dati importanti in localStorage, che è una sorta di versione moderna dei cookie. In questo caso è necessario iniettare questi dati nella pagina prima di eseguire qualsiasi Javascript. Questo può essere fatto in un ambiente di sviluppo come Puppeteer. Questo argomento probabilmente merita un altro articolo.

Crea i tuoi modelli

Devi soltanto seguire gli step di cui sopra senza caricare il modello di esempio. Inserisci tutti i dati correttamente e aggiungi con cura gli step. Considera che tutti gli step sono eseguiti in sequenza. Il plugin non permetterà l'esecuzione dello step successivo finché lo step in corso non è completato. In qualsiasi momento puoi salvare il tuo modello e testarlo con il plugin di navigazione del lavoratore.

Prezzi

A questo punto definiamo un prezzo a 2$ per 1000 task. Inoltre ogni secondo di esecuzione del task costa 1/60 del prezzo del task. Ad esempio, il task costa 0,002$, e il lavoratore ha speso 20 secondi per risolvero.
Il costo finale sarà 0,00266$ = 0,002 + (0,002 / 60 * 20).