2captcha-python 2.0.0__tar.gz → 2.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (18) hide show
  1. {2captcha_python-2.0.0 → 2captcha_python-2.0.2/2captcha_python.egg-info}/PKG-INFO +75 -3
  2. 2captcha_python-2.0.0/README.md → 2captcha_python-2.0.2/PKG-INFO +105 -0
  3. 2captcha_python-2.0.0/2captcha_python.egg-info/PKG-INFO → 2captcha_python-2.0.2/README.md +72 -33
  4. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/setup.py +2 -2
  5. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/__init__.py +1 -1
  6. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/async_solver.py +120 -0
  7. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/solver.py +120 -0
  8. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/2captcha_python.egg-info/SOURCES.txt +0 -0
  9. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/2captcha_python.egg-info/dependency_links.txt +0 -0
  10. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/2captcha_python.egg-info/requires.txt +0 -0
  11. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/2captcha_python.egg-info/top_level.txt +0 -0
  12. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/LICENSE +0 -0
  13. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/setup.cfg +0 -0
  14. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/api.py +0 -0
  15. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/async_api.py +0 -0
  16. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/exceptions/__init__.py +0 -0
  17. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/exceptions/api.py +0 -0
  18. {2captcha_python-2.0.0 → 2captcha_python-2.0.2}/twocaptcha/exceptions/solver.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: 2captcha-python
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary: Python module for easy integration with 2Captcha API
5
5
  Home-page: https://github.com/2captcha/2captcha-python/
6
6
  Author: 2Captcha
7
7
  Author-email: info@2captcha.com
8
- Keywords: 2captcha,captcha,api,captcha solver,reCAPTCHA,FunCaptcha,Geetest,image captcha,Coordinates,Click Captcha,Geetest V4,Lemin captcha,Amazon WAF,Cloudflare Turnstile,Capy Puzzle,MTCaptcha,Friendly Captcha,Tencent,Cutcaptcha,DataDome,cybersiara
8
+ Keywords: 2captcha,captcha,api,captcha solver,reCAPTCHA,FunCaptcha,Geetest,image captcha,Coordinates,Click Captcha,Geetest V4,Lemin captcha,Amazon WAF,Cloudflare Turnstile,Capy Puzzle,MTCaptcha,Friendly Captcha,Tencent,Cutcaptcha,DataDome,VK Captcha,CaptchaFox,Prosopo,cybersiara
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Operating System :: OS Independent
@@ -13,7 +13,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
13
13
  Classifier: Topic :: Scientific/Engineering :: Image Recognition
14
14
  Classifier: Topic :: Utilities
15
15
  Classifier: Intended Audience :: Developers
16
- Requires-Python: >=3.6
16
+ Requires-Python: >=3.8
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENSE
19
19
  Requires-Dist: requests
@@ -75,6 +75,11 @@ Examples of API requests for different captcha types are available on the [Pytho
75
75
  - [Cutcaptcha](#cutcaptcha)
76
76
  - [Tencent](#tencent)
77
77
  - [DataDome](#datadome)
78
+ - [VKImage](#vkimage)
79
+ - [VKCaptcha](#vkcaptcha)
80
+ - [CaptchaFox](#captchafox)
81
+ - [Prosopo](#prosopo)
82
+ - [Temu](#temu)
78
83
  - [CyberSiARA](#cybersiara)
79
84
  - [Other methods](#other-methods)
80
85
  - [send / get\_result](#send--get_result)
@@ -473,6 +478,73 @@ result = solver.datadome(captcha_url="https://geo.captcha-delivery.com/captcha/?
473
478
  param1=..., ...)
474
479
  ```
475
480
 
481
+ ### VKImage
482
+
483
+ <sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
484
+
485
+ This method can be used to solve VK captcha using graphical captcha. Returns the number of steps and solution value in the target site's API format.
486
+
487
+ ```python
488
+ result = solver.vkimage('path/to/captcha.jpg', steps='[5,4,7,7,14,22,8,...]', ...)
489
+ ```
490
+
491
+ ### VKCaptcha
492
+
493
+ <sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
494
+
495
+ This method can be used to solve VK Captcha using a token. Returns a token.
496
+
497
+ > [!IMPORTANT]
498
+ > To solve the VK Captcha, you must use a proxy. It is recommended to use [residential proxies].
499
+
500
+ ```python
501
+ result = solver.vkcaptcha(redirect_uri='https://id.vk.ru/...',
502
+ userAgent='Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36..',
503
+ proxy={
504
+ 'type': 'HTTP',
505
+ 'uri': 'login:password@IP_address:PORT'}
506
+ )
507
+ ```
508
+
509
+ ### CaptchaFox
510
+
511
+ <sup>[API method description.](https://2captcha.com/2captcha-api#captchafox)</sup>
512
+
513
+ This method can be used to solve CaptchaFox using a token. Returns a token.
514
+
515
+ ```python
516
+ result = solver.captchafox(sitekey='sk_ILKWNruBBVKDOM7dZs59KHnDLEWiH',
517
+ pageurl='https://mysite.com/page/with/captchafox',
518
+ userAgent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
519
+ proxy={'type': 'HTTPS',
520
+ 'uri': 'login:password@IP_address:PORT'})
521
+ ```
522
+
523
+ ### Prosopo
524
+
525
+ <sup>[API method description.](https://2captcha.com/2captcha-api#prosopo-procaptcha)</sup>
526
+
527
+ This method can be used to solve Prosopo captcha using a token. Returns a token.
528
+
529
+ ```python
530
+ result = solver.prosopo(sitekey='5EZVvsHMrKCFKp5NYNoTyDjTjetoVo1Z4UNNb1DkVLS0JbqR',
531
+ pageurl='https://mysite.com/page/with/prosopo'
532
+ )
533
+ ```
534
+
535
+ ### Temu
536
+
537
+ <sup>[API method description.](https://2captcha.com/ru/2captcha-api#temucaptcha)</sup>
538
+
539
+ This method can be used to solve Temu captcha. Returns a coordinates.
540
+
541
+ ```python
542
+ result = solver.temu(body="data:image/png;base64,iVBORw0KG...",
543
+ part1="data:image/png;base64,iVBORw0KG...",
544
+ part2="data:image/png;base64,iVBORw0KG...",
545
+ part3="data:image/png;base64,iVBORw0KG...")
546
+ ```
547
+
476
548
  ### CyberSiARA
477
549
 
478
550
  <sup>[API method description.](https://2captcha.com/2captcha-api#cybersiara)</sup>
@@ -1,3 +1,36 @@
1
+ Metadata-Version: 2.4
2
+ Name: 2captcha-python
3
+ Version: 2.0.2
4
+ Summary: Python module for easy integration with 2Captcha API
5
+ Home-page: https://github.com/2captcha/2captcha-python/
6
+ Author: 2Captcha
7
+ Author-email: info@2captcha.com
8
+ Keywords: 2captcha,captcha,api,captcha solver,reCAPTCHA,FunCaptcha,Geetest,image captcha,Coordinates,Click Captcha,Geetest V4,Lemin captcha,Amazon WAF,Cloudflare Turnstile,Capy Puzzle,MTCaptcha,Friendly Captcha,Tencent,Cutcaptcha,DataDome,VK Captcha,CaptchaFox,Prosopo,cybersiara
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
13
+ Classifier: Topic :: Scientific/Engineering :: Image Recognition
14
+ Classifier: Topic :: Utilities
15
+ Classifier: Intended Audience :: Developers
16
+ Requires-Python: >=3.8
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: requests
20
+ Requires-Dist: httpx
21
+ Requires-Dist: aiofiles
22
+ Dynamic: author
23
+ Dynamic: author-email
24
+ Dynamic: classifier
25
+ Dynamic: description
26
+ Dynamic: description-content-type
27
+ Dynamic: home-page
28
+ Dynamic: keywords
29
+ Dynamic: license-file
30
+ Dynamic: requires-dist
31
+ Dynamic: requires-python
32
+ Dynamic: summary
33
+
1
34
  <a href="https://github.com/2captcha/2captcha-python"><img src="https://github.com/user-attachments/assets/a737d428-5233-4605-9d09-211fa213d069" width="82" height="30"></a>
2
35
  <a href="https://github.com/2captcha/2captcha-javascript"><img src="https://github.com/user-attachments/assets/4d3b4541-34b2-4ed2-a687-d694ce67e5a6" width="36" height="30"></a>
3
36
  <a href="https://github.com/2captcha/2captcha-go"><img src="https://github.com/user-attachments/assets/ab22182e-6cb2-41fa-91f4-d5e89c6d7c6f" width="63" height="30"></a>
@@ -42,6 +75,11 @@ Examples of API requests for different captcha types are available on the [Pytho
42
75
  - [Cutcaptcha](#cutcaptcha)
43
76
  - [Tencent](#tencent)
44
77
  - [DataDome](#datadome)
78
+ - [VKImage](#vkimage)
79
+ - [VKCaptcha](#vkcaptcha)
80
+ - [CaptchaFox](#captchafox)
81
+ - [Prosopo](#prosopo)
82
+ - [Temu](#temu)
45
83
  - [CyberSiARA](#cybersiara)
46
84
  - [Other methods](#other-methods)
47
85
  - [send / get\_result](#send--get_result)
@@ -440,6 +478,73 @@ result = solver.datadome(captcha_url="https://geo.captcha-delivery.com/captcha/?
440
478
  param1=..., ...)
441
479
  ```
442
480
 
481
+ ### VKImage
482
+
483
+ <sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
484
+
485
+ This method can be used to solve VK captcha using graphical captcha. Returns the number of steps and solution value in the target site's API format.
486
+
487
+ ```python
488
+ result = solver.vkimage('path/to/captcha.jpg', steps='[5,4,7,7,14,22,8,...]', ...)
489
+ ```
490
+
491
+ ### VKCaptcha
492
+
493
+ <sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
494
+
495
+ This method can be used to solve VK Captcha using a token. Returns a token.
496
+
497
+ > [!IMPORTANT]
498
+ > To solve the VK Captcha, you must use a proxy. It is recommended to use [residential proxies].
499
+
500
+ ```python
501
+ result = solver.vkcaptcha(redirect_uri='https://id.vk.ru/...',
502
+ userAgent='Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36..',
503
+ proxy={
504
+ 'type': 'HTTP',
505
+ 'uri': 'login:password@IP_address:PORT'}
506
+ )
507
+ ```
508
+
509
+ ### CaptchaFox
510
+
511
+ <sup>[API method description.](https://2captcha.com/2captcha-api#captchafox)</sup>
512
+
513
+ This method can be used to solve CaptchaFox using a token. Returns a token.
514
+
515
+ ```python
516
+ result = solver.captchafox(sitekey='sk_ILKWNruBBVKDOM7dZs59KHnDLEWiH',
517
+ pageurl='https://mysite.com/page/with/captchafox',
518
+ userAgent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
519
+ proxy={'type': 'HTTPS',
520
+ 'uri': 'login:password@IP_address:PORT'})
521
+ ```
522
+
523
+ ### Prosopo
524
+
525
+ <sup>[API method description.](https://2captcha.com/2captcha-api#prosopo-procaptcha)</sup>
526
+
527
+ This method can be used to solve Prosopo captcha using a token. Returns a token.
528
+
529
+ ```python
530
+ result = solver.prosopo(sitekey='5EZVvsHMrKCFKp5NYNoTyDjTjetoVo1Z4UNNb1DkVLS0JbqR',
531
+ pageurl='https://mysite.com/page/with/prosopo'
532
+ )
533
+ ```
534
+
535
+ ### Temu
536
+
537
+ <sup>[API method description.](https://2captcha.com/ru/2captcha-api#temucaptcha)</sup>
538
+
539
+ This method can be used to solve Temu captcha. Returns a coordinates.
540
+
541
+ ```python
542
+ result = solver.temu(body="data:image/png;base64,iVBORw0KG...",
543
+ part1="data:image/png;base64,iVBORw0KG...",
544
+ part2="data:image/png;base64,iVBORw0KG...",
545
+ part3="data:image/png;base64,iVBORw0KG...")
546
+ ```
547
+
443
548
  ### CyberSiARA
444
549
 
445
550
  <sup>[API method description.](https://2captcha.com/2captcha-api#cybersiara)</sup>
@@ -1,36 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: 2captcha-python
3
- Version: 2.0.0
4
- Summary: Python module for easy integration with 2Captcha API
5
- Home-page: https://github.com/2captcha/2captcha-python/
6
- Author: 2Captcha
7
- Author-email: info@2captcha.com
8
- Keywords: 2captcha,captcha,api,captcha solver,reCAPTCHA,FunCaptcha,Geetest,image captcha,Coordinates,Click Captcha,Geetest V4,Lemin captcha,Amazon WAF,Cloudflare Turnstile,Capy Puzzle,MTCaptcha,Friendly Captcha,Tencent,Cutcaptcha,DataDome,cybersiara
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Operating System :: OS Independent
12
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
13
- Classifier: Topic :: Scientific/Engineering :: Image Recognition
14
- Classifier: Topic :: Utilities
15
- Classifier: Intended Audience :: Developers
16
- Requires-Python: >=3.6
17
- Description-Content-Type: text/markdown
18
- License-File: LICENSE
19
- Requires-Dist: requests
20
- Requires-Dist: httpx
21
- Requires-Dist: aiofiles
22
- Dynamic: author
23
- Dynamic: author-email
24
- Dynamic: classifier
25
- Dynamic: description
26
- Dynamic: description-content-type
27
- Dynamic: home-page
28
- Dynamic: keywords
29
- Dynamic: license-file
30
- Dynamic: requires-dist
31
- Dynamic: requires-python
32
- Dynamic: summary
33
-
34
1
  <a href="https://github.com/2captcha/2captcha-python"><img src="https://github.com/user-attachments/assets/a737d428-5233-4605-9d09-211fa213d069" width="82" height="30"></a>
35
2
  <a href="https://github.com/2captcha/2captcha-javascript"><img src="https://github.com/user-attachments/assets/4d3b4541-34b2-4ed2-a687-d694ce67e5a6" width="36" height="30"></a>
36
3
  <a href="https://github.com/2captcha/2captcha-go"><img src="https://github.com/user-attachments/assets/ab22182e-6cb2-41fa-91f4-d5e89c6d7c6f" width="63" height="30"></a>
@@ -75,6 +42,11 @@ Examples of API requests for different captcha types are available on the [Pytho
75
42
  - [Cutcaptcha](#cutcaptcha)
76
43
  - [Tencent](#tencent)
77
44
  - [DataDome](#datadome)
45
+ - [VKImage](#vkimage)
46
+ - [VKCaptcha](#vkcaptcha)
47
+ - [CaptchaFox](#captchafox)
48
+ - [Prosopo](#prosopo)
49
+ - [Temu](#temu)
78
50
  - [CyberSiARA](#cybersiara)
79
51
  - [Other methods](#other-methods)
80
52
  - [send / get\_result](#send--get_result)
@@ -473,6 +445,73 @@ result = solver.datadome(captcha_url="https://geo.captcha-delivery.com/captcha/?
473
445
  param1=..., ...)
474
446
  ```
475
447
 
448
+ ### VKImage
449
+
450
+ <sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
451
+
452
+ This method can be used to solve VK captcha using graphical captcha. Returns the number of steps and solution value in the target site's API format.
453
+
454
+ ```python
455
+ result = solver.vkimage('path/to/captcha.jpg', steps='[5,4,7,7,14,22,8,...]', ...)
456
+ ```
457
+
458
+ ### VKCaptcha
459
+
460
+ <sup>[API method description.](https://2captcha.com/2captcha-api#vkcaptcha)</sup>
461
+
462
+ This method can be used to solve VK Captcha using a token. Returns a token.
463
+
464
+ > [!IMPORTANT]
465
+ > To solve the VK Captcha, you must use a proxy. It is recommended to use [residential proxies].
466
+
467
+ ```python
468
+ result = solver.vkcaptcha(redirect_uri='https://id.vk.ru/...',
469
+ userAgent='Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36..',
470
+ proxy={
471
+ 'type': 'HTTP',
472
+ 'uri': 'login:password@IP_address:PORT'}
473
+ )
474
+ ```
475
+
476
+ ### CaptchaFox
477
+
478
+ <sup>[API method description.](https://2captcha.com/2captcha-api#captchafox)</sup>
479
+
480
+ This method can be used to solve CaptchaFox using a token. Returns a token.
481
+
482
+ ```python
483
+ result = solver.captchafox(sitekey='sk_ILKWNruBBVKDOM7dZs59KHnDLEWiH',
484
+ pageurl='https://mysite.com/page/with/captchafox',
485
+ userAgent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
486
+ proxy={'type': 'HTTPS',
487
+ 'uri': 'login:password@IP_address:PORT'})
488
+ ```
489
+
490
+ ### Prosopo
491
+
492
+ <sup>[API method description.](https://2captcha.com/2captcha-api#prosopo-procaptcha)</sup>
493
+
494
+ This method can be used to solve Prosopo captcha using a token. Returns a token.
495
+
496
+ ```python
497
+ result = solver.prosopo(sitekey='5EZVvsHMrKCFKp5NYNoTyDjTjetoVo1Z4UNNb1DkVLS0JbqR',
498
+ pageurl='https://mysite.com/page/with/prosopo'
499
+ )
500
+ ```
501
+
502
+ ### Temu
503
+
504
+ <sup>[API method description.](https://2captcha.com/ru/2captcha-api#temucaptcha)</sup>
505
+
506
+ This method can be used to solve Temu captcha. Returns a coordinates.
507
+
508
+ ```python
509
+ result = solver.temu(body="data:image/png;base64,iVBORw0KG...",
510
+ part1="data:image/png;base64,iVBORw0KG...",
511
+ part2="data:image/png;base64,iVBORw0KG...",
512
+ part3="data:image/png;base64,iVBORw0KG...")
513
+ ```
514
+
476
515
  ### CyberSiARA
477
516
 
478
517
  <sup>[API method description.](https://2captcha.com/2captcha-api#cybersiara)</sup>
@@ -36,6 +36,6 @@ setup(name='2captcha-python',
36
36
  '2captcha', 'captcha', 'api', 'captcha solver', 'reCAPTCHA',
37
37
  'FunCaptcha', 'Geetest', 'image captcha', 'Coordinates', 'Click Captcha',
38
38
  'Geetest V4', 'Lemin captcha', 'Amazon WAF', 'Cloudflare Turnstile',
39
- 'Capy Puzzle', 'MTCaptcha', 'Friendly Captcha', 'Tencent', 'Cutcaptcha', 'DataDome', 'cybersiara'],
40
- python_requires='>=3.6',
39
+ 'Capy Puzzle', 'MTCaptcha', 'Friendly Captcha', 'Tencent', 'Cutcaptcha', 'DataDome', 'VK Captcha', 'CaptchaFox', 'Prosopo', 'cybersiara'],
40
+ python_requires='>=3.8',
41
41
  test_suite='tests')
@@ -17,4 +17,4 @@ support@2captcha.com
17
17
  """
18
18
 
19
19
  __author__ = '2captcha'
20
- __version__ = '2.0.0'
20
+ __version__ = '2.0.2'
@@ -800,6 +800,126 @@ class AsyncTwoCaptcha():
800
800
  **kwargs)
801
801
  return result
802
802
 
803
+ async def vkimage(self, files, steps, **kwargs):
804
+ '''Wrapper for solving vkimage captcha.
805
+
806
+ Parameters
807
+ __________
808
+ file : str
809
+ Captcha image as a file or base64.
810
+ steps: str
811
+ Array of steps.
812
+ proxy : dict, optional
813
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
814
+ '''
815
+
816
+ if isinstance(files, str):
817
+
818
+ payload = await self.get_method(files)
819
+ payload.pop('method', None)
820
+
821
+ result = await self.solve(method='vkimage', steps=steps, **payload, **kwargs)
822
+ return result
823
+
824
+ elif isinstance(files, dict):
825
+ files = list(files.values())
826
+
827
+ files = self.extract_files(files)
828
+
829
+ result = await self.solve(method='vkimage',
830
+ files=files,
831
+ steps=steps,
832
+ **kwargs)
833
+ return result
834
+
835
+ async def vkcaptcha(self, redirect_uri, userAgent, proxy, **kwargs):
836
+ '''Wrapper for solving VK captcha using tokens.
837
+
838
+ Parameters
839
+ __________
840
+ redirect_uri : str
841
+ The URL that is returned for requests to the captchas API.
842
+ userAgent : str
843
+ User-Agent of the browser that will be used by the employee when loading the captcha.
844
+ proxy : dict
845
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
846
+ '''
847
+
848
+
849
+ result = await self.solve(method='vkcaptcha',
850
+ redirect_uri=redirect_uri,
851
+ useragent=userAgent,
852
+ proxy=proxy,
853
+ **kwargs)
854
+ return result
855
+
856
+ async def captchafox(self, sitekey, pageurl, userAgent, proxy, **kwargs):
857
+ '''Wrapper for solving CaptchaFox using tokens.
858
+
859
+ Parameters
860
+ __________
861
+ sitekey : str
862
+ The sitekey parameter value found on the page or in network requests.
863
+ pageurl : str
864
+ Full URL of the page with captcha.
865
+ userAgent : str
866
+ User-Agent of the browser that will be used by the employee when loading the captcha.
867
+ proxy : dict
868
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
869
+ '''
870
+
871
+
872
+ result = await self.solve(method='captchafox',
873
+ sitekey=sitekey,
874
+ pageurl=pageurl,
875
+ useragent=userAgent,
876
+ proxy=proxy,
877
+ **kwargs)
878
+ return result
879
+
880
+ async def prosopo(self, sitekey, pageurl, **kwargs):
881
+ '''Wrapper for solving Prosopo captcha using tokens.
882
+
883
+ Parameters
884
+ __________
885
+ sitekey : str
886
+ The sitekey parameter value found on the page or in network requests.
887
+ pageurl : str
888
+ Full URL of the page with captcha.
889
+ proxy : dict, optional
890
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
891
+ '''
892
+
893
+
894
+ result = await self.solve(method='prosopo',
895
+ sitekey=sitekey,
896
+ pageurl=pageurl,
897
+ **kwargs)
898
+ return result
899
+
900
+ async def temu(self, body, part1, part2, part3, **kwargs):
901
+ '''Wrapper for solving Temu captcha .
902
+
903
+ Parameters
904
+ __________
905
+ body : str
906
+ Main captcha image as a base64 string.
907
+ part1 : str
908
+ Tile element as a base64 string.
909
+ part2 : str
910
+ Tile element as a base64 string.
911
+ part3 : str
912
+ Tile element as a base64 string.
913
+ '''
914
+
915
+ result = await self.solve(method='temuimage',
916
+ body=body,
917
+ part1=part1,
918
+ part2=part2,
919
+ part3=part3,
920
+ **kwargs)
921
+ return result
922
+
803
923
  async def datadome(self, captcha_url, pageurl, userAgent, proxy, **kwargs):
804
924
  """Wrapper for solving DataDome Captcha.
805
925
 
@@ -930,6 +930,126 @@ class TwoCaptcha():
930
930
  **kwargs)
931
931
  return result
932
932
 
933
+ def vkimage(self, files, steps, **kwargs):
934
+ '''Wrapper for solving vkimage captcha.
935
+
936
+ Parameters
937
+ __________
938
+ file : str
939
+ Captcha image as a file or base64.
940
+ steps: str
941
+ Array of steps.
942
+ proxy : dict, optional
943
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
944
+ '''
945
+
946
+ if isinstance(files, str):
947
+
948
+ payload = self.get_method(files)
949
+ payload.pop('method', None)
950
+
951
+ result = self.solve(method='vkimage', steps=steps, **payload, **kwargs)
952
+ return result
953
+
954
+ elif isinstance(files, dict):
955
+ files = list(files.values())
956
+
957
+ files = self.extract_files(files)
958
+
959
+ result = self.solve(method='vkimage',
960
+ files=files,
961
+ steps=steps,
962
+ **kwargs)
963
+ return result
964
+
965
+ def vkcaptcha(self, redirect_uri, userAgent, proxy, **kwargs):
966
+ '''Wrapper for solving VK captcha using tokens.
967
+
968
+ Parameters
969
+ __________
970
+ redirect_uri : str
971
+ The URL that is returned for requests to the captchas API.
972
+ userAgent : str
973
+ User-Agent of the browser that will be used by the employee when loading the captcha.
974
+ proxy : dict
975
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
976
+ '''
977
+
978
+
979
+ result = self.solve(method='vkcaptcha',
980
+ redirect_uri=redirect_uri,
981
+ useragent=userAgent,
982
+ proxy=proxy,
983
+ **kwargs)
984
+ return result
985
+
986
+ def captchafox(self, sitekey, pageurl, userAgent, proxy, **kwargs):
987
+ '''Wrapper for solving CaptchaFox using tokens.
988
+
989
+ Parameters
990
+ __________
991
+ sitekey : str
992
+ The sitekey parameter value found on the page or in network requests.
993
+ pageurl : str
994
+ Full URL of the page with captcha.
995
+ userAgent : str
996
+ User-Agent of the browser that will be used by the employee when loading the captcha.
997
+ proxy : dict
998
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
999
+ '''
1000
+
1001
+
1002
+ result = self.solve(method='captchafox',
1003
+ sitekey=sitekey,
1004
+ pageurl=pageurl,
1005
+ useragent=userAgent,
1006
+ proxy=proxy,
1007
+ **kwargs)
1008
+ return result
1009
+
1010
+ def prosopo(self, sitekey, pageurl, **kwargs):
1011
+ '''Wrapper for solving Prosopo captcha using tokens.
1012
+
1013
+ Parameters
1014
+ __________
1015
+ sitekey : str
1016
+ The sitekey parameter value found on the page or in network requests.
1017
+ pageurl : str
1018
+ Full URL of the page with captcha.
1019
+ proxy : dict, optional
1020
+ {'type': 'HTTPS', 'uri': 'login:password@IP_address:PORT'}.
1021
+ '''
1022
+
1023
+
1024
+ result = self.solve(method='prosopo',
1025
+ sitekey=sitekey,
1026
+ pageurl=pageurl,
1027
+ **kwargs)
1028
+ return result
1029
+
1030
+ def temu(self, body, part1, part2, part3, **kwargs):
1031
+ '''Wrapper for solving Temu captcha .
1032
+
1033
+ Parameters
1034
+ __________
1035
+ body : str
1036
+ Main captcha image as a base64 string.
1037
+ part1 : str
1038
+ Tile element as a base64 string.
1039
+ part2 : str
1040
+ Tile element as a base64 string.
1041
+ part3 : str
1042
+ Tile element as a base64 string.
1043
+ '''
1044
+
1045
+ result = self.solve(method='temuimage',
1046
+ body=body,
1047
+ part1=part1,
1048
+ part2=part2,
1049
+ part3=part3,
1050
+ **kwargs)
1051
+ return result
1052
+
933
1053
  def datadome(self, captcha_url, pageurl, userAgent, proxy, **kwargs):
934
1054
  """Wrapper for solving DataDome Captcha.
935
1055
 
File without changes