CloakBrowser: 2.4K⭐ Stealth Browser — Pass All Bot Detection Tests
CloakBrowser is an open-source stealth Chromium browser with 2,400+ Stars. Passes all bot detection tests including Cloudflare, DataDome, and PerimeterX with fingerprint rotation and proxy integration.
{</* resource-info */>}
What is CloakBrowser? #
CloakBrowser is an open-source stealth Chromium browser with 2,431+ GitHub Stars and 312+ Forks. It is designed to pass all major bot detection systems while providing a real browser experience for web scraping and automation.
Unlike standard headless browsers that are easily detected, CloakBrowser uses advanced fingerprint rotation, proxy integration, and behavioral mimicry to appear as a genuine human user.
| Metric | Value |
|---|---|
| Stars | 2,431+ |
| Forks | 312+ |
| Language | JavaScript |
| License | MIT |
| Today | 89 stars |
GitHub: https://github.com/yifengyou/CloakBrowser
Why CloakBrowser is Different #
1. Passes All Major Bot Detection #
CloakBrowser successfully bypasses:
| Detection System | Pass Rate | Technique Used |
|---|---|---|
| Cloudflare | 98.5% | Fingerprint rotation + TLS mimicry |
| DataDome | 96.2% | Behavioral analysis evasion |
| PerimeterX | 94.8% | Canvas/WebGL fingerprint spoofing |
| reCAPTCHA v3 | 97.1% | Score manipulation |
| Akamai | 93.5% | Request pattern randomization |
2. Real Browser Fingerprint #
// CloakBrowser generates realistic fingerprints
const profile = await cloak.generateProfile({
os: 'Windows 11',
browser: 'Chrome 120',
resolution: '1920x1080',
language: 'en-US',
timezone: 'America/New_York'
});
// Each profile is unique and consistent
console.log(profile.webgl.vendor); // "Google Inc. (NVIDIA)"
console.log(profile.webgl.renderer); // "ANGLE (NVIDIA, NVIDIA GeForce GTX 1660..."
3. Automatic Fingerprint Rotation #
// Rotate fingerprints every session
const browser = await cloak.launch({
rotateFingerprint: true,
rotationInterval: 'per_session', // per_session | per_request | per_minute
proxy: {
type: ' residential',
country: 'US',
city: 'New York'
}
});
// Each new page gets a fresh identity
const page1 = await browser.newPage(); // Profile A
const page2 = await browser.newPage(); // Profile B (different!)
Core Features #
Stealth Engine #
const { CloakBrowser } = require('cloakbrowser');
const browser = await CloakBrowser.launch({
// Stealth options
stealth: {
// Hide automation flags
hideWebDriver: true,
hideChromeRuntime: true,
hidePermissions: true,
// Spoof navigator properties
spoofNavigator: {
hardwareConcurrency: 8,
deviceMemory: 8,
maxTouchPoints: 0
},
// Canvas fingerprint protection
canvas: {
mode: 'noise', // noise | block | off
seed: 'random'
},
// WebGL spoofing
webgl: {
vendor: 'Google Inc. (NVIDIA)',
renderer: 'ANGLE (NVIDIA, NVIDIA GeForce GTX 1660...)'
}
}
});
Proxy Integration #
// Built-in proxy rotation
const browser = await CloakBrowser.launch({
proxy: {
provider: 'brightdata', // brightdata | oxylabs | smartproxy | custom
type: 'residential', // residential | datacenter | mobile
rotation: 'per_request', // per_request | per_session | sticky
// Geolocation targeting
geo: {
country: 'US',
state: 'California',
city: 'Los Angeles'
}
}
});
Web Scraping API #
// High-level scraping API
const scraper = await browser.newScraper();
// Extract data with automatic retry
const data = await scraper.extract({
url: 'https://example.com/products',
// Wait for dynamic content
waitFor: '.product-list',
timeout: 30000,
// Extract structured data
schema: {
products: {
selector: '.product-item',
multiple: true,
fields: {
name: '.product-title',
price: '.price',
image: '.product-img@src',
rating: '.rating@data-score'
}
},
pagination: {
next: '.next-page@href'
}
},
// Auto-handle pagination
pagination: {
enabled: true,
maxPages: 10,
delay: 2000 // 2s between pages
}
});
console.log(`Scraped ${data.products.length} products`);
Bot Detection Evasion Techniques #
1. Fingerprint Consistency #
┌─────────────────────────────────────┐
│ Fingerprint Components │
├─────────────────────────────────────┤
│ ✓ User-Agent │
│ ✓ Accept headers │
│ ✓ Screen resolution │
│ ✓ Color depth │
│ ✓ Timezone │
│ ✓ Language │
│ ✓ Platform │
│ ✓ WebGL vendor/renderer │
│ ✓ Canvas fingerprint │
│ ✓ Fonts list │
│ ✓ Plugins │
│ ✓ Touch support │
└─────────────────────────────────────┘
2. Behavioral Mimicry #
// Human-like mouse movements
await page.humanLikeMove({
x: 100,
y: 200,
duration: 800, // 800ms (human speed)
curve: 'bezier' // Natural bezier curve
});
// Random delays between actions
await page.randomDelay({
min: 500,
max: 3000,
distribution: 'normal' // Normal distribution (bell curve)
});
// Scroll with variable speed
await page.humanLikeScroll({
distance: 500,
speed: 'variable', // Starts fast, slows down
pauseProbability: 0.3 // 30% chance to pause mid-scroll
});
3. Request Pattern Randomization #
// Randomize request timing
await cloak.randomizeRequests({
// Add jitter to intervals
jitter: {
min: 0.8, // 80% of base delay
max: 1.5 // 150% of base delay
},
// Randomize header order
headerOrder: 'random',
// Add random query params (cache busting)
cacheBust: true
});
Quick Start #
Installation #
# NPM
npm install cloakbrowser
# Yarn
yarn add cloakbrowser
# PNPM
pnpm add cloakbrowser
Basic Usage #
const { CloakBrowser } = require('cloakbrowser');
(async () => {
// Launch stealth browser
const browser = await CloakBrowser.launch({
headless: false, // Use false for debugging
stealth: true
});
// Open page
const page = await browser.newPage();
// Navigate with anti-detection
await page.goto('https://bot-detector.example.com', {
waitUntil: 'networkidle2',
timeout: 30000
});
// Check detection score
const score = await page.evaluate(() => {
return window.botDetector?.getScore() || 'unknown';
});
console.log(`Bot detection score: ${score}`); // Should be low (< 0.3)
// Take screenshot for verification
await page.screenshot({ path: 'stealth-test.png' });
await browser.close();
})();
Docker Deployment #
FROM node:20-slim
# Install dependencies
RUN apt-get update && apt-get install -y \
chromium \
fonts-liberation \
libappindicator3-1 \
libasound2 \
libatk-bridge2.0-0 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
# Run with CloakBrowser
CMD ["node", "scraper.js"]
Use Cases #
E-commerce Price Monitoring #
// Monitor competitor prices
const monitor = await cloak.createMonitor({
targets: [
{ url: 'https://amazon.com/dp/B08N5WRWNW', selector: '.a-price' },
{ url: 'https://walmart.com/ip/123456', selector: '[data-automation-id="product-price"]' }
],
interval: '1h',
proxy: { type: 'residential', rotation: true }
});
monitor.on('priceChange', (data) => {
console.log(`Price changed: ${data.product} - ${data.oldPrice} -> ${data.newPrice}`);
// Send alert to Slack/Discord
});
SEO Rank Tracking #
// Track search rankings without detection
const tracker = await cloak.createRankTracker({
keywords: ['AI trading bot', 'crypto automation'],
locations: ['US', 'UK', 'CA'],
searchEngines: ['google', 'bing'],
proxy: { type: 'residential' }
});
const results = await tracker.check();
console.log(results);
// [{ keyword: 'AI trading bot', rank: 3, url: '...' }, ...]
Social Media Automation #
// Automate social media without bans
const social = await cloak.createSocialBot({
platform: 'twitter',
fingerprint: {
device: 'mobile',
os: 'iOS 17'
}
});
// Post with human-like delays
await social.post({
content: 'Check out this new AI tool!',
media: ['./image.png'],
delay: { min: 5000, max: 15000 } // Random 5-15s delay
});
Performance Benchmarks #
| Test | Standard Puppeteer | CloakBrowser | Improvement |
|---|---|---|---|
| Cloudflare Pass Rate | 12% | 98.5% | +721% |
| reCAPTCHA v3 Score | 0.9 (bot) | 0.1 (human) | -89% |
| DataDome Detection | 94% | 3.8% | -96% |
| Average Detection Time | 2.3s | 8.7s | +278% |
| Session Duration | 1.2min | 45min | +3650% |
Tests conducted on 1000 sessions across 50 websites
Advanced Configuration #
Custom Fingerprint Profiles #
// Create custom browser profile
const profile = await cloak.createProfile({
// Hardware
cpu: {
cores: 8,
architecture: 'x86_64'
},
memory: 16, // GB
// Display
screen: {
width: 1920,
height: 1080,
colorDepth: 24,
pixelRatio: 1
},
// Software
os: {
name: 'Windows',
version: '11',
platform: 'Win32'
},
browser: {
name: 'Chrome',
version: '120.0.0.0',
language: 'en-US'
}
});
// Save for reuse
await profile.save('my-windows-profile');
Plugin System #
// Custom plugins for specific sites
const browser = await CloakBrowser.launch({
plugins: [
// Amazon-specific evasion
require('cloakbrowser/plugins/amazon'),
// Google-specific evasion
require('cloakbrowser/plugins/google'),
// Custom plugin
{
name: 'my-plugin',
onBeforeRequest: (request) => {
// Modify requests
if (request.url.includes('tracking')) {
request.abort();
}
}
}
]
});
Community & Resources #
- GitHub: yifengyou/CloakBrowser
- Documentation: Full docs
- Discord: Community server
- Examples: Example scripts
Related Articles #
- Browser Harness: Self-Healing LLM Web Automation
- Agent Reach: Give Your AI Agent Internet Superpowers
- Free Claude Code: Zero-Cost AI Coding Assistant
Disclaimer: CloakBrowser is for legitimate automation and testing purposes only. Always comply with website Terms of Service and applicable laws. The authors do not endorse or support unauthorized scraping or automated abuse.