1 ACL4SSR と Rule Provider の役割
ACL4SSR は、長年コミュニティによってメンテナンスされてきた「Clash 向けルール断片」の集合体です。単体では完成した設定ファイルではありませんが、Netflix や Disney+ に代表されるストリーミング CDN、広告ネットワーク、国内/海外の典型ドメインなどを、小さな YAML やリストに分割して公開している点が特徴です。Mihomo(Clash Meta)ではこれを rule-providers として HTTP 購読し、ローカルにキャッシュしながら interval ごとに差分更新できます。
ルールをすべて手書きすると、サフィックスの綴り違いや更新漏れがすぐに積み上がります。ACL4SSR を購読する本質的なメリットは、「誰かが毎週のようにドメイン増減を追ってくれる作業を外注できる」ことにあります。あなたが守るべきは、自宅回線や VPS のポリシーに合わせて どの断片を取り込むか と、どのプロキシグループへ流すか という二点に絞られます。
2 Netflix/Disney+ とノード選定
ここで誤解されやすいのは、「ルールセットを入れた瞬間に自動でアンロック完了」という期待です。実際には、ルールはあくまで マッチしたトラフィックを指定のアウトバウンドへ送る地図 に過ぎません。Netflix や Disney+ が地域ロックを判定するのは、DNS だけでなくエッジへの出口 IP や決済リージョン、アプリ内キャッシュなど複合的な要因です。したがって、RULE-SET で動画ドメインを「専用のプロキシグループ」に載せ、そのグループが ターゲット地域のクリーンな IP を持つノード を選べるようになっていることが前提になります。
実務では、動画専用グループを url-test や fallback で組み、遅延よりも「サービス利用規約とプライバシーポリシーを理解したうえでの利用」という前提を置くのが安全です。家族共有アカウントでプロファイルが混線していると、ルールが正しくてもアプリ側が別リージョンを記憶している、というケースは珍しくありません。ルール変更の前後でアプリを再起動し、ブラウザ版とネイティブ版を分けて切り分けると原因特定が早くなります。
NetflixIP.yaml のような IP ベースの断片を別プロバイダとして足す構成もあります。クライアントが behavior に対応しているか、事前にリリースノートを確認してください。
3 購読 URL とローカルキャッシュ
GitHub の raw.githubusercontent.com はシンプルですが、レート制限や一時的な遅延に弱いことがあります。運用では jsDelivr などのミラー、もしくは自前ミラーを挟むチームも多いです。いずれにせよ、path でローカルファイル名を固定しておけば、オフライン起動時も直前のスナップショットで立ち上がります。interval は 86400 秒(一日)が無難ですが、広告リストのように変化が激しい断片は半日単位に短縮する、逆にメディアリストは数日に伸ばして GitHub 負荷を下げる、といった調整が現実的です。
代表的なエントリポイントとして、動画まとめの ProxyMedia.yaml、個別サービス向けの Ruleset/Netflix.yaml と Ruleset/DisneyPlus.yaml、軽量な広告遮断の BanAD.yaml、アプリ横断でやや強めの BanProgramAD.yaml を組み合わせるパターンがよく見られます。URL はリポジトリの移動に追随するため、導入時は必ずブラウザで生ファイルを開き、HTTP 200 と YAML 構造を確認してから貼り付けてください。
4 YAML 断片(動画+広告)
以下は教育用のミニマム例です。実際の proxies や proxy-groups は購読リンクから生成されるため省略し、名前だけ合わせてください。MEDIA グループには地域解錠用のノードを、PROXY には汎用のフォールバックを割り当てる想定です。Linux ヘッドレス運用と合わせて読むなら、Linux Mihomo + systemd の記事のディレクトリ運用とも相性が良いです。
# Remote rule sets; verify URLs before production use.
rule-providers:
acl4ssr_netflix:
type: http
behavior: classical
url: "https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Providers/Ruleset/Netflix.yaml"
path: ./ruleset/acl4ssr_netflix.yaml
interval: 86400
acl4ssr_disneyplus:
type: http
behavior: classical
url: "https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Providers/Ruleset/DisneyPlus.yaml"
path: ./ruleset/acl4ssr_disneyplus.yaml
interval: 86400
acl4ssr_banad:
type: http
behavior: classical
url: "https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Providers/BanAD.yaml"
path: ./ruleset/acl4ssr_banad.yaml
interval: 43200
rules:
- RULE-SET,acl4ssr_banad,REJECT
- RULE-SET,acl4ssr_netflix,MEDIA
- RULE-SET,acl4ssr_disneyplus,MEDIA
- MATCH,PROXY
ProxyMedia.yaml を一枚だけ引っ張る運用も可能です。細かいサービス別チューニングより「とにかく海外メディアをまとめて特定グループへ」という方針なら、プロバイダ数を減らしてログが読みやすくなります。反面、不要なドメインまで同じノードへ流れるため、帯域コストとプライバシーのトレードオフを把握しておく必要があります。
5 ルール順序と競合の扱い
Clash 系のルールエンジンは上から順に評価し、最初にマッチした行で確定します。広告遮断を有効にするなら、原則として REJECT 系 RULE-SET をスタックの上方へ寄せます。逆に、動画ルールを先に評価してしまうと、まれに広告ドメインが動画 CDN と同一サフィックス空間を共有しているケースで意図せずプロキシ側へ抜けることがあります。トラブル時はコアのログで実際にヒットしたルール行を確認し、競合するセットのどちらを優先するかを明示的に決めてください。
さらに、購読プロバイダが生成する巨大な rules: ブロックと、手元の RULE-SET が両方存在する場合、GUI によってはマージ順が直感と異なることがあります。「最終的にディスク上の設定がどう並んでいるか」をテキストエディタで一度確認するクセを付けると、再現性のあるサポートがしやすくなります。
6 DNS/TUN とセットで見る理由
ストリーミングの地域判定は、トラフィック経路だけでなく名前解決の経路にも敏感です。特に Split Horizon な CDN では、DNS が国内リゾルバに寄ることで「近いが意図しないエッジ」へ誘導されることがあります。Mihomo 側で DoH や FakeIP をどう置くかは本筋から外れるため詳述しませんが、少なくとも「アプリがコアの DNS を使っているか」を確認する段階では、DNS 漏洩対策の記事で述べた検証手順がそのまま活きます。
また、ブラウザ以外のネイティブクライアントではシステムプロキシを無視する例が多く、ルールが正しくてもトラフィックが迂回します。ここで TUN モードが有効になると、OS 全体のソケットを同じルール木に載せやすくなります。手順の全体像は Clash Verge Rev の TUN 解説を参照し、DNS とセットで設計してください。
BanProgramAD.yaml は便利ですが、広告と本体機能が同一ホストに同居するサービスでは誤遮断が起き得ます。最初は BanAD.yaml だけから入り、問題が出たドメインをログで特定してホワイトリスト化する段階的アプローチが安全です。
7 運用の落とし穴
- ミラー URL の鮮度: CDN キャッシュが古いまま配信されると、新しいストリーミングドメインが抜け落ちます。更新後に実アプリで再生テストを挟みましょう。
- プロキシグループ名の不一致:
rules:で参照する名前とproxy-groups:の定義が一文字でもずれると、起動時にエラーか意図しないフォールバックになります。 - IPv6 経路のすり抜け: ルールは IPv4 前提で書かれている一方、アプリが AAAA を優先すると別経路へ出ることがあります。環境に合わせて IPv6 を切るか、IP ルールを補完してください。
- 利用規約と法令: ルールは技術的な振り分けに過ぎず、サービス利用条件やローカル法規の順守は利用者自身の責任です。公開 Wi‑Fi や職場端末ではポリシー確認を先に行ってください。
8 まとめ
ACL4SSR を Rule Provider 化することで、ストリーミングと広告遮断という別々に見えがちな要件を、同じ宣言的パイプラインに載せられます。成功の鍵は、リモート断片を鵜呑みにせず、自環境で必要なセットだけを選び、プロキシグループとルール順序を一貫して保つことです。DNS や TUN と組み合わせたときに初めて「見た目どおりにトラフィックが流れる」状態が完成します。
設定ファイルの編集と購読更新を GUI に任せられるクライアントであれば、試行錯誤のたびに YAML を手でマージし直す負担が大きく減ります。コアの挙動は同じでも、日常の運用ストレスはクライアント選びで変わる、というのが長期利用の実感です。