Skip to content

Repository files navigation

BotCloud BotCloud

Hosted Privacy Browser Gateway for teams validating fingerprint defenses

🛡️ Fingerprint Defense - Validated against 31+ detection systems
Zero Config - Auto-detects timezone, locale, language from proxy IP
🔍 DevTools - Remote browser debugging via Chrome DevTools


Connect to cloud Chrome with your familiar Puppeteer or Playwright code — no deployment, no maintenance, fingerprint-level isolation. BotCloud isolates your real device fingerprint from third-party tracking while helping teams validate their fingerprint defense mechanisms.

Why privacy teams pick BotCloud:

  • Protect local device fingerprints - Cloud-based isolation prevents your device fingerprint from being exposed to third-party tracking and fingerprinting.
  • No more desktop babysitting because cloud browsers stay patched and geo-distributed out of the box.
  • Existing scripts keep working (Puppeteer, Playwright, Selenium, CDP) with minimal tweaks for privacy testing.
  • Mandatory proxy plus region controls with usage-based billing make compliance reviews easy.

💡 Pricing: Usage-based billing at $0.6/hour (1 quota = 1 minute). Dynamic multiplier based on concurrent sessions, Cloak Tier, and premium features. View pricing details → ⚖️ Review the Legal Disclaimer and Responsible Use Guidelines before onboarding.

🌐 Learn more: Visit bots.win for documentation, pricing, and support.


Quick Start

importpuppeteerfrom"puppeteer-core";constparams=newURLSearchParams({token: process.env.BOTCLOUD_TOKEN,"--proxy-server": process.env.BOTCLOUD_PROXY,device_type: "mac",});constbrowser=awaitpuppeteer.connect({browserWSEndpoint: `wss://cloud.bots.win?${params.toString()}`,});constpage=awaitbrowser.newPage();awaitpage.goto("https://example.com");awaitbrowser.close();
  1. Get a token from your service provider
  2. Prepare a proxy in format username:password@host:port
  3. Connect using Puppeteer, Playwright, or CDP
  4. Close the browser when done to free quota

Why BotCloud

Fingerprint Defense Validation

Detection SystemStatus
CreepJS✅ Verified
Cloudflare Turnstile✅ Verified
DataDome✅ Verified
FingerprintJS Pro✅ Verified
PerimeterX✅ Verified
Kasada✅ Verified

Our fingerprint engine maintains consistency across 31+ detection vectors including canvas, WebGL, audio context, font enumeration, and hardware concurrency.

  • Intelligent fingerprint binding with User Data for persistent identity
  • Fresh fingerprint assignment for each session without User Data

View Fingerprint Management Guide →

Zero-Configuration Intelligence

BotCloud auto-detects timezone, language, and locale from your proxy IP:

// Just provide your proxy - we handle the restconstparams=newURLSearchParams({token: process.env.BOTCLOUD_TOKEN,"--proxy-server": "user:pass@tokyo-proxy.example.com:8080"});// Browser automatically uses Asia/Tokyo timezone, ja-JP locale

Privacy-Preserving Automation

  • Your local device fingerprint stays isolated in the cloud—third parties never see your real device
  • No navigator.webdriver flag
  • No Chrome DevTools Protocol exposure points
  • WebRTC and DNS requests route through your proxy
  • Zero IP leaks from any browser API

Connection Parameters

ParameterExampleRequired
tokenuser-token-abc123
--proxy-serveruser:pass@proxy.example.com:4600
device_typemac / win / androidOptional (default: mac)
user_data_idudd_xxxxxxxxxxxxOptional
super_stealthtrue / falseOptional (requires Super Stealth access)

Premium Features

FeatureParameterDescriptionPremium
Super Stealth Modesuper_stealth=trueMaximum anti-detection capability+0.40x
DevToolsSee DevTools docsRemote browser debugging via Chrome DevTools+0.35x
Multi-ContextCDP: Target.createBrowserContextUp to 10 independent contexts per session, each with isolated fingerprint1.5x (ENT3 required)

BotCloud supports 50+ CLI parameters for timezone, locale, fingerprint variation, and more.

📖 View full CLI parameter reference →


DevTools - Remote Browser Debugging

DevTools provides remote access to Chrome DevTools for debugging automated workflows.

constcdp=awaitpage.createCDPSession();cdp.on("devtoolsComplete",()=>console.log("Session complete"));const{ devtoolsURL }=awaitcdp.send("devtools",{timeout: 120000});console.log(`Open: ${devtoolsURL}`);awaitnewPromise(resolve=>cdp.on("devtoolsComplete",resolve));

📖 View full DevTools documentation →


Multi-Context - Independent Fingerprints ENT3

Multi-Context enables up to 10 independent browser contexts within a single session, each with its own fingerprint configuration. Ideal for multi-account management and parallel identity isolation.

// Create context with independent fingerprintconst{ browserContextId }=awaitcdp.send('Target.createBrowserContext',{botCloudFlags: ['--new-profile=mac',// Fresh fingerprint (mac/win/android)'--bot-config-timezone=Asia/Tokyo','--proxy-ip=103.x.x.x']});// Create target in the new contextconst{ targetId }=awaitcdp.send('Target.createTarget',{url: 'about:blank',
browserContextId
});

Key Features:

  • Up to 10 contexts per session (vs 1 for standard accounts)
  • Each context can have its own timezone, locale, proxy IP
  • Fresh fingerprint via --new-profile parameter
  • Context isolation prevents cross-contamination

📖 View full Multi-Context documentation →


API Reference

EndpointMethodDescription
/api/quotaGETCheck remaining quota
/api/usageGETGet usage statistics
/api/historyGETRetrieve session history
/api/user-dataPOSTCreate persistent User Data
/api/user-dataGETList User Data entries
/api/user-data/:idDELETEDelete User Data

📖 View full API reference →


Examples

FrameworkLanguageExample
PuppeteerNode.jsexamples/puppeteer/node/quickstart.mjs
PlaywrightNode.jsexamples/playwright/node/quickstart.mjs
PlaywrightPythonexamples/playwright/python/quickstart.py
CLI ConfigNode.jsexamples/cli/node/custom-config.mjs
DevToolsNode.jsexamples/devtools/node/puppeteer-devtools.mjs
User DataNode.jsexamples/user-data/node/user-data.mjs
CDPGoexamples/cdp/go/chromedp-quickstart.go
CDPJavaexamples/cdp/java/CdpQuickstart.java
CDPRubyexamples/cdp/ruby/ferrum-quickstart.rb

📖 View all examples →


Multi-Language Support

BotCloud supports direct CDP connections from any language with WebSocket support:

LanguageLibraryExample
Gochromedp (recommended)examples/cdp/go/chromedp-quickstart.go
Gorod (low-level API)examples/cdp/go/rod-quickstart.go
JavaNative WebSocket (Java 11+)examples/cdp/java/CdpQuickstart.java
RubyFerrumexamples/cdp/ruby/ferrum-quickstart.rb

Each example includes detailed comments explaining library-specific considerations and compatibility notes.


Operations

Connection Limits

BotCloud enforces one active connection per token. For parallel sessions, request multiple tokens from your service provider.

Graceful Shutdown

Always wrap browser operations in try/finally:

letbrowser;try{browser=awaitpuppeteer.connect({ browserWSEndpoint });// Your automation here}finally{if(browser)awaitbrowser.close();}

Monitoring

Track these metrics:

  • Remaining quota - Alert below 10 units
  • Active sessions - Track concurrent usage
  • Disconnect reasons - Check /api/history

Troubleshooting

ErrorCauseFix
400 Bad RequestMalformed proxyCheck user:pass@host:port format
401 UnauthorizedInvalid tokenVerify token or request new one
403 ForbiddenNo quota or limit reachedCheck quota, close idle sessions
500 / 503Server issueRetry, contact support if persistent

Resources

About

Hosted privacy browser fleet with consistent fingerprints for authorized research

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors