redf0x1/camofox-browser

Anti-detection browser server for AI agents — REST API wrapping Camoufox engine with OpenClaw plugin support

CamoFox Browser Server

何であるか – Camoufox ステルス・Firefox エンジン(C++レベルのフィンガープリントスプーフィングを備えたFirefoxのフォーク)をラップするTypeScriptベースのサーバー。言語に依存しないREST APIと強力なCLIを提供し、AIエージェントや任意のプログラムが、PuppeteerやPlaywrightなどの通常の自動化ツールよりも、ボット検出システムに検出されにくいブラウザを制御できる。

AIエージェントにとっての重要性 – 現代のボット検出サービスは、ヘッドレスChromiumブラウザが残す特徴的なフィンガープリントを検出する。CamoFoxはスプーフィングをブラウザエンジン自体にまで下げ、結果として通常のユーザーのFirefoxのように見えるセッションを生成する。サーバーは、生のHTMLやスクリーンショットではなく、構造化されたアクセシビリティスナップショット(安定したeN要素参照を持つ小さなJSONツリー)を返すため、LLM駆動エージェントが解析・処理するのにコストが低くなる。

主な機能

  • エンジンレベルのアンチ検出 – C++レベルのフィンガープリントスプーフィング(ロケール、タイムゾーン、キャンバス、WebGLなど)
  • REST API – ページの開設、クリック、入力、スクリーンショットの取得、構造化データの抽出などに使用可能なHTTPエンドポイント;任意の言語から利用可能。
  • CLI – 50以上のコマンド(camofox open、snapshot、click e5、type e3 "text"、trace startなど);必要に応じて自動でサーバーを起動。
  • マルチセッション&プロファイル – 最大50同時ユーザー接続セッション、各セッションに個別の永続的Firefoxプロファイル(クッキー、localStorage、IndexedDBは再起動後も保持)。
  • 地理・プロキシプリセット – 8つの組み込み地域プリセットとセッションごとのプロキシ設定、ハイブリッド「明示的優先」または「プロキシロック」モード。
  • 検索マクロ – Google、YouTube、Amazon、Reddit、Wikipedia、Twitterなどでのワンライン検索。
  • 認証バンク – AES-256-GCM暗号化された資格情報ストア(Argon2id由来の鍵);呼び出し元のLLMに資格情報を露出せずに、ブラウザに直接注入可能。
  • Playwrightトレース – 複雑な相互作用のデバッグ用にトレースを記録・エクスポート可能。
  • 構造化抽出 – ユーザーが提供するスキーマに基づく決定論的JSON出力;任意のJavaScript実行を回避。
  • DockerおよびポータブルWindowsビルド – 公式Dockerイメージ(ghcr.io/redf0x1/camofox-browser)と、Node.jsとCamoufoxバイナリをバンドルしたヘッドレス優先のWindows-x64 ZIP。

LLM駆動エージェントの一般的なワークフロー

  1. サーバーの起動(camofoxまたはDocker経由)。
  2. ページの開設 – camofox open https://example.com。
  3. スナップショット – camofox snapshot --format json → 安定したeN参照を持つJSONツリー。
  4. 操作 – camofox click e5、camofox type e3 "hello"。
  5. データ抽出 – camofox extract-structured @schema.json または /extract APIエンドポイントを使用。
  6. 状態の永続化 – camofox session save login-flow で後で再利用可能に保存。
  7. 安全なログイン – 資格情報をバンクに保存(camofox auth save gmail)し、注入(camofox auth load gmail --inject --username-ref e5 --password-ref e12)。

成熟度 – 現在はプレビュー(フェーズ1)。APIは動作するが、マイナーリリース間でエンドポイントのシグネチャが変更される可能性があり、互換性のないアップグレードではローカルステートの移行に手動リセットが必要。

導入方法

# ソースから
git clone https://github.com/redf0x1/camofox-browser.git
cd camofox-browser
npm install && npm run build && npm start

# またはCLIをグローバルにインストール
npm install -g camofox-browser
camofox open https://example.com
camofox snapshot --format json

位置づけ – リスクの低い、信頼性の高いウェブインタラクション(ウェブ検索、フォーム入力、データ抽出、テストなど)が必要なAIエージェントのフロントエンド。通常のヘッドレスブラウザの検出リスクを回避する。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト