ホーム/ブログ/Rule Provider使い方ガイド
上級者向け

Rule Provider使い方ガイド:ルールセットで設定ファイルを簡単に

公開日 2026-05-08 · 読了時間9分 · Clash / mihomoコア利用者向け

「特定カテゴリのサイトはすべてこのルールで処理する」「広告ドメインはすべて統一して処理する」といったことをしたい場合、DOMAIN-SUFFIX を何十行も手書きするのは現実的ではありません。すでにコミュニティにはこうしたルールセットを継続的にメンテナンスしている人たちがいます。Rule Providerは、こうしたリモートのルールセットを設定ファイルから「参照」する仕組みで、ローカルには参照用の1行を書くだけで、内容はリモートファイルから自動的に更新されます。

01基本的な書き方

Rule Providerは2段階で構成されます。まず rule-providers でルールセットの参照元を宣言し、次に rules の中で RULE-SET を使ってそれを参照します。

rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://example.com/rules/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

rules:
  - RULE-SET,reject,REJECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

02behaviorフィールドの3種類

behavior はこのルールセットの内容をどう解釈するかを決めるフィールドで、誤って設定するとルールセット全体が機能しなくなる、最もミスしやすい項目です。

behaviorルールセットの内容形式典型的な用途
domainドメイン名だけのリスト。1行に1つのドメインまたはドメインサフィックス広告ドメインのブロックリスト、特定サイトの分流リスト
ipcidrIPレンジだけのリスト。1行に1つのCIDR国・地域単位のIPレンジ、特定クラウド事業者のIPレンジ
classical最終アクションを含まない完全なルール文。例:DOMAIN-SUFFIX,x.com複数のルールタイプの混在、より柔軟なカスタムルールセット

typeフィールド:httpかfileか

type: http はリモートURLから定期的に更新を取得する、最も一般的な使い方です。type: file はローカルに既にあるルールセットファイルを直接使う方式で、自分で管理していてネット経由の更新が不要な場合に向いています。

03よく使われるルールセットの提供元

コミュニティで知られているルールセットプロジェクトには、ドメインを分類整理したGeoSiteシリーズや、各種「ACL4SSR」系のルール集などがあります。これらは通常 domainclassical の両形式のファイルを提供しているので、具体的なリンクは各プロジェクトの公式リポジトリで確認し、使用するファイル形式と behavior の設定が一致しているか必ず確認してください。

ヒント:RULE-SET の参照も「上から順にマッチする」というルールに従います。範囲が絞られたルールセットを先に、汎用的な最終ルールを最後に置くという考え方は通常のルールと同じです。

04ルールセットが機能しない理由

  • behaviorとファイル形式が一致していない:例えばリモートファイルが実際には単純なドメインリストなのに behavior: classical と書いてしまうと、コアがエラーを出すか、そのルールセットを無視します。
  • pathが指すローカルキャッシュが古いurl を変更しても、既にキャッシュされた古いファイルが残っている場合、一部のクライアントは自動的に上書きしません。path が指すローカルファイルを手動で削除して再取得させる必要があります。
  • intervalが長すぎる:更新間隔(単位:秒)を長く設定しすぎると、ルールセットが長期間古いバージョンのままになります。日常使用では43200〜86400(12〜24時間)程度が妥当です。

05Rule Providerと通常のルールは混在できるか

できますし、これが最も一般的な使い方です。rules リスト内では RULE-SET の参照と通常のルール(DOMAIN-SUFFIXGEOIP など)を自由に混在させて記述できます。コアはルールの出所に関わらず「上から順に照合し、マッチしたら処理を止める」という順序で処理します。実際の運用では、よく使うルールセット(広告ブロック、地域ごとの振り分けなど)を上部に、その間に自分で書いた特定ドメイン用のルールをいくつか挟み、最後に最終ルールで締める、という組み合わせが最も手間のかからないやり方になることが多いです。

06自分でルールセットファイルを管理する必要はあるか

ほとんどのユーザーには不要です。コミュニティが管理しているルールセットは広告ブロックや地域別のサイト分類など主要なニーズをすでにカバーしており、継続的に更新もされているため、そのまま参照すれば十分です。type: file とローカルファイルで自分だけのルールセットを管理する価値があるのは、社内限定のドメインや長期的に自分で管理している特定サイトのリストなど、公開共有に向かない非常に特殊な分流ニーズがある場合だけです。通常はいくつかの手書きルールや rules 内の通常ルールで十分間に合います。