Skip to main content

Production-grade, human-mimicking browser automation framework for autonomous agents. Survives modern anti-bot systems.

Project description

Agentic Stealth Browser

Playwright gets detected. This doesn't.

CI License: MIT Python 3.11+ PyPI Tests Buy Me A Coffee

Agentic Stealth Browser Demo

Production-grade stealth browser automation that survives Cloudflare, LinkedIn, Amazon, and other anti-bot systems by looking convincingly human at every layer.

pip install agentic-stealth-browser
playwright install --with-deps chromium
from core.agent_browser import AgentBrowser

async with AgentBrowser(session_name="demo") as browser:
    await browser.launch(headless=True)
    await browser.safe_goto("https://bot.sannysoft.com")
    # ✓ passes WebGL, Canvas, AudioContext, WebRTC, and TLS fingerprinting

Why vanilla Playwright fails

Sites don't just check your User-Agent anymore. They check everything:

Attack Surface Vanilla Playwright This library
TLS handshake (JA3/JA4 fingerprint) Standard Python TLS — instantly identifiable Region-spoofed profiles (US, Japan, EU, Korea)
Navigator APIs (navigator.webdriver, plugins, languages) Leaks automation flags everywhere Every property patched before first paint
WebGL / Canvas fingerprint Headless GPU renders differently Consistent buffers across sessions
Human behavior Robotic clicks, instant typing Bézier mouse curves, variable speed, fatigue simulation
Auto-recovery None — blocks = failure CAPTCHA detection → proxy rotation → retry chain
Account warming Nothing 14-day graduated ramp-up per account

Result: passes bot.sannysoft.com, pixelscan.net, and CreepJS with zero flags in headless mode.


Quick Start

CLI (easiest)

# Health check + stealth fingerprint test
stealth-browser health --preset linkedin_2026 --region us

# Start the operator dashboard
agentic-stealth-browser dashboard

Python SDK

from core.agent_browser import AgentBrowser

async with AgentBrowser(
    session_name="my-session",
    region="japan",
    headless=True
) as browser:
    await browser.launch()
    await browser.safe_goto("https://example.com")
    # TLS-spoofed, no webdriver leak, human-like interaction ready

MCP (for AI agent clients)

{
  "mcpServers": {
    "stealth-browser": {
      "command": "python",
      "args": ["-m", "production.mcp_server"]
    }
  }
}

Then: stealth_launchstealth_navigatestealth_scrapestealth_close.


Key Features

Feature What It Does
TLS Fingerprinting JA3/JA4 region profiles
Human Behavior Mouse wobble, typing mistakes, fatigue, distraction
Auto Recovery Block detection → proxy/session rotation → retry
Account Warming 14-day gradual ramp-up for new accounts
Workflow Orchestrator Queue, schedule, domain concurrency, retries, persistence
Python SDK StealthClient — async API without MCP
Security Governance Input validation, session isolation, policy engine, approval gates
Adaptive Stealth Per-domain behavior profiles with FeedbackStore telemetry
Plugin System Lifecycle hooks via BasePlugin
Operator Dashboard Live DevTools, CAPTCHA intervention, workflow recording
Feature Flags Runtime capability discovery per browser backend
Performance Profiling Timing decorators + perf_benchmark.py

Full Documentation

  • Workflow System — record real browser actions via CDP, replay as YAML (13 step types)
  • Operator Dashboard — Grok/X-inspired dark UI, live browser view, CAPTCHA solving, workflow recording
  • Orchestrator — queue, schedule, chain workflows with domain-aware concurrency
  • Security — input validation, session isolation, policy engine, approval gates
  • SDKStealthClient async API without MCP
  • Plugins — lifecycle hooks for custom behavior
  • VPS Deployment — systemd, Caddy reverse proxy, Cloudflare Tunnel patterns
  • Migration v1 → v2 — deprecation shims, migration guide, script

See sections below for each topic. For release history: CHANGELOG.md.


Project Structure

├── core/           AgentBrowser, connection pool, session checkpoints
├── stealth/        TLS, scripts, Firefox adapter, caching
├── behavior/       Human simulation, personas, adaptive tuning
├── recovery/       Anti-block orchestrator
├── workflows/      Recorder, player, schema, library
├── production/     MCP server, SDK, orchestrator, security, profiler
├── plugins/        Plugin system with template
├── scripts/        Migration, evaluation, benchmarking
└── tests/          880+ contract + integration tests

License

MIT. See LICENSE and CHANGELOG.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentic_stealth_browser-2.3.0.tar.gz (281.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentic_stealth_browser-2.3.0-py3-none-any.whl (217.6 kB view details)

Uploaded Python 3

File details

Details for the file agentic_stealth_browser-2.3.0.tar.gz.

File metadata

  • Download URL: agentic_stealth_browser-2.3.0.tar.gz
  • Upload date:
  • Size: 281.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentic_stealth_browser-2.3.0.tar.gz
Algorithm Hash digest
SHA256 ed311129ebaa9b94fba7923c03fc7ca936c54357759f36583ecfc1e7a3f5ec5b
MD5 52ed368ce909504d550800a687f6c718
BLAKE2b-256 20d782849f87e8dc820bbfd9d7cc643871b621e94b63f7f00a741a655203ff5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentic_stealth_browser-2.3.0.tar.gz:

Publisher: publish.yml on shanewas/agentic-stealth-browser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentic_stealth_browser-2.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentic_stealth_browser-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d9532f4849a3ad3f9649c97fa65876af5c0a641442446e0b94d5879678681f7c
MD5 49dee9631d6d3628397101c9ac397ba8
BLAKE2b-256 93f63c9b9d268fbafbd491eb87d1f83f1d54f1330c05bb4894a05c892618aad7

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentic_stealth_browser-2.3.0-py3-none-any.whl:

Publisher: publish.yml on shanewas/agentic-stealth-browser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page