AnticaptchaReCaptcha   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 94
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 1
lcom 1
cbo 2
dl 0
loc 94
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B init() 0 91 1
1
<?php
2
3
namespace jumper423\decaptcha\services;
4
5
/**
6
 * Class AnticaptchaReCaptcha.
7
 */
8
class AnticaptchaReCaptcha extends AnticaptchaReCaptchaProxeless
9
{
10
    public function init()
11
    {
12
        parent::init();
13
14
        $this->paramsNames[static::ACTION_FIELD_PROXYTYPE] = 'proxyType';
15
        $this->paramsNames[static::ACTION_FIELD_PROXY] = 'proxyAddress';
16
        $this->paramsNames[static::ACTION_FIELD_PROXYPORT] = 'proxyPort';
17
        $this->paramsNames[static::ACTION_FIELD_PROXYLOGIN] = 'proxyLogin';
18
        $this->paramsNames[static::ACTION_FIELD_PROXYPASS] = 'proxyPassword';
19
        $this->paramsNames[static::ACTION_FIELD_USERAGENT] = 'userAgent';
20
        $this->paramsNames[static::ACTION_FIELD_COOKIES] = 'cookies';
21
22
        $task = &$this->actions[static::ACTION_RECOGNIZE][static::ACTION_FIELDS][static::ACTION_FIELD_TASK][static::ACTION_FIELDS];
23
        $task[static::ACTION_FIELD_METHOD][static::PARAM_SLUG_DEFAULT] = 'NoCaptchaTask';
24
        $task[static::ACTION_FIELD_PROXYTYPE] = [
25
            static::PARAM_SLUG_REQUIRE => true,
26
            static::PARAM_SLUG_TYPE    => static::PARAM_FIELD_TYPE_STRING,
27
            static::PARAM_SLUG_ENUM    => [
28
                'http',
29
                'socks4',
30
                'socks5',
31
            ],
32
        ];
33
        $task[static::ACTION_FIELD_PROXY] = [
34
            static::PARAM_SLUG_REQUIRE => true,
35
            static::PARAM_SLUG_TYPE    => static::PARAM_FIELD_TYPE_STRING,
36
        ];
37
        $task[static::ACTION_FIELD_PROXYPORT] = [
38
            static::PARAM_SLUG_REQUIRE => true,
39
            static::PARAM_SLUG_TYPE    => static::PARAM_FIELD_TYPE_INTEGER,
40
        ];
41
        $task[static::ACTION_FIELD_PROXYLOGIN] = [
42
            static::PARAM_SLUG_TYPE => static::PARAM_FIELD_TYPE_STRING,
43
        ];
44
        $task[static::ACTION_FIELD_PROXYPASS] = [
45
            static::PARAM_SLUG_TYPE => static::PARAM_FIELD_TYPE_STRING,
46
        ];
47
        $task[static::ACTION_FIELD_USERAGENT] = [
48
            static::PARAM_SLUG_REQUIRE => true,
49
            static::PARAM_SLUG_TYPE    => static::PARAM_FIELD_TYPE_STRING,
50
        ];
51
        $task[static::ACTION_FIELD_COOKIES] = [
52
            static::PARAM_SLUG_TYPE => static::PARAM_FIELD_TYPE_STRING,
53
        ];
54
55
        $this->wiki->setText(['service', 'name'], [
56
            'ru' => 'AntiCaptcha ReCaptcha v2 без браузера (с прокси)',
57
            'en' => 'AntiCaptcha ReCaptcha v2 without a browser (with a proxy)',
58
        ]);
59
        $this->wiki->setText(['recognize', 'desc'], [
60
            'ru' => 'Вам не нужно эмулировать браузер и запускать яваскрипты.
61
            
62
Вы присылаете нам значение "sitekey".
63
64
Мы передаем вам "g-recaptcha-response" и вы просто делаете сабмит формы с этим параметром.
65
66
Объект содержит данные о задаче на решение рекапчи гугла в браузере на компьютере работника. Для обеспечения универсальности решения этого вида капчи нам необходимо использовать все данные, которые вы используете во время автоматизации заполнения формы на целевом сайте, включая прокси, user-agent браузера и cookies. Это позволит избежать любых проблем при изменении гуглом кода своей капчи.
67
68
Наша система решения выстроена таким образом, что браузер работника не получает данные о ваших прокси-серверах, cookies, и других данных. Все эти данные хранятся на нашем сервере и стираются после выполнения задания. Машина работника не имеет доступа к этим данным и взаимодействует исключительно с нашими серверами.
69
70
Перед выполнением задания система проверяет работоспособность вашего прокси-сервера и только после этого передает задачу работнику. Прокси должен обязательно обработать тестовый запрос в течение 5 секунд, иначе задача пометится ошибкой ERROR_PROXY_TIMEOUT и будет отменена.
71
72
Капча может решаться довольно долго по сравнению с обычной капчей, но это компенсируется тем, что полученный g-captcha-response действует еще 120 секунд после того, как работник решил капчу.',
73
            'en' => 'You don\'t need to emulate a browser and run the Java-scripts. 
74
            
75
You send us the value "sitekey". We give you "g-recaptcha-response" and you just make a submit form with this option. 
76
77
The object contains information about a task on the solution of the recaptcha of Google in the browser on the computer of the employee. To ensure the universality of solutions of this type of captcha, we need to use all the data you use automation to fill out a form on the trust website, including a proxy, the user-agent of browser and cookies. This will avoid any problems if you change the Google code to your captcha. 
78
79
Our system solutions are designed in such a way that the browser of the employee does not receive information about your proxy servers, cookies, and other data. All this data is stored on our server and are erased after the job. Machine employee does not have access to this data and communicates only with our servers. 
80
81
Before performing the task, the system checks the performance of your proxy server, and only then passes the task to the worker. Proxies must be sure to handle the probe request within 5 seconds, otherwise the problem of litter bug ERROR_PROXY_TIMEOUT and will be canceled.
82
83
Captcha can be solved for a long time compared with the usual CAPTCHA, but this is offset by the fact that the resulting g-captcha-response effect another 120 seconds after an employee has decided captcha.',
84
        ]);
85
        $this->wiki->setText(['constructor', 'data'], [
86
            static::ACTION_FIELD_KEY         => '94f39af4bb295c40546fba5c932e0d32',
87
            static::ACTION_FIELD_PROXYTYPE   => 'http',
88
            static::ACTION_FIELD_PROXY       => '88.45.12.43',
89
            static::ACTION_FIELD_PROXYPORT   => '8080',
90
            static::ACTION_FIELD_USERAGENT   => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
91
        ]);
92
        $this->wiki->setText(['recognize', 'data'], [
93
            static::ACTION_FIELD_GOOGLEKEY => '54as5c6a5s4ca4s56a4sc56a',
94
            static::ACTION_FIELD_PAGEURL   => 'http://site.com/recaptcha-ex',
95
        ]);
96
        $this->wiki->setText(['menu', 'from_service'], [
97
            Anticaptcha::class,
98
            AnticaptchaReCaptchaProxeless::class,
99
        ]);
100
    }
101
}
102