Anti-bot browser automation using Camoufox and Nodriver. Bypasses Cloudflare Turnstile, Datadome, and aggressive anti-bot on sites like Airbnb and Yelp. Use when standard Playwright/Selenium gets blocked.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install kesslerio-stealth-browser或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install kesslerio-stealth-browser⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/kesslerio-stealth-browser/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: stealth-browser description: Anti-bot browser automation using Camoufox and Nodriver. Bypasses Cloudflare Turnstile, Datadome, and aggressive anti-bot on sites like Airbnb and Yelp. Use when standard Playwright/Selenium gets blocked. metadata: openclaw: emoji: "🥷" requires: bins: ["distrobox"] env: [] ---
Anti-bot browser automation that bypasses Cloudflare Turnstile, Datadome, and aggressive fingerprinting.
playwright-stealth isn't working anymore| Target Difficulty | Tool | When to Use | |------------------|------|-------------| | Browser | Camoufox | All protected sites - Cloudflare, Datadome, Yelp, Airbnb | | API Only | curl_cffi | No browser needed, just TLS spoofing |
All scripts run in pybox distrobox for isolation.
⚠️ Use python3.14 explicitly - pybox may have multiple Python versions with different packages installed.
# Install tools in pybox (use python3.14)
distrobox-enter pybox -- python3.14 -m pip install camoufox curl_cffi
# Camoufox browser downloads automatically on first run (~700MB Firefox fork)
Browser (Camoufox):
distrobox-enter pybox -- python3.14 scripts/camoufox-fetch.py "https://example.com" --headless
API only (curl_cffi):
distrobox-enter pybox -- python3.14 scripts/curl-api.py "https://api.example.com/endpoint"
┌─────────────────────────────────────────────────────────┐
│ OpenClaw Agent │
├─────────────────────────────────────────────────────────┤
│ distrobox-enter pybox -- python3.14 scripts/xxx.py │
├─────────────────────────────────────────────────────────┤
│ pybox Container │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Camoufox │ │ curl_cffi │ │
│ │ (Firefox) │ │ (TLS spoof)│ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
Datacenter IPs (AWS, DigitalOcean) = INSTANT BLOCK on Airbnb/Yelp
You MUST use residential or mobile proxies:
# Example proxy config
proxy = "http://user:[email protected]:8080"
See references/proxy-setup.md for proxy configuration.
Sites like Airbnb/Yelp use behavioral analysis. To avoid detection:
⚠️ Old --headless flag is DETECTED. Options:
headless="new" (Chrome 109+)# Xvfb approach (Linux)
Xvfb :99 -screen 0 1920x1080x24 &
export DISPLAY=:99
python scripts/camoufox-fetch.py "https://example.com"
| Problem | Solution | |---------|----------| | "Access Denied" immediately | Use residential proxy | | Cloudflare challenge loops | Try Camoufox instead of Nodriver | | Browser crashes in pybox | Install missing deps: sudo dnf install gtk3 libXt | | TLS fingerprint blocked | Use curl_cffi with impersonate="chrome120" | | Turnstile checkbox appears | Add mouse movement, increase wait time | | ModuleNotFoundError: camoufox | Use python3.14 not python or python3 | | greenlet segfault (exit 139) | Python version mismatch - use python3.14 explicitly | | libstdc++.so.6 errors | NixOS lib path issue - use python3.14 in pybox |
The pybox container may have multiple Python versions with separate site-packages:
# Check which Python has camoufox
distrobox-enter pybox -- python3.14 -c "import camoufox; print('OK')"
# Wrong (may use different Python)
distrobox-enter pybox -- python3.14 scripts/camoufox-session.py ...
# Correct (explicit version)
distrobox-enter pybox -- python3.14 scripts/camoufox-session.py ...
If you get segfaults or import errors, always use python3.14 explicitly.
distrobox-enter pybox -- python3.14 scripts/camoufox-fetch.py \
"https://www.airbnb.com/rooms/12345" \
--headless --wait 10 \
--screenshot airbnb.png
distrobox-enter pybox -- python3.14 scripts/camoufox-fetch.py \
"https://www.yelp.com/biz/some-restaurant" \
--headless --wait 8 \
--output yelp.html
distrobox-enter pybox -- python3.14 scripts/curl-api.py \
"https://api.yelp.com/v3/businesses/search?term=coffee&location=SF" \
--headers '{"Authorization": "Bearer xxx"}'
Persistent sessions allow reusing authenticated state across runs without re-logging in.
# 1. Login interactively (headed browser opens)
distrobox-enter pybox -- python3.14 scripts/camoufox-session.py \
--profile airbnb --login "https://www.airbnb.com/account-settings"
# Complete login in browser, then press Enter to save session
# 2. Reuse session in headless mode
distrobox-enter pybox -- python3.14 scripts/camoufox-session.py \
--profile airbnb --headless "https://www.airbnb.com/trips"
# 3. Check session status
distrobox-enter pybox -- python3.14 scripts/camoufox-session.py \
--profile airbnb --status "https://www.airbnb.com"
| Flag | Description | |------|-------------| | --profile NAME | Named profile for session storage (required) | | --login | Interactive login mode - opens headed browser | | --headless | Use saved session in headless mode | | --status | Check if session appears valid | | --export-cookies FILE | Export cookies to JSON for backup | | --import-cookies FILE | Import cookies from JSON file |
~/.stealth-browser/profiles// 700, files 600_, - only (1-63 chars)The script detects session expiry using multiple signals:
/login, /signin, /authIf detected during --headless mode, you'll see:
🔒 Login wall signals: url-path, password-form
Re-run with --login to refresh the session.
Since --login requires a visible browser, you need display forwarding:
...
安装 Stealth Browser 后,可以对 AI 说这些话来触发它
Help me get started with Stealth Browser
Explains what Stealth Browser does, walks through the setup, and runs a quick demo based on your current project
Use Stealth Browser to anti-bot browser automation using Camoufox and Nodriver
Invokes Stealth Browser with the right parameters and returns the result directly in the conversation
What can I do with Stealth Browser in my marketing & growth workflow?
Lists the top use cases for Stealth Browser, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/kesslerio-stealth-browser/ 目录(个人级,所有项目可用),或 .claude/skills/kesslerio-stealth-browser/(项目级)。重启 AI 客户端后,用 /kesslerio-stealth-browser 主动调用,或让 AI 根据上下文自动发现并使用。
Stealth Browser 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Stealth Browser 可免费安装使用。请查阅仓库了解许可证信息。
Anti-bot browser automation using Camoufox and Nodriver. Bypasses Cloudflare Turnstile, Datadome, and aggressive anti-bot on sites like Airbnb and Yelp. Use when standard Playwright/Selenium gets blocked.
Stealth Browser 属于「Marketing & Growth」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my marketing & growth tasks using Stealth Browser
Identifies repetitive steps in your workflow and sets up Stealth Browser to handle them automatically