原始内容
camofox-browser-skills

Anti-detection browser automation skill for Claude Code using Camoufox — a Firefox fork with C++ level fingerprint spoofing.
When standard browser tools (Playwright, Puppeteer) get blocked by Cloudflare, Akamai, or other bot detection systems, this skill gives Claude Code stealth browser automation capabilities.
Built on top of jo-inc/camofox-browser (npm: @askjo/camofox-browser) — a Node.js server that manages Camoufox browser instances and exposes a REST API. This skill provides the Claude Code integration layer: CLI wrapper, skill definition, and documentation.
Installation
# Install (global, recommended)
npx skills add yelban/camofox-browser-skills -s camofox-browser -g
# Install (project-level)
npx skills add yelban/camofox-browser-skills -s camofox-browser
# List available skills
npx skills add yelban/camofox-browser-skills --list
First use automatically downloads and installs the Camoufox browser (~300MB, one-time). No manual setup required — just run any camofox command and it handles everything.
Why Camoufox?
| Signal | Standard Automation | Camoufox |
|---|---|---|
navigator.webdriver |
true (detectable) |
false (patched in C++) |
| Canvas fingerprint | Consistent/blocked | Randomized per session |
| WebGL renderer | VM/headless patterns | Realistic GPU strings |
| AudioContext | Silent/missing | Normal audio fingerprint |
| Font enumeration | Limited set | OS-appropriate font list |
| TLS fingerprint | Chrome-like | Firefox-authentic |
| WebRTC | Exposes real IP | Blocked |
Quick Start
camofox open https://example.com # Open URL (auto-starts server)
camofox snapshot # Get page elements with @refs
camofox click @e1 # Click element
camofox type @e2 "hello" # Type text
camofox screenshot # Take screenshot
camofox close # Close tab
Core Workflow
- Navigate —
camofox open <url>opens a tab and navigates - Snapshot —
camofox snapshotreturns an accessibility tree with@e1,@e2refs - Interact — use refs to click, type, select
- Re-snapshot — after navigation or DOM changes, get fresh refs
- Repeat — server stays running between commands
camofox open https://example.com/login
camofox snapshot
# @e1 [input] Email @e2 [input] Password @e3 [button] Sign In
camofox type @e1 "user@example.com"
camofox type @e2 "password123"
camofox click @e3
camofox snapshot # Re-snapshot after navigation
Commands
Navigation
camofox open <url> # Create tab + navigate (alias: goto)
camofox navigate <url> # Navigate current tab
camofox back # Go back
camofox forward # Go forward
camofox refresh # Reload page
camofox scroll down # Scroll down (also: up, left, right)
Page State
camofox snapshot # Accessibility snapshot with @refs
camofox screenshot # Screenshot to /tmp/camofox-screenshots/
camofox screenshot output.png # Screenshot to specific path
camofox tabs # List all open tabs
Interaction
Use @refs from snapshot output:
camofox click @e1 # Click element
camofox type @e1 "text" # Type into element
Search Macros (13 available)
camofox search google "query" # Google
camofox search youtube "query" # YouTube
camofox search amazon "query" # Amazon
camofox search reddit "query" # Reddit
camofox search wikipedia "query" # Wikipedia
camofox search twitter "query" # X / Twitter
camofox search linkedin "query" # LinkedIn
camofox search tiktok "query" # TikTok
camofox search instagram "query" # Instagram
camofox search yelp "query" # Yelp
camofox search spotify "query" # Spotify
camofox search netflix "query" # Netflix
camofox search twitch "query" # Twitch
Session Management
camofox --session work open <url> # Isolated session
camofox --session work snapshot # Use specific session
camofox close # Close current tab
camofox close-all # Close all tabs in session
Server Control
camofox start # Start server (usually auto)
camofox stop # Stop server
camofox health # Health check
When to Use This vs Other Tools
| Scenario | Tool |
|---|---|
| Normal websites, no bot detection | agent-browser / Playwright (faster) |
| Cloudflare / Akamai protected | camofox-browser |
| Sites that block Chromium automation | camofox-browser |
| Need anti-fingerprinting | camofox-browser |
| Need iOS/mobile simulation | agent-browser |
| Need video recording | agent-browser |
Environment Variables
| Variable | Default | Description |
|---|---|---|
CAMOFOX_PORT |
9377 |
Server port |
CAMOFOX_SESSION |
default |
Default session name |
CAMOFOX_HEADLESS |
true |
Headless mode |
HTTPS_PROXY |
— | Proxy server |
Troubleshooting
Server won't start?
camofox health # Check if running
camofox stop && camofox start # Restart
Still getting blocked?
HTTPS_PROXY=socks5://127.0.0.1:1080 camofox open <url>
Bot detection test:
camofox open https://bot.sannysoft.com/
camofox screenshot bot-test.png
Project Structure
camofox-browser-skills/
├── package.json
├── README.md
├── README.zh-TW.md
├── LICENSE
└── camofox-browser/
├── SKILL.md # Skill definition
├── scripts/
│ ├── setup.sh # Installation script
│ └── camofox.sh # CLI wrapper (16 commands)
├── references/
│ ├── api-reference.md # REST API docs
│ ├── anti-detection.md # Fingerprint spoofing details
│ └── macros-and-search.md # 13 search macros
└── templates/
├── stealth-scrape.sh # Anti-detection scraping workflow
└── multi-session.sh # Multi-session isolation
License
MIT