Automatisation de navigateur furtif avec Ghost Chrome

VérifiéSûr

Service d'automatisation de navigateur furtif exécutant une instance Chrome réelle dans Docker pour contourner les protections anti-bot comme Cloudflare ou Google. Il simule les interactions humaines avec des courbes de Bézier et des délais variables, idéal pour automatiser des sites qui bloquent les navigateurs sans tête.

Spar Skills Guide Bot
TestingIntermédiaire
4002/06/2026
Claude Code
#browser-automation#stealth#docker#anti-bot#headful

Recommandé pour

Notre avis

Ghost Chrome est un service d'automatisation de navigateur furtif exécuté dans Docker, conçu pour contourner les protections anti-bot comme Cloudflare en simulant un utilisateur humain via un navigateur Chrome réel.

Points forts

  • Contourne efficacement les protections anti-bot avancées
  • Simule des interactions humaines réalistes (courbes de Bézier, délais variables)
  • Utilise un vrai Chrome, contrairement aux approches headless
  • Facile à utiliser via des commandes simples dans le terminal

Limites

  • Nécessite Docker et une configuration système préalable
  • Peut être plus lent qu'un navigateur headless standard
  • L'actualisation du service peut nécessiter une mise à jour manuelle
Quand l'utiliser

Utilisez Ghost Chrome lorsque vous devez automatiser des tâches sur des sites web qui bloquent les navigateurs sans tête ou qui utilisent une détection anti-bot forte (Cloudflare, Google, etc.).

Quand l'éviter

Ne l'utilisez pas pour du scraping simple ou des tâches d'automatisation classiques où un navigateur headless standard (Playwright, Puppeteer) suffit.

Analyse de sécurité

Sûr
Score qualité90/100

The skill exposes a controlled set of bash commands (all prefixed 'ghost-browser') that run a Docker-based browser automation tool. No destructive commands (e.g., rm -rf, curl | sh), exfiltration, or disabling of safety features are present. While the tool could be used for unauthorized scraping or bypassing protections, the skill itself does not instruct or directly enable those actions beyond declaring the tool's capability.

Aucun point d'attention détecté

Exemples

Login form submission using element references
Log into example.com/login using Ghost Chrome. Start the browser, open the page, find the email input and submit button using interactive snapshot, fill the email field with 'user@test.com', click submit, and wait for the dashboard to load.
Bypass Cloudflare to fetch page content
I need to scrape content from a website that blocks headless browsers with Cloudflare. Use Ghost Chrome to start a stealth browser session, navigate to the target URL, take a snapshot of the page text, and save a screenshot to verify.
Perform a Google search stealthily
Do a Google search for 'best AI tools 2025' using Ghost Chrome to avoid bot detection. Open google.com, type the query into the search box, press Enter, wait for results, and then take a screenshot of the search results page.

name: Ghost Chrome description: A high-stealth, headful browser automation service running in Docker. Use this SPECIFICALLY when standard headless browsers (agent-browser/Playwright) are blocked by anti-bot protections (Cloudflare, Google, etc.). It runs a real Chrome instance and simulates human input. read_when:

  • Bypassing strong bot detection
  • Automating sites that block headless browsers
  • Performing Google searches or interactions requiring high trust metadata: {"clawdbot":{"emoji":"👻","requires":{"bins":["docker","curl","jq"]}}} allowed-tools: Bash(ghost-browser:*)

Stealth Browser Automation with Ghost Chrome

Core Workflow

  1. Always Start First: Run ghost-browser start at the beginning of your task. It is fast and safe to run even if already running.
  2. Navigate & Act: Use standard commands.
  3. Finish: You can explicitly run ghost-browser stop or let it auto-shutdown after 5 minutes of inactivity.

Commands

Lifecycle

ghost-browser start           # Boot the Docker container (Safe to run repeatedly)
ghost-browser stop            # Stop and remove the container
ghost-browser restart         # Restart the service (get a fresh browser session)
ghost-browser update          # Update from git and rebuild the environment
ghost-browser status          # Check service health

Updating to Latest

If you need to update to the latest version of the toolkit:

ghost-browser update          # Automatically pull code, install dependencies, and rebuild the browser container

Navigation & Inspection

ghost-browser open <url>      # Navigate to URL (waits for network idle) (alias: navigate)
ghost-browser snapshot        # Get page text content
ghost-browser snapshot -i     # Get interactive elements with refs (@e1, @e2)
ghost-browser screenshot      # Save screenshot to screenshot.png
ghost-browser highlight <sel> # Draw outline around element (visual check)
ghost-browser tabs            # List open tabs/windows
ghost-browser switch <index>  # Switch focus to a specific tab
ghost-browser frame <sel>     # Focus an iframe ('main' to return to top)
ghost-browser cookies         # View or set (ghost-browser cookies set name val)

Interaction (Stealth)

All interactions use human simulation algorithms (Bezier curves, variable delays). You can use CSS selectors OR references from snapshot -i (e.g., @e1).

ghost-browser click <selector>          # Click an element
ghost-browser dblclick <selector>       # Double-click an element
ghost-browser drag <src> <dest>         # Drag one element to another
ghost-browser hover <selector>          # Move mouse to element
ghost-browser type <selector> <text>    # Focus and type text with jitter
ghost-browser fill <selector> <text>    # Clear field and type text
ghost-browser scroll <y_offset>         # Humanized scroll (positive = down)
ghost-browser press <key>               # Press key (Enter, Escape, Tab, etc.)
ghost-browser upload <sel> <path>       # Upload a file
ghost-browser wait <selector>           # Wait for element to appear

Example: Form Submission with Refs

# 1. Open and find elements
ghost-browser start
ghost-browser open "https://example.com/login"
ghost-browser snapshot -i
# Output: [{"id": "@e1", "tagName": "input", "text": "Email"}, {"id": "@e2", "tagName": "button", "text": "Submit"}]

# 2. Interact using refs
ghost-browser fill @e1 "user@test.com"
ghost-browser click @e2
ghost-browser wait ".dashboard"

Troubleshooting

  • "Element not found": The selector might be wrong, or the page hasn't loaded. Use ghost-browser screenshot or ghost-browser view to check.
  • Service failed to start: Check docker logs ghost-browser.
Skills similaires