高度設定 · コア機能の実践ガイド

徹底解説
Clash コア高度設定

TUNモード、ルール設定、DNS保護、サブスクリプション管理、遅延テストをマスターして、Clashの性能を最大限に引き出しましょう

TUNモード

TUN(ネットワークトンネル)モードはカーネルレベルで仮想ネットワークアダプタを作成し、ドライバ層で全TCP/UDPトラフィックを捕捉して、真のグローバル透明プロキシを実現します。アプリ側でプロキシ対応していなくても利用可能です。

TUNモードを有効化すべき場面
  • ゲームクライアント(Steam、Epic、UPlay)がシステムプロキシを無視し、高遅延や接続失敗が発生する
  • git clonenpm installpip install などのCLIツールでプロキシを使いたい
  • Electronアプリ(VS Code、Discord)が内部通信でシステムプロキシを迂回する
  • UDPトラフィック(音声通話、DNS-over-UDP、ゲームUDP)も透過的にプロキシしたい

TUNモードの有効化手順

1
管理者権限でクライアントを起動 TUNモードはドライバレベルで仮想ネットワークアダプタを導入するため、初回起動時に管理者権限が必要です。Windowsは右クリックして「管理者として実行」、macOSはシステム認証ダイアログを許可してください。
2
クライアント設定でTUNを有効化 Clash Verge Revでは「Settings → System Settings → TUN Mode」をオンにします。初回はドライバ導入(Windowsはwintun.dll、macOSはカーネル拡張)が求められるため、画面の案内に従って認可を完了してください。
3
設定ファイルでTUNを調整(任意) YAML設定を使うと、TUNの動作モード、DNSハイジャック、ルーティング挙動を細かく制御できます。

TUN設定例

YAML config.yaml
# TUN mode configuration
tun:
  enable: true
  stack: mixed        # mixed = gVisor(UDP) + system(TCP), best compatibility
  auto-route: true    # auto-add routing rules for TUN interface
  auto-redirect: true # auto-redirect TCP connections (Linux)
  auto-detect-interface: true
  dns-hijack:
    - any:53           # intercept all DNS queries to prevent leaks
  strict-route: true  # stricter routing, prevents traffic bypass
推奨 stack 値: mixed は互換性が最も高く(TCPはsystem、UDPはgVisor)、純粋な system は高性能ですがUDP互換が弱め、gvisor はUDP対応が最も広い代わりにCPU負荷がやや高くなります。
注意: TUN有効時はすべての通信がClashを通過します。国内通信までプロキシされて速度低下しないよう、GEOIP,CN,DIRECT などの直結ルールを必ず含めてください。

YAML ルール設定

Clashは設定ファイル内の rules で通信先を制御します。国内はDIRECT、海外はPROXY、広告ドメインは遮断といった分岐が可能です。ルールは上から順に評価され、最初に一致したものが適用されます。

ルール種別クイックリファレンス

ルール種別 マッチ条件
DOMAIN 完全一致ドメイン DOMAIN,google.com,PROXY
DOMAIN-SUFFIX ドメイン接尾辞(サブドメイン含む) DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-KEYWORD キーワードを含むドメイン DOMAIN-KEYWORD,google,PROXY
IP-CIDR IPアドレス範囲 IP-CIDR,192.168.0.0/16,DIRECT
GEOIP IP地理情報(国/地域) GEOIP,CN,DIRECT
RULE-SET 外部ルールセットファイル RULE-SET,reject,REJECT
MATCH 最終キャッチオール(末尾必須) MATCH,PROXY

完全なルーティング設定例

YAML config.yaml
# proxy groups
proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - Auto-Speed-Test
      - HK-01
      - US-01

  - name: Auto-Speed-Test
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - HK-01
      - US-01

# rule-sets from community-maintained lists
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

# rules — matched top to bottom, first match wins
rules:
  - RULE-SET,reject,REJECT       # block ads/trackers
  - RULE-SET,direct,DIRECT       # CN domains → direct
  - RULE-SET,proxy,PROXY         # known proxy domains
  - DOMAIN-SUFFIX,cn,DIRECT
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY                  # everything else → proxy
推奨コミュニティルールセット: Loyalsoldier/clash-rules は継続的に保守され、毎日自動更新されます。広告遮断、国内直結、海外プロキシの主要シナリオを網羅でき、手動メンテナンスの負担を減らせます。

DNS汚染対策設定

DNS汚染が発生すると、海外ドメインが誤ったIPへ解決され、接続失敗やトラフィックハイジャックの原因になります。ClashのDNSモジュールはDoH/DoT暗号化に対応し、国内外ドメインを別々のDNSで解決することで、速度と安全性を両立できます。

プレーンDNS(汚染されやすい)

UDP 53の平文通信は改ざんされやすく、海外ドメインがブロックIPや誤IPへ誘導される恐れがあります。

DoH / DoT(暗号化DNS)

DNS-over-HTTPSまたはDNS-over-TLSにより、問い合わせをTLSで保護します。改ざんや汚染のリスクを大幅に下げられます。

推奨DNS設定(国内外で分離解決)

YAML config.yaml
dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip      # fake-ip prevents DNS leaks, recommended
  fake-ip-range: 198.18.0.1/16

  # Nameservers for domains NOT matched by nameserver-policy
  nameserver:
    - https://dns.google/dns-query       # Google DoH
    - https://cloudflare-dns.com/dns-query # Cloudflare DoH
    - tls://1.1.1.1:853                    # Cloudflare DoT

  # Fallback: used when nameserver returns potentially polluted result
  fallback:
    - https://dns.google/dns-query
    - https://doh.pub/dns-query             # Tencent DoH (fast in CN)

  # Fallback filter: if GEOIP is CN → use nameserver; else use fallback
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4

  # Policy: route specific domains to specific servers
  nameserver-policy:
    "geosite:cn":
      - https://doh.pub/dns-query   # fast domestic resolver for CN domains
      - 114.114.114.114
    "geosite:geolocation-!cn":
      - https://dns.google/dns-query
      - https://cloudflare-dns.com/dns-query
fake-ip モード 推奨

各ドメインへ仮想IPを割り当て、接続時に実IPを解決する方式です。DNSリークを防ぎやすく、解決速度も高速です。

redir-host モード 互換

接続前に実IPを取得する方式で、実IPを必要とするアプリとの互換性が高い一方、DNSリークリスクはわずかに残ります。

サブスクリプション管理と自動更新

サブスクリプションURLは、プロキシサービスが配布するノード情報入りのYAMLリンクです。proxy-providers を使えば、複数のサブスクリプションを設定ファイルから直接参照し、更新間隔も自動化できます。

方法1: クライアントへサブスクリプションURLを直接取り込む

1
プロバイダのClash用サブスクリプションリンクをコピー V2RayやShadowsocksではなく、Clash / Mihomo形式を選択してください。通常は https:// で始まり、取得するとYAMLが返ります。
2
Clash Verge Revで取り込み Profilesページを開き、右上の「+」→「URL Import」→リンク貼り付け→「Download」の順で実行します。
3
自動更新間隔を設定 取り込んだプロファイルを右クリックして「Edit Info」→「Auto Update」を24時間(推奨)に設定すると、ノード一覧を常に最新に保てます。

方法2: proxy-providers(複数サブスクリプション統合)

複数プロバイダを使う上級ユーザーや、サブスクリプションとカスタムルールを分離したい場合に最適です。

YAML config.yaml
# Reference multiple subscription sources
proxy-providers:
  AirportA:
    type: http
    url: "https://your-airport-a.com/clash/subscribe?token=xxx"
    interval: 86400         # refresh every 24 hours
    path: ./providers/airport_a.yaml
    health-check:
      enable: true
      interval: 600
      url: https://www.gstatic.com/generate_204

  AirportB:
    type: http
    url: "https://your-airport-b.com/clash/subscribe?token=yyy"
    interval: 86400
    path: ./providers/airport_b.yaml
    health-check:
      enable: true
      interval: 600
      url: https://www.gstatic.com/generate_204

# Use providers in proxy groups
proxy-groups:
  - name: PROXY
    type: select
    use:
      - AirportA      # include all nodes from AirportA
      - AirportB      # include all nodes from AirportB

  - name: Auto-Best
    type: url-test
    use:
      - AirportA
      - AirportB
    url: https://www.gstatic.com/generate_204
    interval: 300
サブスクリプションURLの安全管理: サブスクリプションリンクにはアカウントトークンが含まれます。公開共有は避け、定期的にトークンを更新し、異常トラフィックを検知したらすぐ再発行してください。

よくあるサブスクリプション問題

取り込み後に「ノードなし」または空表示になる
サブスクリプション形式が誤っている可能性があります。Clash/Mihomo形式 であることを確認してください(V2Ray JSONやShadowsocks形式は不可)。提供元ページで「Clash」または「Mihomo」表記のリンクを使用し、正しいのに空の場合は手動で「Update Subscription」を試してください。
サブスクリプション更新時にネットワークエラーが出る
サブスクリプション配信サーバー自体への到達にプロキシが必要な場合があります。Clash Verge Revで「System Proxy」を有効化してから更新するか、設定内の「Update subscription via proxy」をオンにしてください。
ローカルYAMLとオンラインサブスクリプションを併用したい
オンライン側は proxy-providers で参照し、ローカルノードは proxies へ手動追加します。proxy-groupsuse(provider)と proxies(手動)を併記すれば統合運用できます。

遅延テストと最適化

Clashのプロキシグループは自動ルーティングに対応しています。url-test は最小遅延ノードを自動選択、fallback は障害時に自動切替、load-balance は複数ノードへ分散して処理します。

url-test 最も一般的

テストURLに定期アクセスして、最も遅延の低いノードへ自動切替します。ゲームやストリーミングなど遅延に敏感な用途に最適です。

fallback

通常は先頭ノードを使用し、利用不可時に次ノードへ切り替えます。優先ノードを固定しつつ冗長化したい場合に向いています。

load-balance

複数ノードへトラフィックを分散し、総合帯域を向上させます。複数ダウンロードを同時実行する場面に適しています。

遅延テスト用プロキシグループ設定例

YAML config.yaml
proxy-groups:
  # Auto select lowest-latency node
  - name: Auto-Best
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300         # test every 5 minutes
    tolerance: 50          # switch only if new node is 50ms faster (prevents thrashing)
    lazy: true             # only test when traffic is present
    proxies:
      - HK-01
      - HK-02
      - US-01
      - SG-01

  # Failover: use HK-01 first, switch if unavailable
  - name: Failover
    type: fallback
    url: https://www.gstatic.com/generate_204
    interval: 180
    proxies:
      - HK-01       # primary
      - US-01       # backup 1
      - SG-01       # backup 2

  # Load balance across multiple nodes
  - name: LoadBalance
    type: load-balance
    strategy: consistent-hashing  # same domain always uses same node
    url: https://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - HK-01
      - US-01
      - SG-01

  # Manual selection group (top-level entry point)
  - name: PROXY
    type: select
    proxies:
      - Auto-Best
      - Failover
      - LoadBalance
      - HK-01
      - US-01
tolerance パラメータは重要: 例えば50msの閾値を設定しておくと、微小差での頻繁な切替を防げます。未設定だと1ms差でも切替が起こり、接続が不安定になる場合があります。
テストURLの選び方: https://www.gstatic.com/generate_204(Google 204)または https://cp.cloudflare.com/generate_204(Cloudflare 204)がおすすめです。応答が速く安定しており、内容の影響を受けにくいURLです。