188 lines
5.0 KiB
Plaintext
188 lines
5.0 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: PyPasser
|
|
Version: 0.0.5
|
|
Summary: Bypassing reCaptcha V3 by sending HTTP requests & solving reCaptcha V2 using speech to text.
|
|
Home-page: https://github.com/xHossein/PyPasser
|
|
Author: xHossein
|
|
License: MIT
|
|
Keywords: Bypass reCaptcha V3,Bypass-reCaptcha-V3,Bypass reCaptcha,Bypass-reCaptcha,Bypass reCaptcha V2,Bypass-reCaptcha-V2,Solve-reCaptcha-V2,Google reCaptcha,Google-reCaptcha
|
|
Classifier: Development Status :: 4 - Beta
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
Classifier: Programming Language :: Python :: 3.7
|
|
Classifier: Programming Language :: Python :: 3.8
|
|
Requires-Python: >=3.7
|
|
Description-Content-Type: text/markdown
|
|
License-File: LICENSE
|
|
Requires-Dist: requests (<3.0,>=2.25.1)
|
|
Requires-Dist: PySocks (==1.7.1)
|
|
Requires-Dist: SpeechRecognition (==3.8.1)
|
|
Requires-Dist: pydub (==0.25.1)
|
|
Requires-Dist: selenium
|
|
|
|
# PyPasser
|
|
|
|
**PyPasser** is a Python library for bypassing reCaptchaV3 only by sending HTTP requests and solving reCaptchaV2 using speech-to-text engine.
|
|
|
|
🔴 reCaptchaV3 bypass does not work on all sites. Test on your target to find out.
|
|
|
|
🐍 Support Python >= 3.7
|
|
|
|
# Installation
|
|
|
|
### Install from PyPI
|
|
|
|
```
|
|
pip install PyPasser
|
|
```
|
|
|
|
### And for update
|
|
|
|
```
|
|
pip install PyPasser --upgrade
|
|
```
|
|
|
|
|
|
|
|
### Install from Github (latest repo code)
|
|
|
|
```
|
|
pip install git+https://github.com/xHossein/PyPasser@master
|
|
```
|
|
|
|
|
|
|
|
|
|
# Bypassing **reCaptchaV3**
|
|
|
|
To bypass recaptcha v3, first you must find anchor URL.
|
|
|
|
- Open inspect-element on your browser.
|
|
- Go to the web page that has reCaptcha V3 (not V2 invisible).
|
|
- In Network tab you should see many requests.
|
|
- Type `anchor` in text-field filter to hide unnecessary requests.
|
|
- Now you should see a url like this:
|
|
|
|
> ``https://www.google.com/recaptcha/api2/anchor?ar=1&k=6LfCVLAUAAAAFwwRnnCFW_J39&co=aHR....``
|
|
>
|
|
|
|
pass this url to `reCaptchaV3` class:
|
|
|
|
Note that the anchor urls also can have `/enterprise/anchor` instead of `/api2/anchor` in other sites.
|
|
|
|
|
|
|
|
```python
|
|
from pypasser import reCaptchaV3
|
|
|
|
reCaptcha_response = reCaptchaV3('ANCHOR URL')
|
|
## use this response in your request ...
|
|
```
|
|
|
|
Some good examples are [here](https://github.com/xHossein/PyPasser/tree/master/examples/reCaptchaV3).
|
|
|
|
|
|
|
|
### **Proxy**
|
|
|
|
```python
|
|
from pypasser import reCaptchaV3
|
|
from pypasser.structs import Proxy
|
|
|
|
## Using Proxy structure
|
|
proxy = Proxy(Proxy.type.HTTPs,'HOST','PORT')
|
|
|
|
## with authentication credentials
|
|
# proxy = Proxy(Proxy.type.HTTPs,'HOST','PORT','USERNAME', 'PASSWORD')
|
|
|
|
reCaptcha_response = reCaptchaV3('ANCHOR URL', proxy)
|
|
```
|
|
|
|
_also you can configure it as Dict._
|
|
|
|
```python
|
|
|
|
proxy = {"http": "http://HOST:PORT",
|
|
"https": "https://HOST:PORT"}
|
|
|
|
reCaptcha_response = reCaptchaV3('ANCHOR URL', proxy)
|
|
```
|
|
|
|
|
|
|
|
### **Timeout**
|
|
|
|
Default timeout is `20 seconds` but you can change the amount like this:
|
|
|
|
```python
|
|
from pypasser import reCaptchaV3
|
|
|
|
reCaptcha_response = reCaptchaV3('ANCHOR URL', timeout = 10)
|
|
```
|
|
|
|
|
|
|
|
# Bypassing **reCaptchaV2**
|
|
Before start using reCaptchaV2 solver, you must install the following requirements.
|
|
### **Requirements** :
|
|
- **PocketSphinx** (used as speech-to-text engine)
|
|
- **ffmpeg** (used for audio format conversion)
|
|
|
|
After installing requirements, you should pass your webdriver to reCaptchaV2 class then PyPasser tries to solve the reCaptcha V2 which is in current tab of browser.
|
|
```python
|
|
from pypasser import reCaptchaV2
|
|
|
|
# Create an instance of webdriver and open the page has recaptcha v2
|
|
# ...
|
|
|
|
# pass the driver to reCaptchaV2
|
|
is_checked = reCaptchaV2(driver_instance) # it returns bool
|
|
|
|
```
|
|
|
|
|
|
|
|
### **Arguments**
|
|
**driver**: An instance of webdriver.\
|
|
**Play**: Click on 'PLAY' button. [Default is True means it plays the audio].\
|
|
**Attempts**: Maximum solving attempts for a recaptcha. [Default is 3 times].
|
|
|
|
```python
|
|
is_checked = reCaptchaV2(
|
|
driver = driver_instance,
|
|
play = False,
|
|
attempts = 5
|
|
)
|
|
|
|
```
|
|
|
|
|
|
See an example [here](https://github.com/xHossein/PyPasser/blob/master/examples/reCaptchaV2/demo.py).
|
|
|
|
> Note that Google gonna blocks you if you try to solve many recaptcha via audio challenge. In this case PyPasser raises `IpBlock` exception.
|
|
|
|
|
|
|
|
# Exception
|
|
|
|
| Exception | Bypass | Description |
|
|
| ---------- | -------------- | --------------- |
|
|
| ConnectionError | reCaptchaV3 | Raised due to network connectivity-related issues. |
|
|
| RecaptchaTokenNotFound | reCaptchaV3 | Raised when couldn't find token due to wrong `anchor_url`. |
|
|
| RecaptchaResponseNotFound | reCaptchaV3 | Raised when couldn't find reCaptcha response due to using **PyPasser** for site that hasn't reCaptchaV3. |
|
|
| IpBlock | reCaptchaV2 | Raised due to solving many recaptcha via audio challenge. |
|
|
|
|
|
|
|
|
# Legal Disclaimer
|
|
|
|
This was made for educational purposes only, nobody which directly involved in this project is responsible for any damages caused.
|
|
**You are responsible for your actions.**
|
|
|
|
|
|
|
|
# License
|
|
|
|
[MIT](https://choosealicense.com/licenses/mit/)
|