jo-inc /camofox-browser

Stealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement.

★ 12,134⑂ 1,227👁 26▤ 30
JavaScriptCreated 2026-01-26github.com/jo-inc/camofox-browser#readme
12,134
stars
+0+15+696
1,227
forks
26
watchers
–
prs
–
issues
30
releases
–
discussions

README

camofox-browser
  Anti-detection browser server for AI agents, powered by Camoufox
  
    
    
    
    
  
  
    Standing on the mighty shoulders of Camoufox - a Firefox fork with fingerprint spoofing at the C++ level.
  




 

 Built by the team behind jo, a personal AI agent that runs half on your Mac, half on a dedicated cloud machine just for you -- with zero maintenance needed. Available on macOS, Telegram, WhatsApp, and email. Try the beta free -

 

 Pradeep Elankumaran (@pradeep24) — co-founder and technical CEO at Jo.

 



bash
git clone https://github.com/jo-inc/camofox-browser && cd camofox-browser
npm install && npm start
 - http://localhost:9377


---

 Why

AI agents need to browse the real web. Playwright gets blocked. Headless Chrome gets fingerprinted. Stealth plugins become the fingerprint.

Camoufox patches Firefox at the C++ implementation level - navigator.hardwareConcurrency, WebGL renderers, AudioContext, screen geometry, WebRTC - all spoofed before JavaScript ever sees them. No shims, no wrappers, no tells.

This project wraps that engine in a REST API built for agents: accessibility snapshots instead of bloated HTML, stable element refs for clicking, and search macros for common sites.

 Features

- C++ Anti-Detection - bypasses Google, Cloudflare, and most bot detection
- Element Refs - stable e1, e2, e3 identifiers for reliable interaction
- Token-Efficient - accessibility snapshots are ~90% smaller than raw HTML
- Runs on Anything - lazy browser launch + idle shutdown keeps memory at ~40MB when idle. Designed to share a box with the rest of your stack -- Raspberry Pi, $5 VPS, shared infra.
- Session Isolation - separate cookies/storage per user
- Cookie Import - inject Netscape-format cookie files for authenticated browsing
- File Upload - attach files from a configured upload directory without a native OS dialog
- Proxy + GeoIP - route traffic through residential proxies with automatic locale/timezone
- Structured Logging - JSON log lines with request IDs for production observability
- YouTube Transcripts - extract captions from any YouTube video via yt-dlp, no API key needed
- Search Macros - @google_search, @youtube_search, @amazon_search, @reddit_subreddit, and 10 more
- Snapshot Screenshots - include a base64 PNG screenshot alongside the accessibility snapshot
- Large Page Handling - automatic snapshot truncation with offset-based pagination
- Download Capture - capture browser downloads and fetch them via API (optional inline base64)
- DOM Image Extraction - list  src/alt and optionally return inline data URLs
- Deploy Anywhere - Docker, Fly.io, Railway
- VNC Interactive Login - log into sites visually via noVNC, export storage state for agent reuse
- OpenAPI Docs - auto-generated spec at /openapi.json and interactive docs at /docs
- Structured Extract - POST /tabs/:tabId/extract with a JSON Schema that maps properties to snapshot refs via x-ref
- Session Tracing - opt-in per-session Playwright trace capture

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON