Opt-in Playwright stealth wrapper for websites the user owns or is explicitly authorized to test. Use only when the user explicitly requests stealth or a documented bot-detection block prevents authorized automation; do not invoke for generic browsing or scraping. Not a CAPTCHA solver.
Browser
cloakbrowser-stealth
Try itStealth browser automation using CloakBrowser to bypass bot detection on protected sites. Use when web_fetch fails with anti-bot blocks, CAPTCHA, or access denied errors. Use for scraping reviews, protected pages, or any site that blocks standard Playwright/Puppeteer automation. Not for sites requiring login credentials or solving interactive CAPTCHAs.
What it does
Stealth browser automation using CloakBrowser to bypass bot detection on protected sites. Use when web_fetch fails with anti-bot blocks, CAPTCHA, or access denied errors. Use for scraping reviews, protected pages, or any site that blocks standard Playwright/Puppeteer automation. Not for sites requiring login credentials or solving interactive CAPTCHAs.
The skill document
CloakBrowser Stealth Fetch
Quick Start
Fetch content from a protected site:
cd ~/.openclaw/workspace/skills/cloakbrowser-stealth/scripts
python3 fetch.py "https://example.com" --wait-ms 3000
Common Patterns
Extract specific elements
python3 fetch.py "URL" --selector "[data-testid='review-title']" --output text
Full page with screenshot
python3 fetch.py "URL" --wait-ms 4000 --screenshot /tmp/page.png --output json
Humanize for aggressive detection
python3 fetch.py "URL" --humanize --wait-ms 5000
JSON output for structured processing
python3 fetch.py "URL" --output json | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['text'][:500])"
When It Works / When It Doesn't
Use CloakBrowser when:
web_fetchreturns 403, bot challenge, or empty body- Target uses standard fingerprint detection (WebDriver, plugins, WebGL)
- Reviews, public listings, non-login content
Don't use when:
- Site requires login (use session cookies instead)
- Interactive CAPTCHA (hCaptcha, reCAPTCHA v2 checkbox)
- IP-reputation blocks (use proxy, see references/config.md)
- Rate-limited after repeated requests
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success, content extracted |
| 1 | Anti-bot blocked (check output for "blocked: true") |
| 2 | Navigation timeout or error |
| 3 | Script/dependency error |
Script Reference
scripts/fetch.py— Unified fetch wrapper with anti-bot detection, element extraction, screenshot, JSON/text/html output
For full configuration options, proxy setup, and target site status: see references/config.md
Related skills
Anti-detection browsing with a real Firefox based Camoufox when Cloudflare, Datadome, or fingerprinting blocks the built-in browser tool. Node + Python entry points, session persistence, residential proxies, human-like input. Use for authorized access to sites that flag standard automation.
Thin OpenClaw and ClawHub wrapper for the published clawfetch npm CLI, used to fetch web pages, GitHub READMEs, and Reddit threads as markdown.
Spin up a cloaked Firefox browser via the Camofox server and OpenClaw plugin for agent tasks that need anti-detection browsing.
Check whether a Playwright, Puppeteer, Selenium or CDP-driven browser presents a coherent fingerprint, using liarjs as a library against a Page you already have - navigator.webdriver, HeadlessChrome tokens, worker versus main-thread identity, patched-API integrity, WebGL versus WebGPU GPU identity.
Docker-packaged browser automation for QA against anti-bot stacks and authorized detection testing.