ClashでNetflix・Disney+を快適視聴する分割ルール設定術

動画配信サービスだけをプロキシ経由にするClashのルール設定を紹介します。NetflixとDisney+に合う地域のノードを選び、国内通信を直結させることで、不要な遅延を抑えながら安定した再生環境を作れます。

動画配信だけをプロキシ経由にする考え方

NetflixやDisney+をClashで視聴するとき、すべての通信をプロキシへ送るグローバルモードは最も簡単な方法です。しかし、国内のウェブサイト、オンラインバンキング、社内システム、プリンターやNASまで同じノードを経由すると、不要な遅延や接続エラーが増え、ノードの通信量も消費します。そこで実用的なのが、動画配信サービスに関係するドメインだけをプロキシへ送り、それ以外は DIRECT にする分割ルールです。

Clashのルールは上から順番に評価され、最初に一致した行で処理が終了します。したがって、NetflixとDisney+のルールを単に追加するだけでは不十分です。対象ドメイン、DNS解決、ノード選択、ルールの順序、TUNまたはシステムプロキシの適用範囲をまとめて確認する必要があります。

  • 動画配信ドメイン: 専用のプロキシグループへ送る。
  • 国内サービスとLAN: DIRECT にして低遅延を維持する。
  • 未分類の通信: 最後の MATCH で直接接続または通常のプロキシへ送る。

ルールだけで視聴地域は決まらない

NetflixやDisney+が表示する作品や再生可否は、出口IPの地域、アカウントの契約条件、作品の配信権、サービス側の判定によって変わります。Clashの設定は通信経路を選ぶためのものであり、特定地域の作品を保証するものではありません。利用地域とサービスの規約を確認したうえで設定してください。

事前準備:動画用グループとノードを用意する

最初にClash Verge、Clash Verge Rev、Mihomo対応クライアントなどで、現在使用している設定ファイルとカーネルを確認します。今回の例では、プロファイルにすでにプロキシノードが登録されており、ノードを選択するためのプロキシグループが存在する前提です。グループ名は環境によって異なるため、実際の設定に合わせて置き換えてください。

動画専用グループを作る場合は、視聴サービスの地域や通信品質を基準にノードを選びます。例えば、Netflix用とDisney+用で別のグループを作れば、サービスごとに相性のよい出口を固定できます。一方、同じ地域のノードを両方で使うなら、共通の STREAMING グループで十分です。url-test は遅延を自動測定できますが、測定URLが実際の動画再生品質を表すとは限りません。再生開始、画質の安定、途中停止の有無を実際に確認してください。

proxy-groups:
  - name: STREAMING
    type: select
    proxies:
      - JP-01
      - US-01
      - SG-01
      - DIRECT

  - name: NETFLIX
    type: select
    proxies:
      - JP-01
      - US-01
      - STREAMING

  - name: DISNEY
    type: select
    proxies:
      - JP-01
      - US-01
      - STREAMING

select は画面から手動でノードを切り替えたい場合に向いています。自動選択を使う場合は次のように url-test を指定できますが、サービス側のアクセス制限や認証状態まで自動判定できるわけではありません。頻繁な切り替えでログイン確認が発生することもあるため、安定したノードが見つかったら手動選択に戻す方法も有効です。

  - name: STREAMING-AUTO
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 600
    tolerance: 50
    proxies:
      - JP-01
      - US-01
      - SG-01

グループ名に日本語や記号を使うこともできますが、ルール側で同じ名前を一字一句正確に指定する必要があります。設定を長く運用する場合は、STREAMING のような短い英数字名に統一すると、入力ミスを減らせます。

NetflixとDisney+のドメインルールを書く

最も基本的なルールタイプは DOMAIN-SUFFIX です。指定したドメイン本体と、そのサブドメインに一致します。Netflixの主要ドメインには netflix.comnflxvideo.netnflximg.netnflxso.net などがあり、Disney+では disneyplus.comdisney-plus.netdisney.com 系の通信が使われる場合があります。ただし、配信基盤や広告、認証、地域ごとのホスト名は変更される可能性があるため、固定リストを永遠に完全なものとして扱わないでください。

まずはサービスのログイン、作品情報、再生開始に必要な代表的ドメインをグループへ振り分けます。広すぎる DOMAIN-KEYWORD,disney,DISNEY のような指定は、名前に同じ文字列を含む無関係なドメインまで一致する可能性があるため避けます。サフィックスが確認できる場合は、常に DOMAIN-SUFFIX を優先します。

rules:
  # Netflix
  - DOMAIN-SUFFIX,netflix.com,NETFLIX
  - DOMAIN-SUFFIX,nflxvideo.net,NETFLIX
  - DOMAIN-SUFFIX,nflximg.net,NETFLIX
  - DOMAIN-SUFFIX,nflxso.net,NETFLIX

  # Disney+
  - DOMAIN-SUFFIX,disneyplus.com,DISNEY
  - DOMAIN-SUFFIX,disney-plus.net,DISNEY
  - DOMAIN-SUFFIX,disney.com,DISNEY

  # ローカルネットワーク
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve

  # その他
  - MATCH,DIRECT

上の例で重要なのは、NetflixとDisney+のルールを MATCH より前に置くことです。MATCH,DIRECT が先にあると、そこで全通信が直接接続になり、後ろに追加した動画ルールは一度も評価されません。すでに国内ルールや広告遮断ルールを使っている場合は、LANルール、拒否ルール、動画サービスルール、国内ルール、最後のフォールバックという順番を基本にし、重複する行がどの出口を選ぶかを確認します。

ドメイン一覧は最小構成から始める

最初から関連しそうなドメインを大量に追加すると、国内の画像配信や分析通信までプロキシへ流れ、原因の切り分けが難しくなります。ログで実際に拒否された、または直接接続されて再生に失敗したドメインだけを確認し、必要な行を少しずつ追加してください。

rule-providersでリストを分離する

設定ファイルを直接編集する代わりに、動画サービスのルールを rule-providers へ分離すると、メイン設定を読みやすく保てます。MihomoではHTTP形式のルールプロバイダーや、クライアントが生成したローカルプロバイダーを利用できます。外部リストを使う場合は、配布元の内容、更新頻度、対象カーネルとの互換性を確認してください。URLを無条件に信用して登録するのではなく、内容を一度確認してから有効化することが大切です。

rule-providers:
  streaming:
    type: http
    behavior: domain
    format: yaml
    path: ./rules/streaming.yaml
    url: https://rules.example.invalid/streaming.yaml
    interval: 86400

rules:
  - RULE-SET,streaming,STREAMING
  - GEOSITE,cn,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,DIRECT

上記の example.invalid は説明用の無効な例です。実運用では、利用しているルール配布元が案内するURLに置き換えてください。behavior: domain のプロバイダーにIP形式の行を混在させると読み込みに失敗することがあります。また、ルールセットの出口をNetflix専用にするのか、NetflixとDisney+を共通の動画グループにするのかも、プロバイダーの用途に合わせて決めます。

更新間隔を短くしすぎると不要なダウンロードが増え、配布元の制限に触れる可能性があります。1日1回程度から始め、サービス側のドメイン変更が頻繁な場合だけ調整してください。更新後はプロファイルを再読み込みし、ルールプロバイダーが正常に取得されたかをクライアントの画面やログで確認します。

DNSとTUNを動画ルールに合わせる

ドメインルールを正しく書いても、DNSがClashの管理外にあると、動画サービスの名前解決だけがローカルへ出る場合があります。特にTUNを使わずシステムプロキシだけを有効にしている環境では、アプリやスマートテレビ、動画プレーヤーがシステムプロキシを無視することがあります。端末全体を対象にするなら、mihomoのDNSとTUNを有効にし、必要な権限をクライアントへ与えてください。

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - https://dns.example.invalid/dns-query
  fallback:
    - tls://1.1.1.1:853
  fallback-filter:
    geoip: true
    geoip-code: JP

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

これは構成例であり、使用するDNSサービスやネットワーク環境に合わせて変更してください。fake-ip はドメインと接続を結び付けやすく、ドメインベースのルールと相性がよい方式です。ただし、ゲーム、社内アプリ、プリンターなどが偽IPに対応できない場合は、fake-ip-filter に対象ドメインを追加するか、redir-host を試します。

動画サービス用の名前解決まで直接接続にする設定は避けてください。Mihomoのバージョンや設定によっては respect-rulesproxy-server-nameserverdirect-nameserver の扱いが異なるため、現在のカーネルが対応している項目だけを使用します。存在しないキーを追加しても、期待した動作にはなりません。設定を変更した後は、必ずプロファイルの構文チェックと再起動を行います。

TUNを有効にしても二重VPNにはしない

別のVPNアプリ、ブラウザ内蔵VPN、OSのプライベートリレーなどが同時に動作すると、DNSや経路の優先順位が変わります。検証時はいったん他のトンネルを停止し、Clash単独で接続、DNS、再生の順に確認してください。

再生確認とトラブルシューティング

設定を保存したら、いきなり高画質で長時間再生するのではなく、次の順番で確認します。まずプロキシグループで使用ノードを選び、Clashの接続ログを開いた状態でNetflixまたはDisney+へアクセスします。ログに表示されたホスト名が想定したグループへ入り、国内の一般サイトが DIRECT になっていることを確認します。

  1. Clashのプロファイルを更新または再読み込みし、エラーがないことを確認します。
  2. 動画用グループでノードを1つ選び、ブラウザやアプリを完全に終了して再起動します。
  3. サービスへログインし、トップページ、作品詳細、再生開始の3段階をそれぞれ確認します。
  4. ログでNetflixまたはDisney+関連の接続が専用グループへ入っているか確認します。
  5. 国内サイトとLAN機器へアクセスし、意図せずプロキシ経由になっていないか確認します。
  6. 別ノードへ切り替えて、再生開始時間、画質の安定性、途中停止を比較します。

ログインはできるのに再生だけ失敗する場合、動画本体の配信ドメインがリストから漏れている可能性があります。再生ボタンを押した直後のログを確認し、Netflixでは nflxvideo.net 系、Disney+では配信基盤や認証に関係するホストが別グループへ送られていないか調べます。ドメインを追加した後は、DNSキャッシュとアプリのキャッシュを消去して再試行します。

再生は始まるものの途中で止まる場合は、ノードの帯域、混雑、出口IPの制限、UDP通信の扱いを確認します。TUN環境でQUICを使う動画アプリでは、UDP 443が不安定なネットワークだと再生が乱れることがあります。その場合はクライアントやルールの仕様を確認したうえで、TCP接続へ切り替える設定を検討します。ただし、すべてのUDPを無条件に遮断すると、動画以外のアプリにも影響するため、変更前後でログと再生状態を比較してください。

設定後の確認結果は、次のように整理すると原因を特定しやすくなります。

症状 確認する項目 対処の方向
ページ自体が開かない ノード状態、DNS、プロファイルの構文 ノードを変更し、ClashのDNSログとエラーを確認する
ログインはできるが再生できない 再生時に発生するCDNドメインのルール 不足しているドメインを専用グループへ追加する
再生が頻繁に止まる ノードの混雑、帯域、UDP 443 別ノードと別プロトコルを比較する
国内サイトまで遅くなった ルール順序、MATCHの出口、TUNの状態 国内ルールとLANルールを動画ルールより適切な位置へ置く
ノードを変えても地域が変わらない 出口IP、アカウント条件、サービス側の判定 IP地域と契約条件を確認し、ルールの問題と切り分ける

安定運用のための最終チェック

分割ルールは一度書けば永久に完成するものではありません。動画サービスは配信CDN、認証ホスト、広告や計測の構成を変更することがあり、クライアントやmihomoカーネルの更新でDNSやTUNの既定動作が変わる場合もあります。設定を更新した後は、プロファイルの読み込み状態、ルールプロバイダーの取得時刻、プロキシグループの現在選択、DNSエラーを確認する習慣を付けてください。

  • 出口を確認する: ノード名だけで地域を判断せず、実際の出口IPとサービス上の判定を確認する。
  • ルールの順序を確認する: 動画ルールの前に広範囲の MATCH や意図しない GEOIP ルールを置かない。
  • DNS経路を確認する: TUN、DNS hijack、fake-ipの動作をまとめて確認し、OSやアプリの直接DNSを放置しない。
  • ノードを固定しすぎない: 速度だけでなく、再生の安定性、認証エラー、利用規約上の条件も考慮する。
  • 設定を分けて保存する: 動画用グループやルールプロバイダーを独立させ、問題が起きたときに元へ戻せるようにする。

まずはNetflixとDisney+を共通の STREAMING グループへ送り、ログで不足ドメインがないことを確認してから、必要に応じてサービス別グループへ分ける方法が安全です。国内通信を直接接続に戻す場合も、LAN、国内ドメイン、国内IPの順に確認し、最後のフォールバックが意図した出口になっているかを見直します。

対応クライアントを準備する

動画用の分割ルール、DNS、TUNを使うには、現在も更新されているMihomo対応クライアントを選ぶと設定項目を活用しやすくなります。OSに合うクライアントを入手し、サブスクリプション導入後に小さなルールから段階的に確認してください。

Clash クライアントをダウンロード

通信振り分けを行うには、まずクライアントが通信を引き継ぐ必要があります。ダウンロードセンターでお使いのプラットフォームのクライアントを選び、チュートリアルに戻ってシステムプロキシまたは TUN の引き継ぎを完了させてください。

Clash をダウンロード