CamoFox

Anti-detection browser proxy for web scraping. Firefox-based (Camoufox fork) running on Fly.io.

Tech Stack

  • Runtime: Node.js, Express, Playwright
  • Browser: Camoufox v135.0.1-beta.24 (Firefox fork)
  • Hosting: Fly.io (camofox app, iad region, 2GB RAM, auto-stop)
  • Proxy: Thordata residential, US, 10GB balance (expires 31/03/2026)

URLs & Source

  • Production: camofox.fly.dev
  • Source: C:\Users\me\clawd\camofox-browser\server.js

API Endpoints

Method Path Description
GET /health Health check (503 if browser disconnected)
POST /scrape Scrape URL, returns HTML (asset blocking enabled)
POST /render JS-rendered page extraction (waitMs, waitFor, extractMode: text/markdown/html)
POST /proxy-fetch HTTP-level residential proxy requests (Thordata, rotating IPs)
POST /cookies Import cookies

Architecture

  • Browser runs WITHOUT proxy (clean, fast)
  • /proxy-fetch handles residential proxy at HTTP level via https-proxy-agent
  • Asset blocking (images, fonts, CSS) on /scrape and /render to save bandwidth
  • HTTP-level proxy design chosen because rotating residential proxy kills browser connections

Deployment

Deploy via flyctl:

C:\Users\me\.fly\bin\flyctl.exe deploy

Known Issues

  • Facebook blocks datacenter IPs (use PinchTab with residential proxy instead)
  • X/Twitter needs logged-in cookies for scraping