cloakbrowser-fallback
Skill1 starsChanged 9 days agoMITView on GitHub
Stealth browser fallback using CloakBrowser (custom-compiled Chromium with C++ source-level fingerprint patches). Use when the built-in browser tool or Chrome DevTools fails due to bot detection, Cloudflare/Turnstile walls, reCAPTCHA, 403/429/"access denied"/"are you human" interstitials, or empty/ blocked responses. Also use when the user asks for "cloakbrowser", "stealth browser", or to bypass a block.
In this repository107 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/base.mdcCursor rule
- .cursor/rules/changelog.mdcCursor rule
- .cursor/rules/comments.mdcCursor rule
- .cursor/rules/release.mdcCursor rule
- .cursor/rules/seo-ai-search.mdcCursor rule
- .cursor/rules/testing.mdcCursor rule
- agent-readySkill
- authoring-skills-and-rulesSkill
- blinded-evalSkill
- deep-deliberationSkill
- design-rationaleSkill
- dissectSkill
- documentation-writerSkill
- everything-seoSkill
- executeSkill
- generating-app-verifySkill
- inceptionSkill
- kit-workflowsSkill
- marketing-psychologySkill
- media-genSkill
- nlm-skillSkill
- opinionSkill
- proving-change-safetySkill
- refreshing-app-verifySkill
- release-deploySkill
- seo-auditSkill
- startup-marketing-brainSkill
- subsystem-walkthroughSkill
- trlSkill
- unmatched-workflowSkill
- agent-readySkill
- authoring-skills-and-rulesSkill
- blinded-evalSkill
- cloakbrowser-fallbackSkill
- deep-deliberationSkill
- design-rationaleSkill
- dissectSkill
- documentation-writerSkill
- everything-seoSkill
- executeSkill
- generating-app-verifySkill
- inceptionSkill
- kit-workflowsSkill
- marketing-psychologySkill
- media-genSkill
- nlm-skillSkill
- opinionSkill
- proving-change-safetySkill
- refreshing-app-verifySkill
- release-deploySkill
- seo-auditSkill
- startup-marketing-brainSkill
- subsystem-walkthroughSkill
- trlSkill
- unmatched-workflowSkill
- agent-readySkill
- authoring-skills-and-rulesSkill
- blinded-evalSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
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 43
Prefer Python by default. Use JS when the target codebase/repo is JS/TS or the user asks for it.
- Distinctive: line 47
Use as a fallback only — try the built-in browser tool or Chrome DevTools MCP first.
- Very specific: line 52
Headless failover pattern: start headless. If a Turnstile managed challenge appears, re-run with --headed — it clears with one click after …
- Distinctive: line 59
Run the helper — it prints final URL, title, and page text, and saves a screenshot.
- Distinctive: line 121
Don't use this to defeat paywalls/auth or violate a site's terms — it's for reaching content blocked by overzealous bot detection during …
- Very specific: line 132
If a run fails with "binary not found", run python -m cloakbrowser install first.
≈ “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
CloakBrowser Fallback
Leading words: stealth browser, fallback, humanize, bot detection, Turnstile, headless failover, real Chromium binary.
Stealth Chromium for navigating sites that block ordinary automation. Drop-in Playwright API, but the browser is a custom-compiled Chromium binary, so detectors score it as a real human browser.
Already installed on this machine. Both languages share the same stealth binary at ~/.cloakbrowser/:
- Python (global):
pippackagecloakbrowser. - JS (self-contained in this skill's
scripts/): npmcloakbrowser+playwright-core.
Prefer Python by default. Use JS when the target codebase/repo is JS/TS or the user asks for it.
When to reach for this
Use as a fallback only — try the built-in browser tool or Chrome DevTools
MCP first. Escalate to CloakBrowser when any of the triggers in the
frontmatter when_to_use fire (403/429, Cloudflare/Turnstile/reCAPTCHA walls,
empty/blocked response, explicit user ask).
Headless failover pattern: start headless. If a Turnstile managed
challenge appears, re-run with --headed — it clears with one click after the
page settles. If an image CAPTCHA appears, stop and report to the user —
CloakBrowser does not solve image CAPTCHAs.
Quick start (one-shot fetch)
Run the helper — it prints final URL, title, and page text, and saves a screenshot.
Python:
python scripts/cloak_fetch.py "https://protected-site.com"JS (run from this skill's scripts/ dir so node_modules resolves):
node scripts/cloak_fetch.mjs "https://protected-site.com"Both accept the same flags:
--headed— show the window. Needed for Turnstile managed challenges (resolves with a single click).--screenshot path.png— where to save the screenshot (default:cloak_shot.png).--html path.html— also dump raw HTML.--wait 5000— extra ms to wait after load for JS challenges to clear.
Inline usage (when you need custom interaction)
Python (sync API):
from cloakbrowser import launch
browser = launch(headless=True, humanize=True) # humanize=True → human-like mouse/keyboard
page = browser.new_page()
page.goto("https://protected-site.com", wait_until="domcontentloaded")
page.wait_for_timeout(4000) # let JS challenges clear
print(page.title())
page.screenshot(path="cloak_shot.png", full_page=True)
html = page.content()
browser.close()JS (async API):
import { launch } from "cloakbrowser";
const browser = await launch({ headless: true, humanize: true });
const page = await browser.newPage();
await page.goto("https://protected-site.com", { waitUntil: "domcontentloaded" });
await page.waitForTimeout(4000);
console.log(await page.title());
await page.screenshot({ path: "cloak_shot.png", fullPage: true });
const html = await page.content();
await browser.close();Everything else is standard Playwright (click, fill, locator, etc.) — same API you already know.
Decision notes
- Turnstile non-interactive → works headless, auto-resolves.
- Turnstile managed → use
--headed; it clears with one click after the page settles (the headless-failover pattern from above). - CloakBrowser does not solve image CAPTCHAs and has no built-in proxy rotation. If a site demands an image CAPTCHA, report that to the user rather than looping.
- Don't use this to defeat paywalls/auth or violate a site's terms — it's for reaching content blocked by overzealous bot detection during legitimate work.
Verifying / maintaining the binary
python -m cloakbrowser info # version, path, platform
python -m cloakbrowser install # download binary if missing (~535 MB, one-time)
python -m cloakbrowser update # pull a newer stealth ChromiumIf a run fails with "binary not found", run python -m cloakbrowser install first.
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.

