Skip to main content

Purpose To make a cloudflare v2 challenge pass successfully, Can be use cf_clearance bypassed by cloudflare, However, with the cf_clearance, make sure you use the same IP and UA as when you got it.

Project description

cf-clearance

OSCS Status Package version Supported Python versions Docker Image versions

Purpose To make a cloudflare v2 challenge pass successfully, Can be use cf_clearance bypassed by cloudflare, However, with the cf_clearance, make sure you use the same IP and UA as when you got it.

Project Pass Challenge Status

Every day cron challenge

Warning

If you use chromium, Please use interface mode, You must add headless=False. If you use it on linux or docker, use XVFB.

If you use firefox you don't need interface mode and XVFB.

Challenge are not always successful. Please try more and handle exceptions.

Docker Usage

Recommended to install using Docker container on Ubuntu server.

DockerHub => https://hub.docker.com/r/vvanglro/cf-clearance

docker run -d --restart always --network host --name cf-clearance vvanglro/cf-clearance:latest \
--host 0.0.0.0 --port 8000 --workers 1
curl http://localhost:8000/challenge -H "Content-Type:application/json" -X POST \
-d '{"proxy": {"server": "socks5://localhost:7890"}, "timeout":20, "url": "https://nowsecure.nl"}'
import requests

proxy = "socks5://localhost:7890"
resp = requests.post(
    "http://localhost:8000/challenge",
    json={
        "proxy": {"server": proxy},
        "timeout": 20,
        "url": "https://nowsecure.nl",
        "pure": True,
        "browser": 2,
        "cookies": [
            {
                "url": "https://www.example.com",
                "name": "example-cookie",
                "value": "example-value",
            }
        ],
        "headers": {"example-ua": "example-ua-value"},
        "exec_js": "() => {return navigator.userAgent}",
    },
)
data = resp.json()
# In some cases, the cloudflare challenge will not be triggered,
# so when cf in the return parameter is true, it means that the challenge has been encountered.
if data.get("success") and data.get("cf"):
    ua = data.get("user_agent")
    exec_js_resp = data.get("exec_js_resp")
    cf_clearance_value = data.get("cookies").get("cf_clearance")
    # use cf_clearance, must be same IP and UA
    headers = {"user-agent": ua}
    cookies = {"cf_clearance": cf_clearance_value}
    res = requests.get(
        "https://nowsecure.nl", proxies={"all": proxy}, headers=headers, cookies=cookies
    )
    if "<title>Just a moment...</title>" not in res.text:
        print("cf challenge success")

Install

pip install cf-clearance

Usage

Please make sure it is the latest package. See example.

pip install --upgrade cf-clearance

or

pip install git+https://github.com/vvanglro/cf-clearance.git@main

Install Playwright Depends

playwright install chromium firefox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cf_clearance-0.31.0.tar.gz (12.9 kB view hashes)

Uploaded Source

Built Distribution

cf_clearance-0.31.0-py3-none-any.whl (14.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page