FlareBypasser is a service to bypass Cloudflare and DDoS-GUARD protection, work to solve the challenge after October 20, 2024.
FlareBypasser starts a server, and it waits for user requests. When some request arrives, it uses zendriver to create a web browser (Chrome). It opens the URL with user parameters and waits until the Cloudflare challenge is solved (or timeout). The cookies are sent back to the user, and those cookies can be used to bypass Cloudflare using other HTTP clients. FlareBypasser don't use intrusive methods (DOM change, including shadow-root mode change) and don't use driver specific abilities (shadow-root navigation), it search challenge position by image processing.
It is recommended to install using a Docker container because the project depends on an external browser that is already included within the image.
We provide a docker-compose.yml
configuration file. Clone this repository and execute
docker compose up -d
to start
the container.
Warning Installing as package only works for x64 architecture. For other architectures see Docker images.
- Install Python >=3.9.
- Install Chrome (all OS) or Chromium (just Linux, it doesn't work in Windows) web browser.
- (Only in Unix) Install Xvfb package:
sudo apt-get install xvfb
on Debian based Unix.
sudo yum install xorg-x11-server-Xvfb
on Linux based Unix. - (Only in macOS) Install XQuartz package.
- If you plan to use proxy with authorization : install gost.
- Run
pip install git+https://github.com/yoori/flare-bypasser.git
. - Run
flare_bypass_server
command to start FlareBypasser.
Warning Installing from source code only works for x64 architecture. For other architectures see Docker images.
- Install Python >=3.9.
- Install Chrome (all OS) or Chromium (just Linux, it doesn't work in Windows) web browser.
- (Only in Unix) Install Xvfb package:
sudo apt-get install xvfb
on Debian based Unix.
sudo yum install xorg-x11-server-Xvfb
on Linux based Unix. - (Only in macOS) Install XQuartz package.
- If you plan to use proxy with authorization : install gost.
- Clone this repository.
- Run
pip install .
(from project root). - Run
flare_bypass_server
command to start FlareBypasser.
Example Bash request:
curl -L -X POST 'http://localhost:8080/v1' \
-H 'Content-Type: application/json' \
--data-raw '{
"cmd": "request.get",
"url": "http://www.google.com/",
"maxTimeout": 60000
}'
Example Python request:
import requests
url = "http://localhost:8080/v1"
headers = {"Content-Type": "application/json"}
data = {
"cmd": "request.get",
"url": "http://www.google.com/",
"maxTimeout": 60000
}
response = requests.post(url, headers = headers, json = data)
print(response.text)
I recommend to use normalized rest API (path per command) - it more strict ... See /docs page after server start.
Return cookies after challenge solve.
Example response:
{
"status": "ok",
"message": "Challenge solved!",
"startTimestamp": 1729525047.104645,
"endTimestamp": 1729525057.075713,
"solution": {
"status": "ok",
"url": "https://torrentleech.pl/login.php?returnto=%2F",
"cookies": [
{"name":"cf_clearance","value":"OvR1ItQg.BERjqCP3x.jLvl0dwt3ryTkYB9ycvoYwPw-1729525048-1.2.1.1-XwfWOOILDSrghfgKcmTWMyaOzg0MX5uhIyRDb9j_E6fgSUCYWWgfgULsMV9OcAtJ74asicOvUgZdgD56k1ryPFh_nWxFdmc547LGkcokXUvtj5DxlIo5mqK1Wk7TgEOvj_Sz44_1Jzj41Qsfw57WIfu9wpDm6aTe0lMZ.8TP5maHGja5bgxtqRRW4gaNCQJpZiLmauclhZnIubERNGziatv_euMp_xXRZUjpOygGOzDyL7w3PeN0P2HTZTl8IIcGSOktE3ryRyyysWcoIlnLiBTcoGrjOM3Av6TrvYlDkqhrZwmsbKNrRpfjfaUDClz.w1_SbS0rMLLJ7isxqUdT92RhdWcPD6aANKOpoqdAu7povEGC8pghVMgo7vLu4CBm3nHlmgMSDQgOB6L2XiHMBuPJdMAq_wkfqcqITl1qfo8","port":null,"domain":".torrentleech.pl","path":"/","secure":true},
{"name":"PHPSESSID","value":"uk4uefb5p8njsjcbpea1plpl45","port":null,"domain":"torrentleech.pl","path":"/","secure":false}
],
"userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36",
"response": null
}
}
Returns cookies and page content (in response field) after challenge solve.
Send POST request (with using form). Need to pass postData parameter value.
In some cases you need to make some specific actions on page after challenge solving (click, fill form, ...). For this case you can implement own command over extension - see examples/custom_user_commands
If you would like to thank me, put a link to the sites of my partners: https://a.okaif.io (18+)