Índice

Faça o download dos códigos exemplos usando a versão programa do API:

Suporte de API Lemin Cropped

Quais são os desafios do “Lemin Cropped”?

Eles são desafios que normalmente exigem que o usuário mova uma peça específica do quebra -cabeça para o seu local correto.

Para sua conveniência, implementamos o suporte para a API Lemin Cropped. Se o seu software funciona com ela e suporta uma configuração mínima, você deverá ser capaz de decodificar Lemin Cropped usando Death ByCaptcha em pouco tempo.

  • Lemin Cropped API: Fornecido um URL do site e o captchaid Lemin Cropped, a API retorna uma resposta que você usará para enviar o formulário na página com o desafio Lemin Cropped.

Preço

Por enquanto, o preço é $2.89/1K Lemin Cropped challenges corretamente resolvidos. Você não será cobrado pelos Lemin Cropped relatados como resolvidos incorretamente. Observe que essa precificação se aplica apenas a novos desafios Lemin Cropped, portanto, somente os clientes que utilizam esta API específica serão cobrados com essa taxa.

FAQ da API Lemin Cropped:

Qual é o URL da API Lemin Cropped?

Para usar a API Lemin Cropped, você precisará enviar uma solicitação POST HTTP para http://api.dbcapi.me/api/captcha

Quais são os parâmetros POST para a API Lemin Cropped?

  • username: Seu nome de usuário da sua conta DBC
  • password: Sua senha da sua conta DBC
  • type=14: O tipo 14 especifica que isso é um API Lemin Cropped
  • lemin_params=json(payload): os dados para acessar o desafio de Lemin Cropped
  • Estrutura json payload:
    • proxy: o url do seu proxy e credenciais (se tiver). Exemplos:
      • http://127.0.0.1:3128
      • http://user:password@127.0.0.1:3128
    • proxytype: seu protocolo de conexão proxy. Para tipos de proxy com suporte, consulte Quais tipos de proxy tem suporte?. Exemplo:
      • HTTP
    • captchaid: O captchaid de Lemin no site com Lemin Cropped.

      Exemplo:

      • CROPPED_099216d_8ba061383fa24ef498115023aa7189d4

      Você precisa localizar o captchaid de Lemin Cropped. Localize o valor do parâmetro captchaid no código-fonte da página ou no link de origem do script, semelhante ao seguinte formato: https://api.leminnow.com/captcha/v1/cropped/CROPPED_099216d_8ba061383fa24ef498115023aa7189d4/js

    • pageurl: A URL da página com os desafios do Lemin Cropped. Este URL deve incluir o caminho no qual o Lemin Cropped é carregado. Exemplo: se o Lemin Cropped que você deseja resolver estiver em http://test.com/path1, então pageurl deve ser http://test.com/path1 e não http://test.com.

    O parâmetro de proxy é opcional, mas é altamente recomendável que use para prevenir rejeição de token pela página inserida pela possível inconsistência entre o IP que solucionou o captcha (nosso, caso nenhum proxy tenha sido usado) e o IP fornecido ao solução para verificação (o seu).


    OBS: caso o proxy foi fornecido, proxytype é um parâmetro necessário.

    Exemplo completo de lemin_params:

    
    {
        'proxy': 'http://user:password@127.0.0.1:1234',
        'proxytype': 'HTTP',
        'captchaid': 'CROPPED_099216d_8ba061383fa24ef498115023aa7189d4',
        'pageurl': 'https://testsite.com/xxx-test'
    }
                

Qual é a resposta da API Lemin Cropped?

A resposta da API Lemin Cropped tem a seguinte estrutura. É válida para um uso e tem uma duração de 2 minutos. Será uma string como a seguinte:


"{'answer': '0xaxb8x0xaxaux0xaxakx0x0xakx0x0xaax0x0xa0x0x0x9mx0x0x9c
x0x0x92x0x0x8ox0x0x8ex0x0x84x0xax84x0xax7qx0xax7gx0xax76x0xax6sx0xkx
6ix0xkx68x0xkx5ux0xux5ux0xux5kx0xux5ax0xux50x0xux4mx0x18x4cx0x18x42x
0x18x3ox0x18x3ex0x1ix3ex0x1ix34x0x1ix2qx0x1sx2qx0x1sx2gx0x1sx26x0x26
x26x0x26x1sx0x26x1ix0x1sx1ix0x1sx1sx0x1ix1sx0x18x1sx0x1ix1sx0x1sx1sx
_?_gAAAAABk7MITeZgHrnqUdZq6pqHSWwIX6lURqWOVuen3Ije7hrOCXpKTzYkrpfJdt
HStANs6sisapTOz-AqboXqYYHiBM-ARUKIziWMZyxw2bhMN_OKG9vDJYvOyd0LMUeKWw
xk-pjc1',
'challengeid': 'a6b74f52-8b02-4af6-b4e4-fed0c2730bf5'}"
      

Após receber a resposta, você precisa localizar os campos de entrada ocultos dentro do div de captcha recortado do Lemin, onde você irá inserir os parâmetros da resposta. Após localizar essas entradas ocultas, atribua os valores recebidos a elas. Por fim, envie o captcha.

Quais tipos de proxy tem suporte?

Atualmente, apenas proxys de HTTP são suportados. Suporte para outros tipos serão adicionados no futuro.

Usando a API Lemin Cropped com clientes de API:


    /**
     * Death by Captcha PHP API lemin cropped usage example
     *
     * @package DBCAPI
     * @subpackage PHP
     */

    /**
     * DBC API clients
     */
    require_once '../deathbycaptcha.php';

    $username = "username";  // DBC account username
    $password = "password";  // DBC account password
    $token_from_panel = "your-token-from-panel";  // DBC account authtoken

    // Use DeathByCaptcha_SocketClient() class if you want to use SOCKET API.
    $client = new DeathByCaptcha_HttpClient($username, $password);
    $client->is_verbose = true;

    // To use token the first parameter must be authtoken.
    // $client = new DeathByCaptcha_HttpClient("authtoken", $token_from_panel);

    echo "Your balance is {$client->balance} US cents\n";

    // Set the proxy and lemin token data
    $data = array(
        'proxy' => 'http://user:password@127.0.0.1:1234',
        'proxytype' => 'HTTP',
        'captchaid' => 'CROPPED_099216d_8ba061383fa24ef498115023aa7189d4',
        'pageurl' => 'https://dashboard.leminnow.com/auth/signup'
    );
    //Create a json string
    $json = json_encode($data);

    //Put the type and the json payload
    $extra = [
        'type' => 14,
        'lemin_params' => $json,
    ];

    // Put null the first parameter and add the extra payload
    if ($captcha = $client->decode(null, $extra)) {
        echo "CAPTCHA {$captcha['captcha']} uploaded\n";

        sleep(DeathByCaptcha_Client::DEFAULT_TIMEOUT);

        // Poll for CAPTCHA indexes:
        if ($text = $client->get_text($captcha['captcha'])) {
            echo "CAPTCHA {$captcha['captcha']} solved: {$text}\n";

            // Report an incorrectly solved CAPTCHA.
            // Make sure the CAPTCHA was in fact incorrectly solved!
            //$client->report($captcha['captcha']);
        }
    }
        

    # lemin
    import deathbycaptcha
    import json

    # Put your DBC account username and password here.
    username = "username"
    password = "password"

    # you can use authtoken instead of user/password combination
    # activate and get the authtoken from DBC users panel
    authtoken = "authtoken"

    # to use socket client
    # client = deathbycaptcha.SocketClient(username, password)

    # to use authtoken
    # client = deathbycaptcha.SocketClient(username, password, authtoken)

    client = deathbycaptcha.HttpClient(username, password)

    # Put the proxy and lemin data
    Captcha_dict = {
        'proxy': 'http://user:password@127.0.0.1:1234',
        'proxytype': 'HTTP',
        'captchaid': 'CROPPED_099216d_8ba061383fa24ef498115023aa7189d4',
        'pageurl': 'https://dashboard.leminnow.com/auth/signup'
    }

    # Create a json string
    json_Captcha = json.dumps(Captcha_dict)

    try:
        balance = client.get_balance()
        print(balance)

        # Put your CAPTCHA type and Json payload here:
        captcha = client.decode(type=14, lemin_params=json_Captcha)
        if captcha:
            # The CAPTCHA was solved; captcha["captcha"] item holds its
            # numeric ID, and captcha["text"] its text token solution.
            print("CAPTCHA %s solved: %s" % (captcha["captcha"], captcha["text"]))

            if '':  # check if the CAPTCHA was incorrectly solved
                client.report(captcha["captcha"])

    except deathbycaptcha.AccessDeniedException:
        # Access to DBC API denied, check your credentials and/or balance
        print("error: Access to DBC API denied, check your credentials and/or balance")

        

    import com.DeathByCaptcha.AccessDeniedException;
    import com.DeathByCaptcha.Client;
    import com.DeathByCaptcha.HttpClient;
    import com.DeathByCaptcha.SocketClient;
    import com.DeathByCaptcha.Captcha;
    import org.json.JSONObject;

    import java.io.IOException;

    class ExampleLemin {
        public static void main(String[] args)
                throws Exception {

            // Put your DBC username & password or authtoken here:
            String username = "your_username_here";
            String password = "your_password_here";
            String authtoken = "your_authtoken_here";

            /* Death By Captcha Socket Client
               Client client = (Client) (new SocketClient(username, password));
               Death By Captcha http Client */
            Client client = (Client) (new HttpClient(username, password));
            client.isVerbose = true;

            /* Using authtoken
               Client client = (Client) new HttpClient(authtoken); */

            try {
                try {
                    System.out.println("Your balance is " + client.getBalance()
                                                          + " US cents");
                } catch (IOException e) {
                    System.out.println("Failed fetching balance: " + e.toString());
                    return;
                }

                Captcha captcha = null;
                try {
                    // Proxy and hcaptcha data
                    String proxy = "http://user:password@127.0.0.1:1234";
                    String proxytype = "http";
                    String captchaid = "CROPPED_099216d_8ba061383fa24ef498115023aa7189d4";
                    String pageurl = "https://dashboard.leminnow.com/auth/signup";
                    /* Upload a lemin cropped and poll for its status with 120 seconds timeout.
                       Put your proxy, proxy type, page captchaid, page url and solving
                       timeout (in seconds) 0 or nothing for the default timeout value. */
                    captcha = client.decode(14, proxy, proxytype, sitekey, pageurl);

                    //other method is to send a json with the parameters
                    /*
                    JSONObject json_params = new JSONObject();
                    json_params.put("proxy", proxy);
                    json_params.put("proxytype", proxytype);
                    json_params.put("captchaid", captchaid);
                    json_params.put("pageurl", pageurl);
                    captcha = client.decode(14, json_params);
                    */
                } catch (IOException e) {
                    System.out.println("Failed uploading CAPTCHA");
                    return;
                }
                if (null != captcha) {
                    System.out.println("CAPTCHA " + captcha.id + " solved: "
                                                               + captcha.text);

                    /* Report incorrectly solved CAPTCHA if necessary.
                       Make sure you've checked if the CAPTCHA was in fact incorrectly
                       solved, or else you might get banned as abuser. */
                    /*try {
                        if (client.report(captcha)) {
                            System.out.println("Reported as incorrectly solved");
                        } else {
                            System.out.println(
                                "Failed reporting incorrectly solved CAPTCHA");
                        }
                    } catch (IOException e) {
                        System.out.println(
                           "Failed reporting incorrectly solved CAPTCHA:" + e.toString());
                    }*/
                } else {
                    System.out.println("Failed solving CAPTCHA");
                }
            } catch (com.DeathByCaptcha.Exception e) {
                System.out.println(e);
            }


        }
    }

        

    // Lemin

    using System;
    using System.Collections;
    using DeathByCaptcha;

    namespace DBC_Examples.examples
    {
        public class LeminExample
        {
            public void Main()
            {
                // Put your DeathByCaptcha account username and password here.
                string username = "your username";
                string password = "your password";
                // string token_from_panel = "your-token-from-panel";

                /* Death By Captcha Socket Client
                   Client client = (Client) new SocketClient(username, password);
                   Death By Captcha http Client */
                Client client = (Client) new HttpClient(username, password);

                /* To use token authentication the first parameter must
                be "authtoken".
                Client client = (Client) new HttpClient("authtoken",
                                                        token_from_panel); */

                // Put your Proxy credentials and type here
                string proxy = "http://user:password@127.0.0.1:1234";
                string proxyType = "HTTP";
                string captchaid = "CROPPED_099216d_8ba061383fa24ef498115023aa7189d4";
                string pageurl = "https://dashboard.leminnow.com/auth/signup";

                string leminParams = "{\"proxy\": \"" + proxy + "\"," +
                                        "\"proxytype\": \"" + proxyType + "\"," +
                                        "\"captchaid\": \"" + captchaid + "\"," +
                                        "\"pageurl\": \"" + pageurl + "\"}";
                try
                {
                    double balance = client.GetBalance();

                    /* Upload a CAPTCHA and poll for its status. Put the lemin
                       Json payload, CAPTCHA type and desired solving timeout
                       (in seconds) here. If solved, you'll receive a
                       DeathByCaptcha.Captcha object. */
                    Captcha captcha = client.Decode(Client.DefaultTimeout,
                        new Hashtable()
                        {
                            {"type", 14},
                            {"lemin_params", leminParams}
                        });

                    if (null != captcha)
                    {
                        /* The CAPTCHA was solved; captcha.Id property holds
                        its numeric ID, and captcha.Text holds its text. */
                        Console.WriteLine("CAPTCHA {0} solved: {1}",
                            captcha.Id, captcha.Text);

    //                  if ( /* check if the CAPTCHA was incorrectly solved */)
    //                  {
    //                      client.Report(captcha);
    //                  }
                    }
                }
                catch (AccessDeniedException e)
                {
                    /* Access to DBC API denied,
                                check your credentials and/or balance */
                    Console.WriteLine("<<< catch : " + e.ToString());
                }
            }
        }
    }

        

    Imports DeathByCaptcha

    Public Class Lemin
        Sub Main(args As String())

            ' Put your DBC username & password or authtoken here:
            Dim username = "username"
            Dim password = "password"
            Dim token_from_panel = "your-token-from-panel"

            ' DBC Socket API client
            ' Dim client As New SocketClient(username, password)
            ' DBC HTTP API client
            Dim client As New HttpClient(username, password)

            ' To use token auth the first parameter must be "authtoken"
            ' Dim client As New HttpClient("authtoken", token_from_panel)

            ' Proxy and lemin data
            Dim proxy = "http://user:password@127.0.0.1:1234"
            Dim proxyType = "HTTP"
            Dim captchaid = "CROPPED_099216d_8ba061383fa24ef498115023aa7189d4"
            Dim pageurl = "https://dashboard.leminnow.com/auth/signup"

            Console.WriteLine(String.Format("Your balance is {0,2:f} US cents",
                                            client.Balance))

            ' Create a JSON with the extra data
            Dim hcaptchaParams = "{""proxy"": """ + proxy + """," +
                                 """proxytype"": """ + proxyType + """," +
                                 """captchaid"": """ + captchaid + """," +
                                 """pageurl"": """ + pageurl + """}"

            ' Create the payload with the type and the extra data
            Dim extraData As New Hashtable()
            extraData.Add("type", 14)
            extraData.Add("lemin_params", leminParams)

            ' Upload a CAPTCHA and poll for its status.  Put the Lemin
            ' Json payload, CAPTCHA type and desired solving timeout (in seconds)
            ' here. If solved, you'll receive a DeathByCaptcha.Captcha object.
            Dim captcha As Captcha = client.Decode(
                                    DeathByCaptcha.Client.DefaultTimeout, extraData)
            If captcha IsNot Nothing Then
                Console.WriteLine(String.Format("CAPTCHA {0:d} solved: {1}",
                                                captcha.Id, captcha.Text))

                ' Report an incorrectly solved CAPTCHA.
                ' Make sure the CAPTCHA was in fact incorrectly solved, do not
                ' just report it at random, or you might be banned as abuser.
                ' If client.Report(captcha) Then
                '    Console.WriteLine("Reported as incorrectly solved")
                ' Else
                '    Console.WriteLine("Failed reporting as incorrectly solved")
                ' End If
            End If
        End Sub
    End
        

    /*
    * Death by Captcha Node.js API lemin usage example
    */

    const dbc = require('../deathbycaptcha');

    const username = 'username';     // DBC account username
    const password = 'password';     // DBC account password
    const token_from_panel = 'your-token-from-panel';   // DBC account authtoken

    // Proxy and lemin token data
    const hcaptcha_params = JSON.stringify({
        'proxy': 'http://username:password@proxy.example:3128',
        'proxytype': 'HTTP',
        'captchaid': 'CROPPED_099216d_8ba061383fa24ef498115023aa7189d4',
        'pageurl': 'https://dashboard.leminnow.com/auth/signup'
    });

    // Death By Captcha Socket Client
    // const client = new dbc.SocketClient(username, password);
    // Death By Captcha http Client
    const client = new dbc.HttpClient(username, password);

    // To use token authentication the first parameter must be "authtoken"
    // const client = new dbc.HttpClient("authtoken", token_from_panel);

    // Get user balance
    client.get_balance((balance) => {
        console.log(balance);
    });

    // Solve captcha with type 14 & lemin_params extra arguments
    client.decode({extra: {type: 14, lemin_params: lemin_params}},
       (captcha) => {

        if (captcha) {
            console.log('Captcha ' + captcha['captcha'] + ' solved: '
                                                    + captcha['text']);

            /*
            * Report an incorrectly solved CAPTCHA.
            * Make sure the CAPTCHA was in fact incorrectly solved!
            * client.report(captcha['captcha'], (result) => {
            *   console.log('Report status: ' + result);
            * });
            */
        }

    });
        

Status: OK

Os servidores estão totalmente operacionais com tempo de resposta mais rápido que a média.
  • Tempo médio de resolução
  • 2 segundos - Normal CAPTCHAs (1 min. atrás)
  • 25 segundos - reCAPTCHA V2, V3, etc (1 min. atrás)
  • 24 segundos - hCAPTCHA & outros (1 min. atrás)
Chrome and Firefox logos
Extensões do navegador disponíveis

Atualizações

  1. Feb 26: NEW TYPE ADDED - Now supporting Friendly CAPTCHA!! See the details at https://deathbycaptcha.com/api/friendly
  2. Nov 22: Now supporting Amazon WAF!! See the details at https://deathbycaptcha.com/api/amazonwaf
  3. Nov 01: Today our Socket API was affected by a technical issue for a few hours. It's now sorted and back to 100%, working optimally. We sincerely apologize for the inconvenience this may have caused you. If you were affected, please don't hesitate to contact us: https://deathbycaptcha.com/contact and we'll be happy to assist/compensate you!

  4. Atualizações anteriores…

Apoiar

Nosso sistema foi projetado para ser totalmente amigável e fácil de usar. Se você tiver algum problema com isso, basta enviar um e-mail paraE-mail de suporte técnico DBC com, e um agente de suporte entrará em contato com você o mais rápido possível.

Suporte ao vivo

Disponível de segunda a sexta-feira (10h às 16h EST) Live support image. Link to live support page