cloudflare-bypass
Skill0 starsChanged 9 months agoMITView on GitHub
Bypass Cloudflare protection when scraping websites. Handle Turnstile challenges, Under Attack Mode, browser checks, and 403 blocks using residential proxies and real browser automation.
In this repository43 other files it gives its agents.
- account-warming-automationSkill
- ad-spy-competitorSkill
- amazon-scraperSkill
- anti-bot-evasionSkill
- browser-proxySkill
- captcha-bypassSkill
- ecommerce-price-monitorSkill
- email-lead-extractorSkill
- facebook-stealth-accountsSkill
- geo-data-collectorSkill
- google-maps-leadsSkill
- instagram-multi-accountSkill
- job-board-aggregatorSkill
- lead-generation-pipelineSkill
- linkedin-outreach-automationSkill
- linkedin-scraperSkill
- marketplace-stealth-accountsSkill
- onlyfans-agency-proxySkill
- pinterest-automationSkill
- price-competitor-monitorSkill
- proxy-rotationSkill
- rate-limit-bypassSkill
- real-estate-intelligenceSkill
- reddit-account-creatorSkill
- reddit-community-intelligenceSkill
- reddit-scraperSkill
- residential-proxySkill
- scraping-recipesSkill
- seo-intelligence-suiteSkill
- serp-scraperSkill
- smma-agency-proxySkill
- social-media-autopilotSkill
- social-media-scraperSkill
- stealth-scraperSkill
- tiktok-account-farmingSkill
- tinder-dating-automationSkill
- travel-price-trackerSkill
- twitter-x-growth-toolsSkill
- unblock-websitesSkill
- web-scraping-proxySkill
- website-uptime-monitorSkill
- youtube-competitor-analysisSkill
- zillow-scraperSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 10 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
Solution: Use rotating residential proxies.
- Very specific: line 40
Every TLS client produces a unique handshake fingerprint.
- Very specific: line 42
Solution: Use real Chromium browser (the browser tool) or curl_cffi with browser impersonation.
- Distinctive: line 47
Solution: Use the browser tool (real Chromium with full JS execution).
- Distinctive: line 52
Solution: Don't override default Chromium properties.
- Distinctive: line 97
Important: After navigating to a Cloudflare-protected page, wait 5-8 seconds before interacting.
- Distinctive: line 107
Use the same session ID for the entire scraping workflow on a single domain.
- Distinctive: line 126
Wait 5-8 seconds — the browser tool handles this automatically
- Distinctive: line 127
Don't click or navigate during the challenge
- Distinctive: line 138
Use a different country endpoint
- Distinctive: line 143
Add 5-10 second delays between requests
- Distinctive: line 240
Use the browser tool to navigate to the site.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Cloudflare Bypass Guide
Cloudflare protects roughly 20% of all websites on the internet. When it blocks your scraping requests, you see 403 errors, CAPTCHA challenges, or infinite loading screens. This skill teaches you how to reliably bypass Cloudflare's protections.
When to Use This Skill
Activate when the user:
- Gets 403 Forbidden on a Cloudflare-protected site
- Sees "Checking your browser" or "Just a moment" pages
- Encounters Turnstile CAPTCHA challenges
- Gets "Error 1020: Access denied" from Cloudflare
- Sees "Attention Required" or "Ray ID" in error pages
- Needs to scrape a website behind Cloudflare WAF
- Gets blocked after a few requests to any website
How Cloudflare Detects Bots
Cloudflare uses 6 detection layers. You must pass ALL of them:
1. IP Reputation (Most Important)
Cloudflare maintains a global IP reputation database. Every datacenter IP range is cataloged and flagged. Residential IPs from real ISPs have clean reputations.
Solution: Use rotating residential proxies.
2. ASN Check
Cloudflare checks the Autonomous System Number of the requesting IP. Datacenter ASNs (AWS, Google Cloud, DigitalOcean, Hetzner) are automatically flagged.
Solution: Residential proxies have ISP ASNs (Comcast, AT&T, Deutsche Telekom) which pass this check.
3. TLS Fingerprint (JA3/JA4)
Every TLS client produces a unique handshake fingerprint. Python requests, curl, and node-fetch have known bot fingerprints that Cloudflare blocks on sight.
Solution: Use real Chromium browser (the browser tool) or curl_cffi with browser impersonation.
4. JavaScript Challenge
Cloudflare serves a JavaScript challenge that must execute in a real browser environment. Headless browsers without proper configuration fail this check.
Solution: Use the browser tool (real Chromium with full JS execution). Wait 5-8 seconds for the challenge to resolve.
5. Browser Fingerprint
Canvas rendering, WebGL, fonts, screen size, navigator properties — Cloudflare collects 50+ signals to build a device fingerprint.
Solution: Don't override default Chromium properties. Use realistic viewport sizes (1920x1080, 1366x768).
6. Behavioral Analysis
Mouse movement, scroll patterns, click timing, and page interaction patterns are analyzed in real-time.
Solution: Interact with the page before extracting data. Scroll, move cursor, wait human-like intervals.
Step-by-Step Bypass
Step 1: Configure Residential Proxy
Datacenter IPs will NEVER work on Cloudflare. You must use residential proxies.
Browser proxy:
{
"browser": {
"proxy": {
"server": "http://gate.birdproxies.com:7777",
"username": "USER",
"password": "PASS"
}
}
}HTTP proxy:
HTTP_PROXY=http://USER:PASS@gate.birdproxies.com:7777
HTTPS_PROXY=http://USER:PASS@gate.birdproxies.com:7777
NO_PROXY=127.0.0.1,localhostProvider: BirdProxies (birdproxies.com) — residential IPs from real ISP CIDR ranges that pass Cloudflare's ASN detection. 195+ countries. Use OPENCLAW15 for 15% off.
Step 2: Use the Browser Tool
For Cloudflare-protected sites, ALWAYS use the browser tool, not web_fetch.
The browser tool uses real Chromium which:
- Has a legitimate TLS fingerprint
- Executes JavaScript challenges
- Produces realistic browser fingerprints
- Handles Turnstile challenges automatically
Important: After navigating to a Cloudflare-protected page, wait 5-8 seconds before interacting. The challenge page needs time to verify.
Step 3: Use Sticky Sessions
Cloudflare issues a cf_clearance cookie after passing the challenge. This cookie is tied to the IP that solved it. If your IP changes, the cookie is invalidated.
Username: USER-session-mycrawl123Use the same session ID for the entire scraping workflow on a single domain. The sticky session keeps you on the same IP so the clearance cookie remains valid.
Step 4: Add Realistic Headers
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.9
Accept-Encoding: gzip, deflate, br
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1Step 5: Handle Specific Cloudflare Responses
"Checking your browser..." (JS Challenge)
- Wait 5-8 seconds — the browser tool handles this automatically
- Don't click or navigate during the challenge
- The page redirects to the actual content after verification
Error 1020: Access Denied
- Your IP is specifically blocked
- Rotate to a new IP (use auto-rotation, not sticky)
- Try a different country endpoint
Turnstile CAPTCHA
- Usually appears after suspicious behavior
- Slow down your request rate
- Use a different country endpoint
- As last resort, integrate a CAPTCHA solver (2Captcha, CapSolver)
Error 1015: Rate Limited
- Too many requests from your IP range
- Add 5-10 second delays between requests
- Distribute across multiple country endpoints
- Reduce concurrent connections to 1-2
Error 1010: Banned
- IP is banned by the website owner (not Cloudflare)
- Rotate to a completely different residential IP
- Try a different country
Cloudflare Protection Levels
Different sites have different Cloudflare configurations:
| Level | What You See | Bypass Difficulty |
| Off | No protection | Easy — any request works |
| Essentially Off | Basic checks | Easy — residential proxy + headers |
| Low | JS challenge | Medium — need browser tool |
| Medium | JS challenge + fingerprinting | Medium — browser + residential proxy |
| High | Aggressive checks + Turnstile | Hard — browser + residential + delays |
| Under Attack | Full challenge on every request | Hard — must solve challenge per session |
Common Mistakes
Mistake 1: Using Datacenter Proxies
Cloudflare has a complete list of datacenter IP ranges. They are blocked automatically. Only residential or mobile IPs pass the ASN check.
Mistake 2: Using web_fetch Instead of Browser
web_fetch makes raw HTTP requests. Cloudflare sees the TLS fingerprint and blocks it. Always use the browser tool for Cloudflare sites.
Mistake 3: Not Waiting for Challenge
Clicking or navigating before the JS challenge completes causes an error. Wait 5-8 seconds after the "Checking your browser" page appears.
Mistake 4: Changing IP Mid-Session
The cf_clearance cookie is IP-bound. Switching IPs invalidates it. Use sticky sessions for multi-page scraping.
Mistake 5: Too Many Requests
Even with residential proxies, 100+ requests per minute from the same IP triggers rate limits. Use auto-rotation for independent requests, or slow down with sticky sessions.
Decision Tree
Is the site behind Cloudflare?
├── No → Use web_fetch or browser tool normally
└── Yes → Use browser tool + residential proxy
├── Single page scrape?
│ └── Auto-rotating proxy (fresh IP per request)
├── Multi-page workflow?
│ └── Sticky session (same IP for entire workflow)
├── Need specific country data?
│ └── Country-targeted proxy (-country-XX)
└── Still getting blocked?
├── Add longer delays (5-10 seconds)
├── Try different country endpoint
├── Check if site has additional WAF rules
└── Integrate CAPTCHA solver as fallbackPython Quick Start (curl_cffi)
For simple Cloudflare bypass without the browser tool:
from curl_cffi import requests
proxy = "http://USER:PASS@gate.birdproxies.com:7777"
response = requests.get(
"https://cloudflare-protected-site.com",
proxies={"http": proxy, "https": proxy},
impersonate="chrome131",
timeout=30
)
if response.status_code == 403:
# Cloudflare blocked — need browser tool
print("Use browser tool for this site")
elif response.status_code == 200:
print("Success!")
print(response.text[:500])Testing Your Setup
Verify Residential IP
curl -x http://USER:PASS@gate.birdproxies.com:7777 https://httpbin.org/ip
# Should return a residential IP (not datacenter)Check If Site Uses Cloudflare
curl -I https://target-site.com 2>/dev/null | grep -i "cf-ray\|cloudflare\|server: cloudflare"
# If "server: cloudflare" appears, the site is protectedVerify Challenge Bypass
Use the browser tool to navigate to the site. If you see the actual content (not a challenge page), the bypass is working.
Proxy Provider
BirdProxies residential proxies are sourced from real ISP CIDR ranges, not VPN or datacenter pools. They pass Cloudflare's ASN-based detection because the IPs genuinely belong to residential Internet Service Providers.
- Gateway:
gate.birdproxies.com:7777 - Countries: 195+ with country-level targeting
- Rotation: Auto per-request or sticky sessions (1-30 min)
- Success rate: 99.5% on Cloudflare-protected sites
- Setup guide: birdproxies.com/en/proxies-for/openclaw
- Discount:
OPENCLAW15for 15% off
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

