単一のプロキシノードを使う場合、Clashのプロキシグループはただのセレクターに過ぎません。しかし複数のノードがあると、プロキシグループは本来の価値を発揮します:レイテンシベースの自動選択、シームレスなフェイルオーバー、ノード間の負荷分散、さらには高度なルーティングシナリオのためのマルチホップチェーン。この記事ではClashの5種類すべてのプロキシグループタイプについて、その設計思想と実践的な設定を解説します。
5種類のプロキシグループタイプ
Clashは異なるトラフィック管理目標に対応した5種類のプロキシグループタイプをサポートしています:
| タイプ | 選択方法 | 適したシナリオ |
|---|---|---|
select | ユーザーが手動選択 | メインプロキシグループ;ユーザーが手動で切り替え |
url-test | 最低レイテンシを自動選択 | 複数ノード;常に最速を使用 |
fallback | 順番に試し、最初の利用可能なものを使用 | 高可用性;ノード障害時に自動切り替え |
load-balance | ノード間でラウンドロビン | 同時接続を分散;帯域幅の天井を引き上げる |
relay | 順番にノードをチェーン | マルチホップルーティング;出口IPを隠す |
url-test:自動最良ノード選択
url-testグループはテストURLに定期的にHTTPリクエストを送り、各ノードのレイテンシを計測して自動的に最低レイテンシのノードに切り替えます。intervalはテストの頻度を制御します。toleranceは切り替えのしきい値を設定します。現在のノードのレイテンシが最良ノードをtolerancems以上上回った場合のみ切り替えることで、不必要なフラッピングを防ぎます。
proxy-groups: - name: Auto-Select type: url-test proxies: - node-us-01 - node-eu-01 - node-jp-01 url: https://www.gstatic.com/generate_204 interval: 300 # 5分ごとにテスト tolerance: 50 # レイテンシ差が50ms以上の場合のみ切り替え
fallback:高可用性切り替え
url-testと異なり、fallbackは最速を選ばず、最初の利用可能なノードをリストの順番で使用します。現在のノードがヘルスチェックに失敗(タイムアウトまたは到達不能)した場合のみ次のエントリに移動します。これはプライマリ/バックアップセットアップに最適です。通常はノードAを使用し、Aがダウンしたら自動的にノードBに切り替えます。
proxy-groups: - name: Primary-Backup type: fallback proxies: - node-primary # 最初に使用 - node-backup-1 # プライマリが失敗したら自動切り替え - node-backup-2 # 3番目の選択肢 url: https://www.gstatic.com/generate_204 interval: 60
load-balance:ノード間で接続を分散
load-balanceグループは複数のノードに同時接続を分散させ、総スループットを向上させます。Clashは2種類のstrategyをサポートしています:
- consistent-hashing:同じ宛先ドメイン/IPへの接続は常に同じノードを使用。IPの一貫性が必要なサービス(ログイン、ストリーミングセッション)に最適。
- round-robin:新しい接続のたびにノードリストを順番に使用。最も均等な分散。ファイルの一括ダウンロードなどステートレスなリクエストに最適。
relay:マルチホッププロキシチェーン
relayはClashの最も特殊なグループタイプです。トラフィックはproxiesに列挙された順番でノードを通過します。Torのマルチホップ設計に似ています。最終的な出口IPは最後のノードのIPです。一般的なユースケース:初期レイテンシを下げるために近くのノードを経由してから地理的に異なるノードで出口する、または複数のホップをチェーンして真の出口ソースを隠す。
proxy-groups: - name: Relay-Chain type: relay proxies: - node-hop-1 # トラフィックはここに最初に入る - node-hop-2 # ここから出口
グループタイプの組み合わせ:本番環境テンプレート
実際には、プロキシグループタイプを組み合わせるのが最善です:トップレベルのselectグループでユーザーが「Auto-Select」と手動ピン留めノードを切り替えられるようにします。その下にurl-testとfallbackサブグループを配置して自動化しつつ、手動オーバーライドの機能も維持します。
proxy-groups: # トップレベル手動セレクター - name: Proxy type: select proxies: - Auto-Select - Primary-Backup - node-us-01 # 自動レイテンシサブグループ - name: Auto-Select type: url-test proxies: - node-us-01 - node-eu-01 - node-jp-01 url: https://www.gstatic.com/generate_204 interval: 300 tolerance: 50 # プライマリ/バックアップサブグループ - name: Primary-Backup type: fallback proxies: - node-us-01 - node-eu-01 url: https://www.gstatic.com/generate_204 interval: 60