Browser

camofox-default-browser

Try it

Advanced browser automation via Camoufox Firefox fork — handles anti-bot protection for authorized automation tasks

What it does

Use Camoufox browser (Firefox fork with advanced fingerprint management) as OpenClaw's browser automation engine. The tools handle anti-bot protection that standard Chromium/Playwright automation may trigger, enabling reliable automation for authorized tasks.

The skill document

Camofox Default Browser

Use Camoufox browser (Firefox fork with advanced fingerprint management) as OpenClaw's browser automation engine. The camofox_* tools handle anti-bot protection that standard Chromium/Playwright automation may trigger, enabling reliable automation for authorized tasks.

When to Use

  • Use camofox_* when the built-in browser tool encounters blocking — for external public websites with anti-bot protection
  • The built-in browser tool (Playwright/Chromium) may be detected by Google, LinkedIn, Amazon, Cloudflare, and most WAFs. Camoufox manages fingerprints at the C++ implementation level, reducing detection risk.

Reason

Camoufox manages browser fingerprints at the C++ implementation level: navigator.hardwareConcurrency, WebGL renderer, AudioContext, screen geometry, WebRTC — all handled before JavaScript evaluation. This provides more reliable automation compared to standard stealth plugins that can themselves be fingerprinted.

Available Tools

ToolPurpose
camofox_create_tabOpen a new anti-detection browser tab with isolated context
camofox_snapshotAccessibility tree snapshot (~90% smaller than raw HTML) with stable element refs (e1, e2, e3) plus optional base64 screenshot
camofox_clickClick element by ref (e.g. "e3") or CSS selector
camofox_typeType text into form field. Set pressEnter=true to submit
camofox_navigateNavigate to URL or use search macro: @google_search, @youtube_search, @amazon_search, @reddit_search, @linkedin_search, @wikipedia_search, @twitter_search, @yelp_search, @spotify_search, @instagram_search, @tiktok_search, @twitch_search, @netflix_search
camofox_scrollScroll page up/down by pixel amount
camofox_screenshotCapture screenshot of current page
camofox_close_tabClose tab to free resources
camofox_evaluateExecute JavaScript in page context
camofox_list_tabsList all open tabs
camofox_import_cookiesImport Netscape cookie file for authenticated browsing (requires CAMOFOX_API_KEY)

Workflow

  1. camofox_create_tab(url="https://example.com") → tabId
  2. camofox_snapshot(tabId="") → accessibility tree
  3. camofox_click/type(tabId="", ref="e3") → interact
  4. camofox_close_tab(tabId="") → cleanup

Resource Management

  • Server auto-starts with OpenClaw Gateway (default port 9377)
  • Browser engine launches lazily on first tab request
  • Idle browser shuts down after configurable timeout (default 5 min)
  • ~40MB memory when idle, ~200MB with active browser session
  • Session isolation: separate cookies/storage per user
  • Health endpoint: GET http://localhost:9377/health
  • Crash telemetry: anonymized (no page content, cookies, IPs). Opt out via CAMOFOX_CRASH_REPORT_ENABLED=false

⚠️ Security & Usage Guidelines

  • Cookie Import: Session cookies are bearer tokens that grant full account access. Treat imported cookie files as live credentials. Only import cookies you own or have explicit authorization to use.
  • Authorized Use Only: This tool is designed for legitimate automation tasks where you have permission to access the target service. Do not use to circumvent access controls on sites where you lack authorization.
  • Legal Compliance: Ensure your automation complies with target site Terms of Service, applicable laws, and regulations. Unauthorized scraping or access may violate computer fraud laws.
  • Privacy: Do not automate access to accounts or data you do not own or have explicit permission to access.
  • Risk Awareness: Imported session cookies may bypass normal login safeguards. Mishandling can lead to unauthorized account actions or session hijacking.

Dependencies & System Requirements

System Dependencies (Linux / Debian-based)

The following packages are required for Camoufox to render pages correctly, handle UI elements, and operate in both headful and headless environments.

PackagePurpose
libgtk-3-0GTK+ 3 toolkit — handles window management, widgets, and UI rendering. Required for all GUI operations including snapshot screenshot capture.
libgdk-pixbuf2.0-0Image loading library — supports PNG, JPEG, WebP, and SVG rendering for page images, favicons, and CSS background assets.
libdbus-glib-1-2D-Bus GLib bindings — enables IPC communication between browser processes, desktop integration, and system service discovery (e.g., notification daemon).
libxt6X11 Toolkit library — legacy X11 client support needed by certain embedded XPCOM components and older extensions.
libxcomposite1X Composite Extension — compositing manager support required for GPU-accelerated layer composition and correct rendering of overlaid elements.
libxdamage1X Damage Tracking Extension — notifies compositor of painted regions for incremental redraws; critical for correct snapshot captures on accelerated surfaces.
libxfixes3X11 Extension Fixes — provides cursor shape, region, and atom operations needed by WebGL canvas and pointer events.
libxrandr2X Resize and Rotate — monitors display mode changes (DPI scaling, rotation, multi-monitor hotplug); required for responsive layout rendering.
libatk-bridge2.0-0ATK Accessibility Bridge — translates accessibility tree data from Firefox's internal AT-SPI layer into format consumed by Playwright snapshots. Without this, accessibility tree output is incomplete or empty.
libdrm2Direct Rendering Manager — DRM/KMS interface used by hardware video decode pipelines and OpenGL ES context creation on supported GPUs.
libgbm1Graphics Buffer Manager — abstraction layer over DRM/GLES for buffer allocation; required for offscreen rendering, headless snapshots, and WebGPU compute fallbacks.
xvfbX Virtual Framebuffer — provides a headless X11 server so Camoufox can run without physical display hardware. Essential for CI/CD, cron jobs, and containerized deployments. Start with Xvfb :99 -screen 0 1920x1080x24 and set DISPLAY=:99.

All libraries above are available via standard Debian/Ubuntu package repositories (apt). For Alpine Linux, equivalents exist but must be cross-compiled alongside Camoufox since pre-built binaries target glibc distributions.

Node.js Requirements

RequirementMinimumRecommended
VersionNode.js 16 LTSNode.js 20 LTS
npm8.x+10.x+
Architecturex64 (amd64), arm64Same as Camoufox binary
Memory overhead~15 MB per worker process—

Camoufox is distributed as a native C++ server — there are no npm dependencies. The only JavaScript requirement is Node.js itself to bootstrap the OpenClaw tool integrations. Both global (npm i -g) and local installation paths work identically since the server communicates via HTTP localhost API.

Browser Engine

AspectSpecification
Base engineMozilla Firefox fork (ESR-aligned)
Binary pathDefault: /root/.cache/camoufox/camoufox
Supported architectureslinux-x64 (primary), linux-arm64 (secondary)
Download URLhttps://github.com/jo-inc/camofox/releases
Idle memory footprint~40 MB (browser process, no tabs)
Active memory footprint~200 MB (one tab loaded, JS evaluated)
Multi-tab scaling+~50 MB per additional tab
Crash telemetryEnabled by default (anonymized, no cookies/IPs). Disable via env var.

The Camoufox binary is downloaded and cached automatically by the camofox_* tool runtime on first use. To force re-download, delete the cache directory before next session start.

Environment Variables

VariableRequiredDefaultDescription
CAMOUFOX_EXECUTABLEYes—Absolute path to the Camoufox binary. Must point to an executable file. Without this, the server cannot launch the browser engine.
CAMOFOX_API_KEYNo—API key for authenticated cookie import operations (camofox_import_cookies). Required when importing session cookies from Netscape-format files.
CAMOFOX_CRASH_REPORT_ENABLEDNotrueToggle anonymized crash telemetry. Set to false to disable crash reports sent to the upstream collector.
PORTNo9377TCP port on which the Camoufox HTTP API server listens. The server binds to 0.0.0.0 by default.
DISPLAYConditional:0X11 display variable. Only required when running outside WSL/container where auto-detection fails. Set explicitly if headless mode doesn't activate.
XDG_RUNTIME_DIRConditional—XDG runtime directory for D-Bus socket discovery. Required in containerized environments (e.g., Docker, Kubernetes pods) where systemd isn't present.

Optional Dependencies

These packages are not strictly required for basic browsing automation but improve compatibility:

  • Font packages (fonts-liberation, fonts-noto-color-emoji, fonts-wqy-microhei): Provide proper CJK, emoji, and Western text rendering. Without fonts, PDF exports may show blank boxes and some websites fall back to generic monospace.
  • Shared MIME info (shared-mime-info): Enables correct MIME-type detection for downloaded files (PDFs, images, archives).
  • Alsa / PulseAudio (libasound2, libpulse0): Audio playback support needed for sites with embedded video/audio that attempt to initialize audio contexts.
  • Video codecs (libavcodec-extra, libavformat-extra): H.264/AAC decoding for HTML5 video players. Firefox ships with open formats (VP8/VP9, Ogg Vorbis) by default; proprietary codecs require additional packages.
  • Cups (cups-client, libcupsys2): Print-to-PDF functionality. Required if automation involves printing web pages.

Dependencies

# System (Linux)
apt-get install -y libgtk-3-0 libgdk-pixbuf2.0-0 libdbus-glib-1-2 \
  libxt6 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \
  libatk-bridge2.0-0 libdrm2 libgbm1 xvfb

# Environment
export CAMOUFOX_EXECUTABLE=/root/.cache/camoufox/camoufox

Related skills

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

More from akdira

Browse all skills

Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces tha...

by akdira9 installs

Autonomous daily self-improvement system for AI agents. Runs nightly self-reflection, self-audit, memory compaction, prompt evolution, and skill gap analysis at 2AM. Agent automatically gets smarter every day through structured introspection and continuous learning loops.

by akdira1 installs

Elite UX/UI & Advanced GSAP Motion Engineer. Enforces Python-driven true randomization for layout variance, strict AIDA page structure, wide editorial typogr...

by akdira3 installs

Premium brand-kit image generation skill for creating high-end brand-guidelines boards, logo systems, identity decks, and visual-world presentations. Trained...

by akdira2 installs

The original v1 taste-skill, preserved for projects depending on its exact behavior. The current default is `design-taste-frontend` (v2 experimental), which...

by akdira2 installs

Elite website image-to-code skill for Codex. For visually important web tasks, it must first generate the design image(s) itself, deeply analyze them, then i...

by akdira2 installs