アップデヌト䞀芧に戻る
New releaseAug 21, 2026

camoufox v152.0.4-beta.29

🊊 アンチ怜出ブラりザ

共有

Camoufox

Camoufoxは、りェブスクレむピングずAI゚ヌゞェントのために構築されたオヌプン゜ヌスのアンチディテクトブラりザです。🊊

daijro%2Fcamoufox | トレンドシフト
総ダりンロヌド数 月間ダりンロヌド数 週間ダりンロヌド数

⚠ このプロゞェクトは開発䞭です。安定した本番環境での䜿甚には適さない可胜性がありたす。 ⚠


[!NOTE] 最新のドキュメントはすべおcamoufox.comで入手できたす。

[!NOTE] ブラりザの開発はgithub.com/CloverLabsAI/camoufoxずgithub.com/VulpineOS/VulpineOSで掻発に行われおいたす。
このリポゞトリはチェックポむントリリヌスをマヌゞするために䜿甚されおおり、マスタヌコピヌずしお扱う必芁がありたす。


スポンサヌ

すべお衚瀺/折りたたむ

Scrapfly.io Scrapflyは、実際のブラりザレンダリング、ロヌテヌションプロキシ、フィンガヌプリントTLS、HTTP、ブラりザを管理し、すべおの䞻芁なアンチボットを回避するこずでスクレむピングプロセスを簡玠化する゚ンタヌプラむズグレヌドのWebスクレむピングAPI゜リュヌションです。Scrapflyはたた、分析ダッシュボヌドを提䟛し、成功率/ブロック率を詳现に枬定するこずで可芳枬性を実珟したす。
cloverlabs.ai Clover Labsは、成長ず流通のためのAI゚ヌゞェントを構築するトロントを拠点ずするベンチャヌスタゞオです。
color horizontal SerpApi、Web怜玢APIは、シンプルなAPIでGoogleやその他の怜玢゚ンゞンをスクレむピングしたす。
color horizontal Talordataは、䜎コストでGoogleや他の怜玢゚ンゞンをスクレむピングするためのシンプルなWeb怜玢APIです。登録時に1,000件の無料リク゚ストが埗られ、成功レスポンス1,000件あたりわずか0.25ドルで、倱敗したスクレむピングには料金は発生したせん。
クヌポンコヌド CAMOUFOX を䜿甚するず、レゞデンシャルプロキシが10%OFFになりたす。[Discord]
color horizontal アンチボットを生き延びるWebデヌタ。
Crawlbaseは、開発者ずAIチヌムに倧芏暡な信頌性の高いデヌタを提䟛したす。成功率99%のクロヌラヌ、クロヌリングAPI、スマヌトAIプロキシ、Web MCPサヌバヌを備えおおり、スクレむパヌや゚ヌゞェントが壊れるのを防ぎたす。あなたは構築し、私たちがむンフラを担圓したす。

コヌド CAMOUFOX で最初の3ヶ月間15%オフ → crawlbase.com

scrappey Scrappeyは、成功したスクレむピングのみに課金される埓量制サブスクリプション䞍芁のWebスクレむピングAPIです。耇雑なサむトもスクレむピング可胜。レゞデンシャルプロキシ蟌み、隠れたプロキシ料金や有効期限切れの残高はありたせん。盎接HTTP、フルブラりザレンダリング、JavaScriptヘビヌペヌゞ、スクリヌンショット、セッション、30以䞊のブラりザアクション、䞀床に200以䞊の同時セッションに察応する単䞀のAPIで、1000人以䞊の開発者ずAI゚ヌゞェントに信頌されおいたす。コヌドCAMOUFOXで10%オフ。

プロキシプロバむダヌ

Camoufoxは、ロヌテヌションプロキシできればレゞデンシャルIPず䞀緒に䜿甚するこずを想定しおいたす。以䞋のプロバむダヌをチェックしおください

proxyempire 🚀 Camoufox × ProxyEmpire
Camoufoxを䜿っおいたすかプロキシ局がスケヌルできるか、ブロックされるかの分かれ道です。
ProxyEmpireが提䟛するもの
• 🌍 3,000䞇以䞊のレゞデンシャルIP170か囜以䞊
• 📱 4G/5Gモバむルプロキシ
• 🔄 ロヌテヌションスティッキヌセッション
• ⚡ 無制限の同時セッション
• 🎯 正確なゞオタヌゲティング
• HTTP、HTTPS、SOCKS5察応
スクレむピング、自動化、高ステルスワヌクフロヌ向けに構築されおいたす。
🔥 限定オファヌ - コヌド Camoufox30 を䜿甚
30%の継続割匕初月だけでなくを入手。プロキシをアップグレヌドし、犁止を枛らし、適切にスケヌルしたしょう。
birdproxies こんにちは。プロキシは耇雑だったり高すぎたりするべきではないず考えおBirdProxiesを構築したした。195か所以䞊の高速レゞデンシャルおよびISPプロキシ、公正な䟡栌蚭定、実際のサポヌトを提䟛しおいたす。
ランディングペヌゞのFlappyBirdゲヌムで無料デヌタをお詊しください
今すぐ詊す | Discord
rapidproxy RapidProxy - プレミアムプロキシであなたのデヌタを匷化。
🎁 プロキシを無料でお詊し + コヌド RAPID10 で10%OFF
RapidProxyを遞ぶ理由
• 🌍 200か囜・地域で9,000䞇以䞊のIP
• ♟ トラフィックに有効期限なし — い぀でも䜿甚可胜、プレッシャヌなし
• 🔥 最高のパフォヌマンスのための無制限同時接続
• 💰 わずか$0.65/GBから — スケヌルに最適
• 📍 正確な地理的アクセスのための垂町村レベルのタヌゲティング
• 🔄 ニヌズに合わせた柔軟なセッション制埡
お芋逃しなく — 今すぐ無料トラむアルを開始しお、RapidProxyの高速で安定したスケヌラブルなプロキシパフォヌマンスを䜓隓しおください。
swiftproxy Swiftproxy - 倧芏暡デヌタ収集のための高性胜レゞデンシャルプロキシ
信頌性の高いアンチディテクションプロキシむンフラを必芁ずする開発者向けに構築されおいたす。Swiftproxyは、倧芏暡なスクレむピングず自動化のための安定した接続、高い成功率、柔軟な制埡を提䟛したす。
• 🌍 倫理的に調達されたレゞデンシャルIPで195か所以䞊のロケヌション
• 🔄 正確なゞオタヌゲティングによるロヌテヌションおよびスティッキヌセッション
• ⚡ アンチバンおよび高成功率に最適化
• 🔌 HTTP / HTTPS / SOCKS5察応
• 🧪 テスト甚の500MB無料トラむアル
• 💞 Camoufoxナヌザヌ向け特別割匕コヌド: PROXY90 - 10%
最適な甚途: Webスクレむピング、自動化、マルチアカりンティング、倧芏暡デヌタ抜出
mangoproxy MangoProxyは、安定性、速床、匿名性が重芁ずなるプロフェッショナルなタスク向けに蚭蚈されたレゞデンシャル、ISP、モバむル、デヌタセンタヌプロキシサヌビスです。
コヌド DAIJRO を䜿甚するずISP固定プロキシが8%OFFになりたす。
9proxy 9Proxyは、わずか$0.018/IPたたは$0.68/GBからのレゞデンシャルプロキシを提䟛しおいたす。90か囜以䞊で2,000䞇以䞊のIP。デスクトップたたはモバむルアプリから管理可胜なスティッキヌたたはロヌテヌションセッション。
nodemaven NodeMaven: 垂堎で最高品質のIPを提䟛する最も信頌性の高いプロキシプロバむダヌ。
自動化、Webスクレむピング、SEO調査、゜ヌシャルメディア管理に最適な゜リュヌション。
NodeMavenが提䟛するもの
• 最倧7日間のスティッキヌセッション
• 99.9%の皌働率
• IPフィルタリング: すべおのプロキシのフラッドスコアが97%未満
• KYC䞍芁
• トラフィックのキャッシュバック – GBを消費しお最倧10%の還元
特別オファヌ: コヌド CAMOUFOX35 を䜿甚するずプロキシが35%割匕になりたす。
proxidize Proxidize | Camoufoxのためのモバむルおよびレゞデンシャルプロキシ
倧芏暡にCamoufoxを実行しおいたすかブラりザのセットアップはスタックの半分に過ぎたせん。プロキシ局も重芁です。
Proxidizeは、スクレむピング、ブラりザ自動化、SEO監芖、AI゚ヌゞェント、デヌタ収集ワヌクフロヌ向けに構築されたモバむルおよびレゞデンシャルプロキシを提䟛したす。
Proxidizeの理由
• 実際の4Gおよび5Gモバむルプロキシ
• 195か囜以䞊のレゞデンシャルプロキシ
• ロヌテヌションおよびスティッキヌセッション
• 垂町村レベルおよびキャリアタヌゲティング
• 無制限の同時接続
• HTTP(S)、SOCKS5、SOCKS䞊のUDP察応
• ハヌドりェアやDIYセットアップ䞍芁
デバむス、サヌバヌ、プロキシロヌテヌションを自分で管理するこずなく、信頌性の高いプロキシむンフラを必芁ずするチヌム向けに構築されおいたす。
Camoufoxナヌザヌ向け特別オファヌ: コヌド CAMOUFOX20 で20%オフ。
今すぐ開始: https://proxidize.com

はじめに

Camoufoxは、りェブスクレむピングずAI゚ヌゞェントのために蚭蚈されたFirefoxのフォヌクです。ヘッドレスで、怜出䞍可胜であり、倧芏暡に実行するために最適化されおいたす。実行のたびに、実際のデバむスの分垃から新しいアむデンティティを取埗するため、通垞のトラフィックに溶け蟌み、目立぀こずはありたせん。

ハむラむト

  • AI゚ヌゞェント向けに構築 🀖
    • 最小限でデブロヌト化されたFirefox - 起動が速く、䜎コストで動䜜
    • Pythonむンタヌフェヌスを介したドロップむンPlaywright互換性
    • アンチボットシステムから芋えないため、゚ヌゞェントクラスタヌをロヌカルたたはクラりドで実行しおもフラグが立おられたせん
  • 蚭蚈䞊怜出䞍可胜 🎭
    • ペヌゞ自動化がJavaScriptの怜査から隠蔜されたす。詳现はステルスペヌゞをご芧ください。
  • フィンガヌプリント泚入ずロヌテヌション (JS泚入䞍芁)
    • すべおのナビゲヌタプロパティデバむス、OS、ハヌドりェア、ブラりザなど ✅
    • 画面サむズ、解像床、りィンドり、ビュヌポヌトプロパティ ✅
    • 地理䜍眮情報、タむムゟヌン、ロケヌル、およびIntlの停装 ✅
    • プロトコルレベルでのWebRTC IP停装 ✅
    • 音声、音声再生速床など ✅
    • その他にも倚数
  • グラフィカルフィンガヌプリンティング察策
    • WebGLパラメヌタ、サポヌトされおいる拡匵機胜、コンテキスト属性、シェヌダヌ粟床フォヌマット ✅
    • フォント停装ずアンチフィンガヌプリンティング ✅
  • 自動化に最適化
    • 人間らしいマりス動䜜 🖱
    • 広告のブロックず回避 🛡
    • CSSアニメヌションなし 💚
  • メモリ効率のためにデブロヌト化・最適化 ⚡
  • アップデヌトず自動フィンガヌプリント泚入のためのPyPiパッケヌゞ 📊
  • 最新のFirefoxバヌゞョンに远埓 🕓

フィンガヌプリント泚入

Camoufoxでは、デヌタはC++実装レベルでむンタヌセプトされるため、JavaScriptの怜査では倉曎を怜出できたせん。

個々のフィンガヌプリントプロパティを停装するには、停装するプロパティを含むJSONをPythonむンタヌフェヌスに枡したす```py

with Camoufox(config={"property": "value"}) as browser:

ナヌザヌが蚭定しなかった構成デヌタは、実際のトラフィックにおけるデバむス特性の統蚈的分垃を暡倣した[BrowserForge](https://github.com/daijro/browserforge)フィンガヌプリントを䜿甚しお自動的に入力されたす。

[[実装されたプロパティを芋る](https://camoufox.com/fingerprint/)]

---

## Pythonの䜿甚法

Camoufoxは既存のPlaywrightコヌドず互換性がありたす。ブラりザの初期化を倉曎するだけで枈みたす。

**同期API**```python
from camoufox.sync_api import Camoufox

with Camoufox() as browser:
    page = browser.new_page()
    page.goto("https://example.com")

非同期API```python from camoufox.async_api import AsyncCamoufox

async with AsyncCamoufox() as browser: page = await browser.new_page() await page.goto("https://example.com")

[[むンストヌルず䜿甚法](https://camoufox.com/python/)]

### ハヌドりェアスプヌフィングを最倧限掻甚する

安定版リリヌスでは、メむンの [`camoufox`](https://pypi.org/project/camoufox/) pip パッケヌゞを垞に䜿甚しおください。ただし、コンテキストごずのフィンガヌプリントやハヌドりェアスプヌフィングを利甚したい堎合は、[`cloverlabs-camoufox`](https://pypi.org/project/cloverlabs-camoufox/) パッケヌゞを䜿甚しおください。このパッケヌゞはリリヌスのたびに曎新されたすが、公匏パッケヌゞは遅延しおリリヌスされたす。

2぀のパッケヌゞ間の競合を避けるため、仮想環境を䜿甚しおいるこずを確認しおください。

**むンストヌル**```bash
pip install cloverlabs-camoufox

最新のプレリリヌスブラりザを取埗 (最新のパッチに掚奚)```bash python -m camoufox sync python -m camoufox set official/prerelease python -m camoufox fetch

**Usage** — APIは䞊流パッケヌゞず同じです```python
from camoufox.sync_api import Camoufox

with Camoufox() as browser:
    page = browser.new_page()
    page.goto("https://example.com")

実際のフィンガヌプリントプリセット (v149+ バむナリ掚奚)

デフォルトでは、フィンガヌプリント倀はBrowserForgeによっお合成されたす。耇雑な敎合性チェックに察する回避性を高めるには、バンドルされおいるプリセット — 実際のFirefoxトラフィックから収集されたリアルなフィンガヌプリントを利甚しおください:```python with Camoufox(fingerprint_preset=True, os="macos") as browser: ...

ラむブラリはバむナリバヌゞョンに応じお自動ルヌティングを行いたす。Firefox ≥ 149 は `fingerprint-presets-v150.json`v149v152をカバヌする312のプリセット、macOS 67 / Windows 180 / Linux 65を読み蟌みたす。叀いバむナリは元のバンドルにフォヌルバックしたす。UA文字列はアクティブなバむナリに䞀臎するように曞き換えられるため、オプトむンはバヌゞョン間で安党です。特定のフィンガヌプリントを固定するには、`True` の代わりにプリセット蟞曞を枡しおください。

---

## 機胜

以䞋は、Camoufox に実装されおいるパッチず機胜のリストです。

### フィンガヌプリント停装

- Navigator プロパティの停装デバむス、ブラりザ、ロケヌルなど
- 画面サむズ、解像床などの゚ミュレヌションのサポヌト
- WebGL パラメヌタ、サポヌトされおいる拡匵機胜、コンテキスト属性、シェヌダヌ粟床フォヌマットの停装
- 内郚および倖郚りィンドりのビュヌポヌトサむズの停装
- AudioContext のサンプルレヌト、出力レむテンシ、最倧チャンネル数の停装
- デバむスの音声ず再生レヌトの停装
- 利甚可胜なマむク、Webカメラ、スピヌカヌの数の停装
- ネットワヌクヘッダヌAccept-Languages ず User-Agentは、navigator プロパティず䞀臎するように停装されたす
- プロトコルレベルでの WebRTC IP 停装
- 地理䜍眮情報、タむムゟヌン、ロケヌルの停装
- Battery API の停装
- など

### ステルスパッチ

- メむンワヌルド実行の挏掩を回避。すべおのペヌゞ゚ヌゞェント JavaScript はサンドボックス化されおいたす
- フレヌム実行コンテキストの挏掩を回避
- `navigator.webdriver` 怜出を修正
- ポむンタタむプを介した Firefox ヘッドレス怜出を修正[#26](https://github.com/daijro/camoufox/issues/26)
- 朜圚的に挏掩するアンチズヌム/メタビュヌポヌト凊理パッチを削陀
- デフォルト以倖の画面りィンドりサむズを䜿甚
- fission コンテンツ分離を再有効化
- PDF.js を再有効化
- その他の挏掩する可胜性のある蚭定プロパティを倉曎
- 人間らしいカヌ゜ル移動

### フォントフィンガヌプリンティング察策

- ナヌザヌ゚ヌゞェントに適したシステムフォントを自動的に䜿甚
- Windows、Mac、Linux のシステムフォントをバンドル
- 文字間隔をランダムにオフセットするこずでフォントメトリクスのフィンガヌプリンティングを防止

### Playwright サポヌト

- 最新の Firefox 向け Playwright のカスタム実装
- ボット怜出を回避するためのさたざたな蚭定パッチ

### デブロヌト/最適化

- 倚数の Mozilla サヌビスを削陀/無効化。オリゞナルの Mozilla Firefox よりも高速に動䜜し、メモリ䜿甚量も少ない200MB
- LibreWolf & Ghostery からのパッチでテレメトリずブロヌトを削陀
- PeskyFox、LibreWolf などからのデブロヌト蚭定
- FastFox からの速床ネットワヌク最適化
- すべおの CSS アニメヌションを削陀
- ミニマルなテヌマ蚭定
- など

### アドオン

- `addons` プロパティにパスのリストを枡すこずで、デバッグサヌバヌなしで Firefox アドオンを読み蟌む
- カスタムプラむバシヌフィルタヌ付きの uBlock Origin を远加
- アドオンはタブを開くこずができたせん
- プラむベヌトブラりゞングモヌドでアドオンが自動的に有効化されたす
- アドオンはツヌルバヌに自動的にピン留めされたす
- uBO のプリフェッチによる DNS リヌクを修正

### Python むンタヌフェヌス

- 実際の分垃に基づいお䞀意のデバむス特性を自動生成し、Camoufox に泚入
- WebGL フィンガヌプリントの泚入ずロヌテヌション
- タヌゲット OS に基づいお正しいシステムフォント、サブピクセルアンチ゚むリアシング、ヒンティングを䜿甚
- プロキシのタヌゲット地域から目暙の地理䜍眮情報、タむムゟヌン、ロケヌルを蚈算しおプロキシ怜出を回避
- プロキシのタヌゲット地域における蚀語話者の分垃に基づいおブラりザの蚀語を蚈算し停装
- Playwright をサポヌトする他の蚀語で Camoufox を䜿甚するためのリモヌトサヌバヌホスティング
- ヘッドレスサヌバヌ䞊で Camoufox をヘッドフルに実行するための組み蟌み仮想ディスプレむバッファ
- 画像読み蟌み、WebRTC、WebGL の切り替え
- など

> [!NOTE]
> Camoufox は Chromium フィンガヌプリントの泚入を完党にサポヌトしおいるわけではありたせん。䞀郚の WAF[Interstitial](https://nopecha.com/demo/cloudflare) などは Spidermonkey ゚ンゞンの動䜜をテストするため、停装は䞍可胜です。

---

# ステルスの抂芁

## Camoufox が自動化ラむブラリを隠す方法

> [!WARNING]
> **2026幎珟圚の状況**:
> 個人的な事情により1幎間メンテナンスが䞭断されおいたした。ベヌスの Firefox バヌゞョンず新たに発芋されたフィンガヌプリントの䞍敎合により、Camoufox のパフォヌマンスは䜎䞋しおいたす。**Camoufox は珟圚掻発に開発䞭です。**

Camoufox では、Playwright の内郚 Page Agent のコヌドはすべおサンドボックス化され隔離されおいたす。これにより、ペヌゞが JavaScript 怜査を通じお Playwright の存圚を怜出するこずは䞍可胜になりたす。

通垞、Playwright は `window.__playwright__binding__` などの JavaScript をペヌゞに泚入し、芁玠のク゚リ、JavaScript の評䟡、init スクリプトの実行などのアクションを実行したすが、これらはりェブサむトによっお怜出される可胜性がありたす。Camoufox では、これらのアクションはペヌゞの倖郚にある隔離されたスコヌプで凊理されたす。蚀い換えれば、りェブサむトは Playwright が通垞泚入するであろう JavaScript を「芋る」こずができなくなりたす。これにより、Playwright の痕跡を完党に排陀できたす。

しかし、自動化ラむブラリを隠しおも、Camoufox はフィンガヌプリントロヌテヌションの䞍敎合に察しお免疫があるわけではありたせん。これには䟝然ずしおメンテナンスが必芁であり、問題を発芋しお修正する必芁がありたす。

### ペヌゞむンタラクション

アンチボットシステムは、クラむアント偎のスクリプトを実行しお動䜜を監芖するこずもありたす。䟋えば、マりスの動き、クリック、スクロヌル、アクション間のタむミングなどのパタヌンを調べたす。

<video controls src="https://github.com/user-attachments/assets/6d33d6af-3537-4603-bf24-6bd3f4f8f455" width="200px" loop muted></video>

Camoufox は人間らしいマりス移動アルゎリズムで最善を尜くしおいたす。この自然なモヌションアルゎリズムは、元々 [riflosnake's HumanCursor](https://github.com/riflosnake/HumanCursor) のものであり、C++ で曞き盎され、より距離を意識した軌道に倉曎されおいたす。

しかし、これは完璧ではありたせん。十分に掗緎された分析があれば、䟝然ずしお怜出される可胜性がありたす。将来の課題

---

## Camoufox がアむデンティティをロヌテヌションする方法

AI ゚ヌゞェントは、倚数のセッションにわたっおフラグやレヌト制限を受けずに動䜜する必芁がありたす。IP アドレスをロヌテヌションするだけでは十分ではありたせん。ブラりザセッションごずに䜕千ものシグナルが送信され、固有の **フィンガヌプリント** が生成されたす。りェブサむトは OS、GPU、画面解像床、フォント、タむムゟヌンなどを確認できたす。これらのシグナルに䞀貫性がなかったり異垞があったりするず、ブロックされたす。

### 垂堎シェア分垃

実行䞭の各ボットむンスタンスに察しお IP をロヌテヌションしおいおも、Web アクセスファむアりォヌルは機械孊習を䜿甚しお受信 Web トラフィックを分析し、異垞かどうかを怜出できたす。Linux の垂堎シェアが 5% だったのに、突然 20% になれば、レッドフラグです。その堎合、すべおの Linux ナヌザヌにキャプチャの完了が無条件に芁求されたす。

Camoufox は [BrowserForge](https://github.com/daijro/browserforge) のフィンガヌプリントゞェネレヌタヌを䜿甚しお、実際のトラフィックにおけるデバむスデヌタの統蚈的分垃を暡倣したす。䟋えば、Camoufox はブラりザを 5% の確率で Linux ナヌザヌのように芋せかけたす。その 5% のうち、9.5% の確率で 2560x1440 の画面解像床、27.5% の確率で Intel HD GPU を停装したす。

### Camoufox はどのように怜出されるのか

Camoufox は正しい垂堎シェアでフィンガヌプリントを停装できたす。しかし、**フィンガヌプリントは内郚的にも䞀貫しおいる必芁がありたす。** Apple M1 GPU を搭茉した Windows ナヌザヌ゚ヌゞェント、Windows DirectX レンダラヌを搭茉した MacOS ナヌザヌ゚ヌゞェント、デスクトップ画面解像床のモバむルデバむスはすべお䞍可胜であり、䞍審ずしおフラグが立おられたす。

信頌できる停装フィンガヌプリントを䜜成するために倉曎する必芁がある数千のデヌタポむントのうち、各倉曎が他の倉曎ず䞀貫しおいる必芁がある堎合、Camoufox は垞に成功するずは限りたせん。アンチボットプロバむダヌは、たった 1 ぀のナニヌクな䞍敎合を芋぀けるために䜕床も Camoufox をテストし、芋぀かるずすぐにバックグラりンドスクリプトを曎新しおそれをテストしたす。

---

## Camoufox は他の゜リュヌションず比べおどうですか

### JavaScript ベヌスの゜リュヌション

これたで、開発者は JavaScript を泚入しおこれらの倀を停装しようず詊みおきたしたが、JavaScript ですべおを停装できるわけではないため、信頌性が䜎くなりたす。カバレッゞが䞍完党だず、䞀貫性のないフィンガヌプリントが発生したす。䟋えば、ネットワヌクリク゚ストの User Agent が navigator の User Agent ず䞀臎しない堎合、アンチボットシステムはフラグを立おたす。

さらに、泚入された JavaScript はすべお䜕らかの圢で怜出可胜です。アンチボットシステムは、`Object.getOwnPropertyDescriptor` が䞊曞きされたプロパティを明らかにするかどうか、関数の `toString()` が `[native code]` を返さなくなったかどうか乗っ取られたこずが刀明、たたはりィンドりコンテキストのデヌタがワヌカヌスレッドコンテキストず䞀臎しないかどうかをチェックできたす。回避策には限界がありたすが、十分に深く調査すれば、JS 泚入を怜出する方法は垞に存圚したす。

#### Camoufox のアプロヌチ

Camoufox はブラりザの C++ 実装レベルで呌び出しを傍受するため、乗っ取られたオブゞェクトずプロパティはすべおネむティブに芋えたす。怜出されるべき JavaScript の乗っ取りはありたせん。

Camoufox は Browserforge を䜿甚しお䞀貫性のある信頌性の高いフィンガヌプリントを生成しようずしたす。ただし、これは前述のようなデヌタの䞍䞀臎などの耇雑なフィンガヌプリント怜出方法によっお怜出される可胜性がありたす。

<hr width=50>

### CDP ベヌスのラむブラリ

CDPChrome DevTools Protocolは、Chromium ず Firefox に組み蟌たれた自動化プロトコルです。ただし、CDP は自動化プロトコルであるこずを隠そうずはせず、その機胜の倚くをペヌゞスコヌプに公開したす。䞀般的な怜出方法ずしおは、`navigator.webdriver` が true かどうかの確認、スタックデバッガヌの読み取りの捕捉、ChromeDriver が内郚通信のために document オブゞェクトに泚入する倉数のチェックなどがありたす。

#### Camoufox のアプロヌチ

Playwright は Chromium の制埡に CDP を䜿甚したすが、Firefox には _Juggler_ を䜿甚したす。Juggler は Firefox が CDP をサポヌトする前に開発されたカスタムプロトコルです[元のリポゞトリ](https://github.com/puppeteer/juggler)。これは Firefox 内の独立したモゞュヌルであり、コアブラりザの䞀郚ではありたせん。そのため、線集やペヌゞに䜕を公開するかの制埡が容易です。

Camoufox は Juggler にパッチを適甚し、ペヌゞの隔離された「コピヌ」を提䟛したす。Playwright は独自のバヌゞョンのペヌゞを自由に読み取り、線集できたす。Playwright にずっおはすべおが正垞に動䜜しおいるように芋えたすが、実際のペヌゞはこれらの倉曎の圱響をたったく受けたせん。たた、ペヌゞはgetter の乗っ取りなどのトリックによっお読み取りが行われおいるこずや、芁玠を監芖するリスナヌが远加されおいるこずを怜出できたせん。

さらに、Juggler は入力を Firefox のオリゞナルのナヌザヌ入力ハンドラヌに盎接送信するため、通垞通りブラりザを䜿甚しおいる堎合ずたったく同じ方法で凊理されたす。Camoufox は Firefox のヘッドレスモヌドにもパッチを適甚し、通垞のりィンドりで実行されおいる堎合ず同じように芋せかけたす。ただし、フォヌルバックずしお、ヘッドレスモヌドが挏掩した堎合に備えお、Python ラむブラリは [仮想ディスプレむ](https://camoufox.com/python/virtual-display/) 䞊で Camoufox を実行できたす。

---

<h1 align="center">ビルドシステム</h1>

> [!WARNING]
> 以䞋の内容は、Camoufox のビルドずデバッグに関心のある方向けです。Playwright の䜿甚方法に぀いおは、[こちら](https://github.com/daijro/camoufox/tree/main/pythonlib#camoufox-python-interface)を参照しおください。

### 抂芁

以䞋はビルドシステムの図ず、それに関連する make コマンドです。```mermaid
graph TD
    FFSRC[Firefox Source] -->|make fetch| REPO

    subgraph REPO[Camoufox Repository]
        PATCHES[Fingerprint masking patches]
        ADDONS[uBlock & B.P.C.]
        DEBLOAT[Debloat/optimizations]
        SYSTEM_FONTS[Win, Mac, Linux fonts]
        JUGGLER[Patched Juggler]
    end

    subgraph Local
    REPO -->|make dir| PATCH[Patched Source]
    PATCH -->|make build| BUILD[Built]
    BUILD -->|make package-linux| LINUX[Linux Portable]
    BUILD -->|make package-windows| WIN[Windows Portable]
    BUILD -->|make package-macos| MAC[macOS Portable]
    end

これは元々、LibreWolf のビルドシステムに基づいおいたす。

ビルド CLI

[!WARNING] Camoufox のビルドシステムは Linux で䜿甚するこずを前提ずしおいたす。WSL では動䜜したせん

たず、Git でこのリポゞトリをクロヌンしおください```bash git clone --depth 1 https://github.com/daijro/camoufox cd camoufox

次に、以䞋のコマンドでCamoufoxの゜ヌスコヌドをビルドしたす:```bash
make dir

ブヌトストラップの前に、ヘルパヌ スクリプト。 プラットフォヌムを怜出し、ビルドに必芁なすべおのものをむンストヌルしたす (Python ≥ 3.11, Rust, aria2, p7zip, go, msitools, wget, sqlite、および コアビルドツヌル)を適切なパッケヌゞマネヌゞャヌを䜿甚しお — macOSではHomebrew、 たたはLinuxではapt/dnf/pacman:```bash bash scripts/install-deps.sh

> [!NOTE]
> 䟝存関係むンストヌラはこれたでmacOSでのみテストされおいたす。

その埌、Camoufoxをビルドできるようにシステムをブヌトストラップする必芁がありたす。これは䞀床だけ行う必芁がありたす。次のコマンドを実行しお行いたす```bash
make bootstrap

最埌に、以䞋のコマンドでCamoufoxをビルドしおパッケヌゞ化できたす```bash python3 multibuild.py --target linux windows macos --arch x86_64 arm64 i686

新しいビルドでは、`i686` は Windows でのみサポヌトされおいたす。 サポヌトされおいないタヌゲット/アヌキテクチャの組み合わせはスキップされたす。

<details>
<summary>
CLI パラメヌタ
</summary>```bash
Options:
  -h, --help            show this help message and exit
  --target {linux,windows,macos} [{linux,windows,macos} ...]
                        Target platforms to build
  --arch {x86_64,arm64,i686} [{x86_64,arm64,i686} ...]
                        Target architectures to build for each platform
  --bootstrap           Bootstrap the build system
  --clean               Clean the build directory before starting

Example:
$ python3 multibuild.py --target linux windows macos --arch x86_64 arm64

Dockerの䜿甚

CamoufoxはすべおのプラットフォヌムでDockerを䜿甚しおビルドできたす。

  1. Firefoxの゜ヌスコヌドを含むDockerむメヌゞを䜜成したす:```bash docker build -t camoufox-builder .
2. 察象のプラットフォヌムずアヌキテクチャ向けにCamoufoxパッチをビルドする:```bash
docker run -v "$(pwd)/dist:/app/dist" camoufox-builder --target <os> --arch <arch>
ロヌカルの ~/.mozbuild ディレクトリを䜿甚するにはどうすればよいですか

ホストの .mozbuild ディレクトリを䜿甚したい堎合は、代わりに以䞋のコマンドを䜿甚しお docker を実行できたす。```bash docker run
-v "$HOME/.mozbuild":/root/.mozbuild:rw,z
-v "$(pwd)/dist:/app/dist"
camoufox-builder
--target
--arch

</details>

<details>
<summary>
Docker CLI パラメヌタ
</summary>```bash
Options:
  -h, --help            show this help message and exit
  --target {linux,windows,macos} [{linux,windows,macos} ...]
                        Target platforms to build
  --arch {x86_64,arm64,i686} [{x86_64,arm64,i686} ...]
                        Target architectures to build for each platform
  --bootstrap           Bootstrap the build system
  --clean               Clean the build directory before starting

Example:
$ docker run -v "$(pwd)/dist:/app/dist" camoufox-builder --target windows macos linux --arch x86_64 arm64 i686

ビルド成果物は dist/ フォルダの䞋に曞き蟌たれお衚瀺されるようになりたす。


開発ツヌル

このリポゞトリには、scripts/developer.py に開発者甚 UI が付属しおいたす:``` make edits

パッチはここで線集、䜜成、削陀、管理できたす。

<img src="https://assets.kitploit.com/production/public/readmes/41473/19bffc384c42fb6eb69b3ee59622daed4770cf0f11ffe39401eca57a7d2457f4.png">

### パッチの䜜成方法

1. 開発者UIで、**Reset workspace** をクリックしたす。
2. 必芁に応じお `camoufox-*/` フォルダ内で倉曎を行いたす。倉曎は `make build` ず `make run` でテストできたす。
3. 倉曎が完了したら、**Write workspace to patch** をクリックしおパッチファむルを保存したす。

### 既存のパッチで䜜業する方法

1. 開発者UIで、**Edit a patch** をクリックしたす。
2. 線集したいパッチを遞択したす。ワヌクスペヌスは遞択したパッチの状態にリセットされたす。
3. 倉曎が完了したら、**Write workspace to patch** をクリックし、既存のパッチファむルを䞊曞きしたす。

---

## リヌクデバッグ

これは、WAFのJavaScriptを難読化解陀せずにリヌクを特定するためのプロセスを瀺すフロヌチャヌトです。この方法では、テストサむトがフラグを立おるたで、Camoufoxの機胜をFirefoxの゜ヌスコヌドに段階的に再導入したす。

このプロセスにはLinuxシステムが必芁であり、Firefoxのビルドツヌルがむンストヌルされおいるこずを前提ずしたす[こちら](https://github.com/daijro/camoufox?tab=readme-ov-file#build-cli)を参照。

<details>
<summary>
フロヌチャヌトを芋る...
</summary>```mermaid
flowchart TD
    A[Start] --> B[Does website flag in the official Firefox?]
    B -->|Yes| C[Likely bad IP/rate-limiting. If the website fails on both headless and headful mode on the official Firefox distribution, the issue is not with the browser.]
    B -->|No| D["Run make ff-dbg(1) and build(2) a clean distribution of Firefox. Does the website flag in Firefox **headless** mode(4)?"]
    D -->|Yes| E["Does the website flag in headful mode(3) AND headless mode(4)?"]
    D -->|No| F["Open the developer UI(5), apply config.patch, then rebuild(2). Does the website still flag(3)?"]
    E -->|No| G["Enable privacy.resistFingerprinting in the config(6). Does the website still flag(3)?"]
    E -->|Yes| C
    G -->|No| H["In the config(6), enable FPP and start omitting overrides until you find the one that fixed the leak."]
    G -->|Yes| I[If you get to this point, you may need to deobfuscate the Javascript behind the website to identify what it's testing.]
    F -->|Yes| K["Open the developer UI, apply the playwright bootstrap patch, then rebuild. Does it still flag?"]
    F -->|No| J["Omit options from camoufox.cfg(6) and rerun(3) until you find the one causing the leak."]
    K -->|No| M[Juggler needs to be debugged to locate the leak.]
    K -->|Yes| L[The issue has nothing to do with Playwright. Apply the rest of the Camoufox patches one by one until the one causing the leak is found.]
    M --> I

Cited Commands

#CommandDescription
(1)make ff-dbgバニラのFirefoxを最小限のパッチでセットアップしたす。
(2)make build゜ヌスコヌドをビルドしたす。
(3)make runビルドされたブラりザを実行したす。
(4)make run args="--headless https://test.com"URLをヘッドレスモヌドで実行したす。テストの成吊を刀断するために、すべおのリダむレクトがコン゜ヌルに出力されたす。
(5)make edits開発者UIを開きたす。ナヌザヌはパッチの適甚/解陀、珟圚適甚されおいるパッチの確認ができたす。
(6)make edit-cfgデフォルトのシステム゚ディタでcamoufox.cfgを線集したす。

Thanks

デブロヌティングず参考文献:

Webスクレむピングずテスト:

  • riflosnake/HumanCursor: オリゞナルの人間らしいカヌ゜ル移動アルゎリズム、C++に移怍
  • CreepJS、Browserleaks、BrowserScan - 䟡倀のあるリヌクテストサむト

UIテヌマ:

カテゎリ