TopGit
GitHub Repo Review

CloakBrowser: Anti-Detect Chromium for Undetectable Browsing

CloakHQ/CloakBrowser
CTopGit review image for CloakHQ/CloakBrowser
Review by Topgit.dev for CloakHQ/CloakBrowser, with GitHub repository stats and README context.
Quick verdict

CloakBrowser patches Chromium at the C++ source level with 73 fingerprint modifications compiled into the binary, passing Cloudflare Turnstile, FingerprintJS, and BrowserScan, and scoring 0.9 on reCAPTCHA v3. It is worth trying free for scraping or automating against anti-bot systems. The binary is proprietary.

Stars
★ 32.4k
Forks
⑂ 2.7k
Contributors
👥 19
Language
Python
License
MIT
Topic
Automation
Updated
Oct 2026
Homepage
GitHub

What is CloakBrowser?

CloakBrowser is a custom Chromium binary with 73 fingerprint patches applied at the C++ source level, distributed as a drop-in Playwright/Puppeteer replacement for Python and JavaScript. The README says it auto-downloads the right binary on first launch, and you can swap existing Playwright code with a 3-line import change. A `humanize=True` flag adds behavioral realism to mouse, keyboard, and scroll interactions. MIT license on the wrapper; binary is proprietary.

Key Features for Undetectable Browsing

  • ✓73 C++ source-level patches covering canvas, WebGL, audio, fonts, GPU, screen, WebRTC, network timing, and CDP input behavior
  • ✓Drop-in Playwright/Puppeteer replacement — swap the import, keep the rest of your code
  • ✓humanize=True flag for Bézier mouse curves, per-character typing, and realistic scroll patterns
  • ✓geoip=True auto-detects timezone and locale from proxy exit IP, including WebRTC IP spoofing
  • ✓reCAPTCHA v3 score of 0.9 (Pro/current build) versus 0.1 with stock Playwright — server-verified in the README's test table
  • ✓Auto-downloads the correct Chromium binary for your platform on first launch (~200MB, cached locally)
  • ✓Native SOCKS5 proxy support with UDP ASSOCIATE for QUIC/HTTP3 tunnels
  • ✓Widevine DRM support on Linux via sideloaded CDM, auto-enabled on first launch with launch_persistent_context()
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history ↗

Getting Started with CloakBrowser

Python: `pip install cloakbrowser`; Python with geoip: `pip install 'cloakbrowser[geoip]'`. JavaScript: `npm install cloakbrowser playwright-core` for Playwright integration, or `npm install cloakbrowser puppeteer-core` for Puppeteer. .NET: `dotnet add package CloakBrowser`. On first run the binary auto-downloads (~200MB) for your platform and is cached locally. A free key is available via `cloakbrowser login` or at cloakbrowser.dev/free with GitHub sign-in.

Automating with CloakBrowser: Python and JavaScript

Python — basic headless launch: python from cloakbrowser import launch browser = launch() page = browser.new_page() page.goto("https://example.com") browser.close() Python — with residential proxy and behavioral realism: python browser = launch( proxy="http://user:pass@residential-proxy:port", geoip=True, humanize=True, headless=False, ) JavaScript — same pattern: javascript import { launch } from 'cloakbrowser'; const browser = await launch({ proxy: 'http://user:pass@proxy:port', geoip: true, humanize: true, });

Strengths

  • ✓Source-level patches survive Chrome updates — the README says patches are rebased onto new Chromium versions rather than being rewrittten from scratch
  • ✓Proven against 30+ live detection services including Cloudflare Turnstile and FingerprintJS per the README's test table
  • ✓Zero learning curve for Playwright users — same API, same methods, just a different binary underneath
  • ✓humanize flag handles behavioral detection without custom scripting
  • ✓geoip auto-matches timezone, locale, and WebRTC IP to your proxy exit location
  • ✓Free tier gives access to the latest build — not stuck on the v146 binary from GitHub Releases

Important Considerations and Limitations

  • △The stealth Chromium binary itself is proprietary — only the Python/JS wrapper is MIT licensed. You are running closed-source software in your automation pipeline
  • △Anti-bot systems evolve weekly — the README explicitly states an older binary quietly degrades. Staying current requires a paid Pro plan for production use, or manual re-testing on free
  • △No CAPTCHA solving built in — it prevents CAPTCHAs from appearing by passing as human, but sites can still present them and CloakBrowser won't resolve them
  • △Binary auto-download is a supply chain step — CloakBrowser verifies downloads with an Ed25519 signature against pinned checksums, but the trust model depends on their infrastructure
  • △Docker image requires an environment variable flag for Widevine CDM fetching — not a one-liner out of the box for DRM video use cases
  • △Windows native GPU passthrough means GPU-specific fingerprint variations may differ from Linux, potentially affecting detection consistency across platforms

CloakBrowser vs. Other Stealth Solutions

playwright-stealth — npm package that injects JavaScript overrides into Playwright. Easier to audit and modify, but the README explicitly says JS injection breaks often on Chrome updates and detection sites catch the patches themselvesundetected-chromedriver — patches Chrome configuration files rather than injecting JavaScript. Works with Selenium but not with Playwright; the README says it is stale and breaks often on updatespuppeteer-extra with stealth plugin — another JS injection approach for Puppeteer users. Same fragility as playwright-stealth when Chrome ships updates

Frequently Asked Questions

How does CloakBrowser bypass bot detection systems?

CloakBrowser modifies Chromium's C++ source code directly — 73 patches covering fingerprints for canvas, WebGL, audio, fonts, GPU, screen, WebRTC, and network timing. These are compiled into the binary, so detection sites see a normal browser rather than a patched one. The README says this approach survives Chrome updates better than JavaScript injection tools that break often.

Is CloakBrowser compatible with existing Playwright or Puppeteer code?

Yes. CloakBrowser wraps Playwright and Puppeteer APIs — you replace three lines of import and keep the rest of your code unchanged. The README shows a diff where `from playwright.sync_api import sync_playwright` becomes `from cloakbrowser import launch`, and all `page.` and `browser.` calls work identically.

What is the difference between CloakBrowser Free and Pro versions?

Free gives one concurrent session on the latest build via GitHub sign-in at cloakbrowser.dev/free. Pro scales to 5, 20, 200, 2,000 concurrent sessions, or higher amounts, always on the newest patches first, with support. The README says the older v146 binary stays free on GitHub Releases but ages as detection evolves.

Does CloakBrowser automatically solve CAPTCHAs?

No — the README is explicit that CloakBrowser does not solve CAPTCHAs. It prevents them from appearing in the first place by making antibot systems score the browser as human. If a site still presents a CAPTCHA, CloakBrowser will not resolve it; bring your own solving service if needed.

Can CloakBrowser be used in Docker environments?

Yes. The README provides a Docker command: `docker run --rm cloakhq/cloakbrowser cloaktest`. For Widevine DRM inside Docker, pass `-e CLOAKBROWSER_FETCH_WIDEVINE=1` and the entrypoint pulls the CDM from Google's component server automatically.

What license is CloakBrowser released under?

The Python/JS wrapper is MIT licensed. The stealth Chromium binary itself is proprietary — CloakBrowser Pro uses a license key, and the README notes that free builds also require a key obtained via GitHub sign-in.

The problem it solves

JavaScript-injection stealth tools (playwright-stealth, undetected-chromedriver) patch at the surface level — they set flags or inject scripts that antibot systems detect directly. Every Chrome update breaks them. The underlying issue is that config-level patches are themselves detectable signals: antibot systems look for the absence of artifacts a normal browser produces, and patched configs tend to produce a different kind of wrong signal rather than a clean one.

Best use cases

  • •Scraping price data or content from sites protected by Cloudflare, or Kasada
  • •Running AI agents that browse the web (browser-use, Crawl4AI, Stagehand, LangChain)
  • •QA automation against sites that block headless Chrome detection
  • •Scaling browser-based workflows to hundreds of concurrent sessions on Pro
  • •Maintaining logged-in sessions across runs with persistent profiles
  • •Automating ad verification, brand monitoring, or competitive intelligence behind anti-bot systems

Who should try it — and who should skip

Reach for CloakBrowser if you're scraping or automating against sites using Cloudflare, or FingerprintJS — especially if your current Playwright setup gets blocked or scores 0.1 on reCAPTCHA v3. It's also worth it for AI agent pipelines (browser-use, Crawl4AI, Stagehand) that need a real browser behind the scenes. Skip it if you just need basic headless browsing — stock Playwright is simpler and has no binary supply chain. Also skip if your org policy prohibits running proprietary binaries; the MIT license only covers the wrapper, not the stealth Chromium itself.

Related repositories

Source & attribution

Repository: https://github.com/CloakHQ/CloakBrowser. Features, capabilities, and test results are drawn directly from the README and CHANGELOG.

GitHub data · last synced Aug 19, 2026Reviewed by Henry
← Back to TopGit

Want a second opinion on CloakBrowser?

Ask an AI that can read this page — one click and you get its take on CloakBrowser.

GitHub