Loading repository data…
Loading repository data…
CloakHQ / repository
Stealth Chromium that passes every bot detection test. Drop-in Playwright replacement with source-level fingerprint patches. 30/30 tests passed.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
humanize=True — human-like mouse curves, keyboard timing, and scroll patterns. One flag, behavioral detection passespip install cloakbrowser or npm install cloakbrowser — binary auto-downloads, zero configTry it now — no install needed:
docker run --rm cloakhq/cloakbrowser cloaktest
Python:
from cloakbrowser import launch
browser = launch()
page = browser.new_page()
page.goto("https://example.com")
browser.close()
JavaScript (Playwright):
import { launch } from 'cloakbrowser';
const browser = await launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();
Also works with Puppeteer: import { launch } from 'cloakbrowser/puppeteer' (details)
For sites with anti-bot protection, add a residential proxy and these flags:
browser = launch(
proxy="http://user:pass@residential-proxy:port", # residential IP, not datacenter
geoip=True, # match timezone + locale to proxy IP
headless=False, # some sites detect headless even with C++ patches
humanize=True, # human-like mouse, keyboard, scroll
)
const browser = await launch({
proxy: 'http://user:pass@residential-proxy:port',
geoip: true,
headless: false,
humanize: true,
});
See Troubleshooting for site-specific issues (FingerprintJS, Kasada, reCAPTCHA).
Python:
pip install cloakbrowser
# With Playwright
npm install cloakbrowser playwright-core
# With Puppeteer
npm install cloakbrowser puppeteer-core
.NET / C#:
dotnet add package CloakBrowser
Community-maintained .NET client built on Microsoft.Playwright. See
dotnet/README.mdfor the full API.
On first run, the stealth Chromium binary is automatically downloaded (~200MB, cached locally).
Optional: Auto-detect timezone/locale from proxy IP:
pip install cloakbrowser[geoip]
Migrating from Playwright? One-line change:
- from playwright.sync_api import sync_playwright
- pw = sync_playwright().start()
- browser = pw.chromium.launch()
+ from cloakbrowser import launch
+ browser = launch()
page = browser.new_page()
page.goto("https://example.com")
# ... rest of your code works unchanged
⭐ Star to show support — Watch releases to get notified when new builds drop.
license_key (licenseKey in JS) or the CLOAKBROWSER_LICENSE_KEY env var and the wrapper fetches the latest build automatically. See CloakBrowser ProCloakBrowser), mirroring the Python and JS wrappers.extension_paths — load Chrome extensions in all launch functionshuman_config — override humanize settings on individual method callsbuildLaunchOptions() and humanizeBrowser() for custom Playwright integrationsproxy="socks5://user:pass@host:port" works directly in all launch functions, Python + JS. QUIC/HTTP3 tunnels through SOCKS5 via UDP ASSOCIATE--fingerprint-webrtc-ip=auto resolves your proxy's exit IP and spoofs WebRTC ICE candidates. Auto-injected when using geoip=True (no extra network call)humanize=True — one flag makes all mouse, keyboard, and scroll interactions behave like a real user. Bézier curves, per-character typing, realistic scroll patternslaunch(proxy="...", geoip=True) auto-detects timezone and localelaunch_persistent_context() keeps cookies and localStorage across sessions, bypasses incognito detectionSee the full CHANGELOG.md for details.
playwright-stealth, undetected-chromedriver, and puppeteer-extra inject JavaScript or tweak flags. Every Chrome update breaks them. Antibot systems detect the patches themselves.CloakBrowser doesn't solve CAPTCHAs — it prevents them from appearing. No CAPTCHA-solving services, no proxy rotation built in — bring your own proxies, use the Playwright API you already know.
The wrapper (Python + JS) is MIT, free forever. The binary uses a delayed free-release model:
Anti-bot detection updates constantly, and an older binary degrades fast. Pro keeps you on the build that's actively maintained against it.
Use Pro if CloakBrowser is part of production scraping, QA, monitoring, or automation where stale browser fingerprints cost you time or blocked runs.
New: try the latest Pro binary (Chromium 148) free for 7 days — see how it performs against your targets. Cancel anytime.
Activate with your license key (env var, license_key= param, or ~/.cloakbrowser/license.key):
export CLOAKBROWSER_LICENSE_KEY=cb_xxxxxxxx
Pro plans & free trial → cloakbrowser.dev
All tests verified against live detection services. Results below are for the latest Pro/current build unless noted. Last tested: Jul 2026 (Chromium 148).
| Detection Service | Stock Playwright | CloakBrowser | Notes |
|---|---|---|---|
| reCAPTCHA v3 | 0.1 (bot) | 0.9 (human) | Pro/current build; server-side verified |
| Cloudflare Turnstile (non-interactive) | FAIL | PASS | Auto-resolve |
| Cloudflare Turnstile (managed) | FAIL | PASS | Single click |
| ShieldSquare | BLOCKED | PASS | Production site |
| FingerprintJS bot detection | DETECTED | PASS | Pro/current build; demo.fingerprint.com |
| BrowserScan bot detection | DETECTED | NORMAL (4/4) | browserscan.net |
| bot.incolumitas.com | 13 fails | 1 fail | WEBDRIVER spec only |
| deviceandbrowserinfo.com | 6 true flags | 0 true flags | isBot: false |
navigator.webdriver | true | false | Source-level patch |
navigator.plugins.length | 0 | 5 | Real plugin list |
window.chrome | undefined | object | Present like real Chrome |
| UA string | HeadlessChrome | Chrome/146.0.0.0 | No headless leak |
| CDP detection | Detected | Not detected | isAutomatedWithCDP: false |
| TLS fingerprint | Mismatch | Identical to Chrome | ja3n/ja4/akamai match |
| Tested against 30+ detection sites |