Metadata-Version: 2.1
Name: botright
Version: 0.5.1
Summary: Botright, the most advance undetected, fingerprint-changing, captcha-solving, open-source automation framework. Build on Playwright, its as easy to use as it is to extend your code. Solving your Captchas for free with AI.
Home-page: https://github.com/Vinyzu/Botright
Author: Vinyzu
License: GNU General Public License v3.0
Project-URL: Source, https://github.com/Vinyzu/Botright
Project-URL: Documentation, https://github.com/Vinyzu/Botright/blob/main/docs/index.rst
Project-URL: Tracker, https://github.com/Vinyzu/Botright/issues
Keywords: botright,playwright,browser,automation,recaptcha_challenger,recaptcha-solver,hcaptcha_challenger,hcaptcha-solver,geetest_challenger,geetest-solver
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: WWW/HTTP :: Browsers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: async_class
Requires-Dist: httpx>=0.24.1
Requires-Dist: playwright>=1.40.0
Requires-Dist: undetected-playwright-patch
Requires-Dist: pybrowsers>=0.5.2
Requires-Dist: chrome-fingerprints
Requires-Dist: numpy
Requires-Dist: hcaptcha_challenger>=0.10.1.post1
Requires-Dist: recognizer
Requires-Dist: setuptools
Requires-Dist: loguru
Provides-Extra: testing
Requires-Dist: pytest; extra == "testing"
Requires-Dist: mypy; extra == "testing"
Requires-Dist: flake8; extra == "testing"
Requires-Dist: black; extra == "testing"
Requires-Dist: isort; extra == "testing"

# Botright v0.5.1
![Tests & Linting](https://github.com/Vinyzu/botright/actions/workflows/tests.yml/badge.svg)
[![](https://img.shields.io/pypi/v/botright.svg?color=1182C3)](https://pypi.org/project/selenium-driverless/)
[![Downloads](https://static.pepy.tech/badge/botright)](https://pepy.tech/project/botright)

## Install it from PyPI

```bash
pip install botright
playwright install
```

---

## Usage

### Botright is currently only available in async mode.
### It is fully plugable with your existing playwright code. You only have to change your browser initialization!

```py
import asyncio

import botright


async def main():
    botright_client = await botright.Botright()
    browser = await botright_client.new_browser()
    page = await browser.new_page()

    # Continue by using the Page
    await page.goto("https://google.com")

    await botright_client.close()


if __name__ == "__main__":
    asyncio.run(main())
```

Read the [Documentation](https://github.com/Vinyzu/Botright/blob/main/docs/index.rst)

---

## Browser Stealth

Botright uses a vast amount of techniques to hide its functionality as a bot from websites.
To enhance stealth, since Version 0.3, it uses a real Chromium-based browser from the local machine to start up a botted browser.
For best stealth, you want to install [Ungoogled Chromium](https://ungoogled-software.github.io/ungoogled-chromium-binaries/).

Furthermore, it uses self-scraped [chrome-fingerprints](https://github.com/Vinyzu/chrome-fingerprints) to build up a fake browser fingerprint and to deceive website into thinking it is legit.


| Test                                                                                                | Status | Score                                                      |
|-----------------------------------------------------------------------------------------------------|--------|------------------------------------------------------------|
| **reCaptcha Score**                                                                                 | ✔️     | 0.9                                                        |
| => [nopecha.com](https://nopecha.com/demo/recaptcha#v3)                                             | ✔️     | 0.9                                                        |
| => [recaptcha-demo.appspot.com](https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php) | ✔️     | 0.9                                                        |
| => [berstend.github.io](https://berstend.github.io/static/recaptcha/v3-programmatic.html)           | ✔️     | 0.9                                                        |
| => [antcpt.com](https://antcpt.com/score_detector/)                                                 | ❌❓  | 0.1 (Detects Legitimate Browsers as Bad)                   |
| [**CreepJS**](https://abrahamjuliot.github.io/creepjs/)                                             | ✔️     | ~65.5% (With Canvas Manipulation 52%)                      |
| **DataDome**                                                                                        | ✔️     |                                                            |
| => [antoinevastel.com](https://antoinevastel.com/bots/datadome)                                     | ✔️     |                                                            |
| => [datadome.co](https://datadome.co/bot-tester/)                                                   | ✔️     |                                                            |
| **Imperva**                                                                                         | ✔️❓  | (Cant find approved Testing Sites)                         |
| => [ticketmaster.es](https://www.ticketmaster.es/)                                                  | ✔️     |                                                            |
| **Cloudflare**                                                                                      | ✔️     |                                                            |
| => [Turnstile](https://nopecha.com/demo/turnstile)                                                  | ✔️     | (Using Undetected-Playwright-Python)                       |
| => [Interstitial](https://nopecha.com/demo/cloudflare)                                              | ✔️     | (Using Undetected-Playwright-Python)                       |
| [**SannySoft**](https://bot.sannysoft.com/)                                                         | ✔️     |                                                            |
| [**Incolumitas**](https://bot.incolumitas.com/)                                                     | ✔️     | 0.8-1.0                                                    |
| [**Fingerprint.com**](https://fingerprint.com/products/bot-detection/)                              | ✔️     |                                                            |
| [**IpHey**](https://iphey.com/)                                                                     | ✔️     |                                                            |
| [**BrowserScan**](https://browserscan.net/)                                                         | ✔️     |                                                            |
| [**PixelScan**](https://pixelscan.net/)                                                             | ❓     | (Platform Test Outdated & Maybe caused by WebGL-disabling) |
| [**Bet365**](https://www.bet365.com/#/AC/B1/C1/D1002/E79147586/G40/)                                | ✔️     | Currently only using `mask_fingerprint=False`              |


---

## Captcha Solving

Botright is able to solve a wide viarity of Captchas.
For Documentation of these functions visit [BotrightDocumentation](https://github.com/Vinyzu/Botright/blob/main/docs/botright.rst).

It uses Computer Vision/Artificial Intelligence and other Methods to solve these Captchas.

You dont need to pay for any Captcha Solving APIs and you can solve Captchas with just one simple function call.

Here all Captchas supported as of now:

|             Captcha Type             | Supported |            Solved By            | Success Rate |
|:------------------------------------:|:---------:|:-------------------------------:|--------------|
|              `hCaptcha`              |    ✔️    |       hcaptcha-challenger       | up to 90%    |
|             `reCaptcha`              |    ✔️    |           reCognizer            | 50%-80%      |
| `geeTestv3` Currently Not Available! |
|         v3 Intelligent Mode          |    ✔️    |     botrights stealthiness      | 100%         |
|          v3 Slider Captcha           |    ✔️    |        cv2.matchTemplate        | 100%         |
|           v3 Nine Captcha            |    ✔️    |         CLIP Detection          | 50%          |
|           v3 Icon Captcha            |    ✔️    | cv2.matchTemplate / SSIM / CLIP | 70%          |
|           v3 Space Captcha           |    ❌    |          Not solvable           | 0%           |
| `geeTestv4` Currently Not Available! |
|         v4 Intelligent Mode          |    ✔️    |     botrights stealthiness      | 100%         |
|          v4 Slider Captcha           |    ✔️    |        cv2.matchTemplate        | 100%         |
|          v4 GoBang Captcha           |    ✔️    |        Math Calculations        | 100%         |
|           v4 Icon Captcha            |    ✔️    | cv2.matchTemplate / SSIM / CLIP | 60%          |
|         v4 IconCrush Captcha         |    ✔️    |        Math Calculations        | 100%         |

## Development

Read the [CONTRIBUTING.md](https://github.com/Vinyzu/Botright/blob/main/docs/CONTRIBUTING.md) file.

---

## Copyright and License
© [Vinyzu](https://github.com/Vinyzu/)

[GNU GPL](https://choosealicense.com/licenses/gpl-3.0/)

(Commercial Usage is allowed, but source, license and copyright has to made available. Botright does not provide and Liability or Warranty)

---

## Thanks to

[Kaliiiiiiiiii](https://github.com/kaliiiiiiiiii/) (For shared knowledge of Anti-Browser-Detection Measures)

[Kaliiiiiiiiii](https://github.com/kaliiiiiiiiii/) (For Main-Authoring [Undetected-Playwright](https://github.com/kaliiiiiiiiii/undetected-playwright-python) (Co-Authored by me) )

[QIN2DIM](https://github.com/QIN2DIM/) (For his great AI work)

[MaxAndolini](https://github.com/MaxAndolini) (For shared knowledge of hCaptcha bypassing)

[CreativeProxies](https://creativeproxies.com) (For sponsoring me with Proxies)

---

![Version](https://img.shields.io/badge/Botright-v0.5-blue)
![License](https://img.shields.io/badge/License-GNU%20GPL-green)
![Python](https://img.shields.io/badge/Python-v3.x-lightgrey)

[![my-discord](https://img.shields.io/badge/My_Discord-000?style=for-the-badge&logo=google-chat&logoColor=blue)](https://discordapp.com/users/935224495126487150)
[![buy-me-a-coffee](https://img.shields.io/badge/Buy_Me_A_Coffee-000?style=for-the-badge&logo=ko-fi&logoColor=brown)](https://ko-fi.com/vinyzu)
