mcpField
B
browse-config

browse-config

github.com/ulpi-io開発5107 回インストール9 週間前に更新
リポジトリ

browse-config について

browse-configは、browse CLI向けのCamoufox設定を作成するスキルです。プリセットまたは個別の設定を選び、他の項目を保持しながらbrowse.jsonや名前付きプロファイルに保存できます。

主な機能

  1. 01ステルス・高速・Google-safeのプリセット
  2. 02カスタム項目の対話的な選択
  3. 03browse.jsonまたはプロファイルへの保存
  4. 04他の設定を保つマージ
  5. 05Camoufoxの起動方法の案内

活用シーン

  1. 01保護されたサイトのスクレイピング設定
  2. 02スクレイピング時のリソース読み込みを抑制
  3. 03Google検索用のブラウザ設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ulpi-io/skills --skill browse-config

インストール後、Claude Code で/browse-configを入力して読み込まれたか確認します。

詳細

browse-config:Camoufox 設定ジェネレーター

ステップ 0:ユーザーのニーズを確認する

AskUserQuestion を使って、目的を確認します。以下のプリセットを提示します。

プリセット説明
ステルスブラウジング保護されたサイトのスクレイピング向けです。geoip、humanize、デフォルトの OS フィンガープリントを有効にします。
高速スクレイピング最小限の負荷で動作します。画像、WebRTC、WebGL をブロックします。ディスクキャッシュを有効にします。
Google セーフ「通常と異なるトラフィック」によるブロックを避けて Google 検索を行うための設定です。geoip、humanize、ランダムな OS を有効にします。
カスタム各オプショングループを対話形式で設定します。
プリセットのデフォルト設定

ステルスブラウジング:

{
  "geoip": true,
  "humanize": true
}

高速スクレイピング:

{
  "blockImages": true,
  "blockWebrtc": true,
  "blockWebgl": true,
  "enableCache": true
}

Google セーフ:

{
  "geoip": true,
  "humanize": true,
  "os": ["windows", "macos", "linux"]
}

ステップ 1:カスタム設定(プリセットを選んだ場合はスキップ)

ユーザーが「カスタム」を選んだ場合は、AskUserQuestion を使って各オプショングループについて確認します。一度に 1 つのグループを提示します。

アイデンティティ
  • os(文字列または配列)-- 対象 OS のフィンガープリント:「windows」、「macos」、「linux」、またはランダム選択用の配列
  • locale(文字列または配列)-- ブラウザーのロケール。例:「en-US」または ["en-US", "en-GB"]
  • fingerprint(オブジェクト)-- 高度なフィンガープリントの上書き設定(ほとんどのユーザーは設定不要です)
プライバシー
  • blockWebrtc(ブール値)-- IP リークを防ぐために WebRTC をブロックします
  • blockWebgl(ブール値)-- WebGL フィンガープリンティングをブロックします
  • blockImages(ブール値)-- 画像の読み込みをブロックします(速度も向上します)
パフォーマンス
  • enableCache(ブール値)-- ブラウザーのディスクキャッシュを有効にします
  • blockImages(ブール値)-- プライバシーの項目でも説明済みです。ここでは速度が向上する点に触れます
ネットワーク
  • proxy(文字列またはオブジェクト)-- "http://user:pass@host:port" のようなプロキシ URL、または {"server":"...","username":"...","password":"..."}
  • geoip(文字列またはブール値)-- プロキシ IP から自動判定する場合は true、または "US" のような国コード
動作
  • humanize(ブール値または数値)-- デフォルトの人間らしい遅延を使う場合は true、速度を調整する場合は数値(0.5~2.0)
詳細設定(ユーザーから求められた場合のみ提示)
  • addons(文字列[])-- 読み込む Firefox アドオンのパス
  • excludeAddons(文字列[])-- スキップする組み込みアドオン
  • firefoxUserPrefs(Record)-- Firefox の about:config 設定をそのまま指定
  • args(文字列[])-- ブラウザーの起動時に追加する引数
  • fonts(文字列[])-- カスタムフォントのリスト
  • customFontsOnly(ブール値)-- カスタムフォントのみを使用します
  • screen(オブジェクト)-- {minWidth, maxWidth, minHeight, maxHeight}
  • window([width, height])-- 固定ウィンドウサイズ
  • ffVersion(数値)-- 対象とする Firefox のバージョン
  • headless(ブール値または "virtual")-- ヘッドレスモード(検出回避には推奨されません)
  • mainWorldEval(ブール値)-- メインワールドでの JavaScript 評価を有効にします
  • executablePath(文字列)-- カスタム camoufox バイナリーのパス
  • env(Record)-- ブラウザープロセスの環境変数
  • virtualDisplay(文字列)-- 仮想ディスプレイの設定(Linux のみ)
  • disableCoop(ブール値)-- Cross-Origin-Opener-Policy ヘッダーを無効にします
  • debug(ブール値)-- デバッグログを有効にします

ステップ 2:保存先を確認する

AskUserQuestion を使って、次の 2 つのオプションを提示します。

  1. browse.json -- プロジェクトの browse.json に "camoufox" セクションを追加します。--runtime camoufox を使うたびに自動で適用されます。
  2. 名前付きプロファイル -- .browse/camoufox-profiles/<name>.json に保存します。--camoufox-profile <name> と一緒に使います。シナリオごとの設定に適しています(例:「google」、「scrape」、「stealth」)。

ユーザーが名前付きプロファイルを選んだ場合は、プロファイル名を確認します。

ステップ 3:ファイルを生成して書き込む

browse.json の場合

既存の browse.json があれば、まず読み込みます。新しい camoufox キーをマージして、結果を書き込みます。

{
  "camoufox": {
    "geoip": true,
    "humanize": true
  }
}
名前付きプロファイルの場合

必要に応じて .browse/camoufox-profiles/ ディレクトリを作成します。設定オブジェクトのみを書き込みます。

{
  "geoip": true,
  "humanize": true,
  "os": "windows"
}

ステップ 4:使い方を提示する

ファイルを書き込んだ後、使い方を正確にユーザーに伝えます。

browse.json の場合:

Run: browse --runtime camoufox goto <url>
The camoufox section is applied automatically.

名前付きプロファイルの場合:

Run: browse --runtime camoufox --camoufox-profile <name> goto <url>

必ず次の点を伝えます:「--camoufox-profile フラグは、新しいサーバーを起動するときにのみ適用されます。サーバーがすでに実行中の場合は、まず browse stop で停止してください。」

CamoufoxConfig のすべてのオプション

すべてのキーは JSON で camelCase を使用します。内部では自動的に camoufox-js 用の snake_case にマッピングされます。

キー型説明
osstring or string[]対象 OS のフィンガープリント
blockImagesboolean画像の読み込みをブロックします
blockWebrtcbooleanWebRTC をブロックします
blockWebglbooleanWebGL をブロックします
disableCoopbooleanCOOP ヘッダーを無効にします
geoipstring or booleanGeoIP のスプーフィング(true または国コード)
humanizeboolean or number人間らしい遅延(true または速度係数)
localestring or string[]ブラウザーのロケール
addonsstring[]Firefox アドオンのパス
fontsstring[]カスタムフォント
customFontsOnlybooleanカスタムフォントのみを使用します
screenobject画面サイズの範囲({minWidth, maxWidth, minHeight, maxHeight})
window[number, number]固定ウィンドウサイズ
fingerprintobjectフィンガープリントの上書き設定
ffVersionnumberFirefox のバージョン
headlessboolean or "virtual"ヘッドレスモード
mainWorldEvalbooleanメインワールドの eval
firefoxUserPrefsRecordFirefox の about:config 設定
proxystring or objectプロキシ設定
enableCachebooleanディスクキャッシュを有効にします
debugbooleanデバッグログ
excludeAddonsstring[]除外するアドオン
executablePathstringカスタムブラウザーパス
argsstring[]ブラウザーの追加引数
envRecord環境変数
virtualDisplaystring仮想ディスプレイ(Linux)

ガードレール

  • 設定を生成する前に、必ず AskUserQuestion を使用してください。ユーザーの好みを推測してはいけません。
  • 生成するすべての JSON では camelCase キーを使用してください(CLI が snake_case へのマッピングを処理します)。
  • camoufox キー以外の既存の browse.json フィールドを上書きしてはいけません。
  • ユーザーに表示する出力にプロキシの認証情報を含めてはいけません。認証情報はファイルにのみ書き込んでください。
  • プリセットのデフォルト値を除き、ユーザーが要求または確認していないオプションを含めてはいけません。

コメント