Clash を使い始めたばかりの頃、多くのユーザーは rules セクションに数千行ものドメインや IP 範囲を直接書き込んでしまいがちです。しかし、ネットワーク環境が複雑になり、広告ブロックやストリーミングサービスの分流ルールを頻繁に更新する必要が出てくると、この「巨大な単一ファイル」方式は管理の限界に達します。そこで登場するのが、Clash の真のパワーを引き出す Rule Providers 機能です。
1. Rule Provider とは何か?そのメリットを理解する
Rule Provider(ルールプロバイダー)とは、簡単に言えば「外部からルールセットを読み込み、自動的に更新・管理する仕組み」のことです。従来の rules フィールドに直接記述する方法と比較して、以下のような圧倒的な利点があります。
- YAML のスリム化: メインの設定ファイルから膨大なリストを排除し、構造を読みやすく保てます。
- 自動更新: ルールが公開されている URL を指定するだけで、Clash が定期的に最新のリストをダウンロードします。手動でコピー&ペーストする必要はありません。
- モジュール化: 「SNS 用」「動画配信サービス用」「広告ブロック用」など、目的別にルールを分割して管理できます。
- メモリ効率: 膨大なルールを効率的にインデックス化するため、大規模なリストを使用しても動作が安定します。
.yaml または .mrs 形式のファイルを使用することをお勧めします。2. Rule Provider の基本構造と設定方法
Rule Provider を導入するには、設定ファイル内に rule-providers セクションを作成し、各プロバイダーの名前、タイプ、動作を定義します。以下に標準的な設定例を示します。
rule-providers:
google-rules:
type: http
behavior: domain
url: "https://example.com/google-list.yaml"
path: ./ruleset/google.yaml
interval: 86400
ads-rules:
type: http
behavior: classical
url: "https://example.com/ads-list.yaml"
path: ./ruleset/ads.yaml
interval: 86400
各パラメータの解説
| パラメータ | 説明 |
|---|---|
type |
http(リモート)または file(ローカル)を指定します。 |
behavior |
domain(ドメインのみ)、ipcidr(IP範囲)、classical(Clash標準形式)から選択。 |
interval |
自動更新の間隔を秒単位で指定します(例:86400 は 24 時間)。 |
path |
ダウンロードしたファイルを保存するローカルパスです。 |
3. 定義したプロバイダーをルールに適用する
rule-providers を定義しただけでは、分流は有効になりません。メインの rules セクションで、どのプロバイダーをどのプロキシグループに紐付けるかを指定する必要があります。
rules: # 広告ブロック - RULE-SET,ads-rules,REJECT # Google 関連を特定のグループへ - RULE-SET,google-rules,Google-Group # その他をデフォルトへ - MATCH,DIRECT
RULE-SET キーワードを使用する際は、プロバイダー名が rule-providers セクションで定義したものと完全に一致しているか確認してください。4. 高度な運用:モジュール化とローカル管理
さらに高度な管理を目指すなら、ローカルファイルを活用したモジュール化が有効です。例えば、特定のプライベートなドメインを分流したいが、外部の URL には公開したくない場合、type: file を使用します。
カスタムルールの追加手順
- Clash の設定ディレクトリ内に
rulesetフォルダを作成します。 my-custom.yamlというファイルを作成し、ルールを記述します。- 設定ファイルの
rule-providersでそのファイルを読み込みます。
rule-providers:
my-private-rules:
type: file
behavior: classical
path: ./ruleset/my-private.yaml
これにより、オンラインの巨大なリストと、自分専用の細かい調整ルールを美しく共存させることができます。また、behavior: domain を活用すると、プレーンテキストに近い非常に軽量なリスト形式(ドメイン一行ずつ)が利用可能になり、大規模なフィルタリングリストの読み込み速度が劇的に向上します。
5. トラブルシューティングとベストプラクティス
Rule Provider を活用する上で、よくある問題とその対策をまとめました。
- 更新されない場合:
intervalが長すぎないか、または URL が有効か確認してください。ダッシュボード(Yacd や Meta など)から手動更新をトリガーすることも可能です。 - メモリ使用量: あまりに多くの Provider(数十個以上)を登録すると、起動時に一斉にダウンロードが始まり、低スペックなルーターなどでは負荷がかかることがあります。
- 優先順位:
rulesセクションは上から順に評価されます。広範囲をカバーするRULE-SETよりも前に、個別のDOMAINルールを置くことで例外処理が可能です。
結論として、Rule Providers は Clash を単なる「プロキシツール」から「インテリジェントなネットワークゲートウェイ」へと進化させる鍵となります。一度この設定に慣れてしまえば、二度と数千行の YAML を手動で編集する苦痛に戻ることはないでしょう。ぜひ、この記事のテンプレートを参考に、自分だけの最適化された設定を構築してみてください。