ClashXルール作成完全ガイド:初心者からエキスパートへ

ClashX rules guide cover

ルールの基礎

ルールはClashXのコア機能であり、どのトラフィックをプロキシ経由にし、どれを直接接続にするかを決定します。ルールの作成を理解しマスターすることで、プロキシ設定がよりスマートで効率的になります。

ルールは本質的にマッチング条件のセットです。ネットワークリクエストがルールの条件を満たすと、ClashXはルールで指定されたポリシーに従ってリクエストを処理します。

💡
ルールの仕組み

Webサイトにアクセスすると、ClashXはルールリストを上から下にチェックします。マッチするルールが見つかると、すぐに適用し、後続のルールのチェックを停止します。そのため、ルールの順序が非常に重要です。

ルールの構成要素

各ルールは3つの部分で構成されます:

ルールタイプ
DOMAIN、IP-CIDRなど
マッチ値
マッチする具体的な内容
ポリシー名
DIRECT、REJECT、またはプロキシグループ

ルールタイプの解説

DOMAIN - 完全ドメインマッチ

最も正確なマッチング方法で、完全に一致するドメインのみマッチします。

DOMAINルールの例

- DOMAIN,www.google.com,🚀 Proxy
- DOMAIN,api.github.com,🚀 Proxy
- DOMAIN,www.baidu.com,DIRECT

Note: Only matches when accessing www.google.com. Accessing mail.google.com or google.com will not match.

DOMAIN-SUFFIX - ドメインサフィックスマッチ

最もよく使われるルールタイプで、指定されたドメインとそのすべてのサブドメインにマッチします。

DOMAIN-SUFFIXルールの例

- DOMAIN-SUFFIX,google.com,🚀 Proxy
- DOMAIN-SUFFIX,youtube.com,🎬 Streaming
- DOMAIN-SUFFIX,cn,DIRECT

Note: google.com, www.google.com, and mail.google.com will all be matched.

DOMAIN-KEYWORD - ドメインキーワードマッチ

ドメインに指定されたキーワードを含むリクエストにマッチします。柔軟ですが誤マッチを引き起こす可能性があります。

DOMAIN-KEYWORDルールの例

- DOMAIN-KEYWORD,google,🚀 Proxy
- DOMAIN-KEYWORD,youtube,🎬 Streaming
- DOMAIN-KEYWORD,ads,REJECT

Warning: Use with caution. "google" will match google.com, mygooglesite.com, and all domains containing this keyword.

IP-CIDR - IPアドレス範囲マッチ

IPアドレス範囲に基づくマッチで、ドメイン名のない接続に適しています。

IP-CIDRルールの例

- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,91.108.56.0/22,🚀 Proxy,no-resolve

no-resolve parameter: Skips DNS resolution and matches IP directly, improving performance.

GEOIP - 地理的位置マッチ

IPアドレスの地理的位置に基づいてマッチします。

GEOIPルールの例

- GEOIP,CN,DIRECT
- GEOIP,US,🇺🇸 US Node
- GEOIP,JP,🇯🇵 Japan Node
ルールタイプ 精度 パフォーマンス 推奨用途
DOMAIN 最高 高速 特定のドメイン
DOMAIN-SUFFIX 高速 サイト全体のプロキシ
DOMAIN-KEYWORD Medium Medium 一括マッチング
IP-CIDR 低速(解決が必要) IPベースのマッチング
GEOIP Medium 高速 地域別ルーティング
🛡️ おすすめ:NordVPN

ClashXはプロキシサービスと組み合わせて使用します。NordVPNは60カ国以上の高速・安定した接続を提供し、最も人気のある選択肢の一つです。

NordVPNの特典を見る →

アフィリエイトリンク · 広告開示

ルール構文の深掘り

基本構文フォーマット

ClashXのルールはYAMLフォーマットで記述され、インデントルールを厳密に守る必要があります。

標準ルール構文

rules:
  - RULE-TYPE,MATCH-VALUE,POLICY-NAME
  - RULE-TYPE,MATCH-VALUE,POLICY-NAME,OPTIONS

ルールパラメータオプション

一部のルールタイプはパフォーマンスや動作を最適化するための追加パラメータをサポートしています。

  • no-resolve:DNS解決なし、IP-CIDRルールに適用可能
  • src-ip:ソースIPアドレスに基づくマッチ
  • src-port:ソースポートに基づくマッチ

特殊ルールタイプ

基本ルールの他に、ClashXはいくつかの高度なルールタイプもサポートしています:

高度なルール例

# PROCESS-NAME - Match by process name
- PROCESS-NAME,Telegram,🚀 Proxy

# RULE-SET - Reference a rule set
- RULE-SET,proxy-list,🚀 Proxy

# MATCH - Default policy (must be placed last)
- MATCH,🚀 Node Selection
⚠️
重要な注意

MATCHルールはルールリストの最後に配置する必要があります。前のルールで処理されなかったすべてのトラフィックにマッチします。

ベストプラクティス

ルール順序の最適化

正しいルール順序はマッチング効率と精度を大幅に向上させます:

  1. 最初:REJECTルール(広告とトラッキングをブロック)
  2. 次に:特別なDOMAINルール(高優先度のWebサイト)
  3. 中間:DOMAIN-SUFFIXとDOMAIN-KEYWORDルール
  4. 後半:IP-CIDRとGEOIPルール
  5. 最後:MATCHデフォルトルール

パフォーマンス最適化のヒント

高パフォーマンスルールを記述する際のポイント:

🚀
パフォーマンス最適化の推奨

1. Prefer DOMAIN-SUFFIX over DOMAIN-KEYWORD
2. Add no-resolve parameter to IP-CIDR rules
3. Use RULE-SET to manage large rule sets
4. Avoid excessive regex rules

避けるべき一般的なミス

ルール記述時に注意すべき落とし穴:

  • インデントエラー:YAMLはインデントに厳格、2スペースを使用
  • ルール競合:高優先度ルールを先に配置
  • ポリシー名エラー:ポリシー名がproxy-groupsで定義されたものと一致することを確認
  • KEYWORDの過剰使用:誤マッチを引き起こしやすい

ルールの整理

機能別にルールを整理し、コメントを区切りとして使用することをお勧めします:

ルール整理例

rules:
  # ======= Ad Blocking =======
  - DOMAIN-SUFFIX,ads.google.com,REJECT
  - DOMAIN-KEYWORD,analytics,REJECT

  # ======= Local Direct =======
  - DOMAIN-SUFFIX,localhost,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT

  # ======= Streaming Services =======
  - DOMAIN-SUFFIX,netflix.com,🎬 Streaming
  - DOMAIN-SUFFIX,youtube.com,🎬 Streaming

  # ======= CN websites =======
  - GEOIP,CN,DIRECT

  # ======= Default Policy =======
  - MATCH,🚀 Node Selection
🏄 台数無制限:Surfshark

1つのアカウントですべてのデバイスをカバー。Mac、スマートフォン、ルーターで同時に使いたい方に最適です。

Surfsharkの特典を見る →

アフィリエイトリンク · 広告開示

実践ケーススタディ

ケース1:完全なルーティングルール

日常使用に適した完全なルール設定:

日常使用ルールセット

rules:
  # Ad Blocking
  - DOMAIN-KEYWORD,adservice,REJECT
  - DOMAIN-SUFFIX,doubleclick.net,REJECT

  # Apple Services
  - DOMAIN-SUFFIX,apple.com,DIRECT
  - DOMAIN-SUFFIX,icloud.com,DIRECT
  - DOMAIN-SUFFIX,apple-dns.net,DIRECT

  # Streaming Platforms
  - DOMAIN-SUFFIX,netflix.com,🎬 Streaming
  - DOMAIN-SUFFIX,youtube.com,🎬 Streaming
  - DOMAIN-SUFFIX,spotify.com,🎬 Streaming

  # Social Media
  - DOMAIN-SUFFIX,twitter.com,🚀 Proxy
  - DOMAIN-SUFFIX,facebook.com,🚀 Proxy
  - DOMAIN-SUFFIX,instagram.com,🚀 Proxy

  # Development Tools
  - DOMAIN-SUFFIX,github.com,🚀 Proxy
  - DOMAIN-SUFFIX,stackoverflow.com,🚀 Proxy

  # Mainland China Websites
  - GEOIP,CN,DIRECT

  # Local NetworkDirect
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve

  # Default policy
  - MATCH,🚀 Node Selection

ケース2:ゲームアクセラレーションルール

ゲーム向けに最適化されたルール設定:

ゲームアクセラレーションルール

rules:
  # Steam
  - DOMAIN-SUFFIX,steampowered.com,🎮 Gaming
  - DOMAIN-SUFFIX,steamcommunity.com,🎮 Gaming

  # Epic Games
  - DOMAIN-SUFFIX,epicgames.com,🎮 Gaming

  # PlayStation
  - DOMAIN-SUFFIX,playstation.com,🎮 Gaming
  - DOMAIN-SUFFIX,playstation.net,🎮 Gaming

  # Xbox
  - DOMAIN-SUFFIX,xbox.com,🎮 Gaming
  - DOMAIN-SUFFIX,xboxlive.com,🎮 Gaming

  # Gaming IP ranges (example)
  - IP-CIDR,185.25.182.0/24,🎮 Gaming,no-resolve

  - MATCH,DIRECT

ケース3:プライバシー保護ルール

プライバシー保護を強化するためのルール設定:

プライバシー保護ルール

rules:
  # Block ad tracking
  - DOMAIN-KEYWORD,analytics,REJECT
  - DOMAIN-KEYWORD,tracking,REJECT
  - DOMAIN-KEYWORD,telemetry,REJECT

  # Block common ad domains
  - DOMAIN-SUFFIX,googlesyndication.com,REJECT
  - DOMAIN-SUFFIX,googleadservices.com,REJECT
  - DOMAIN-SUFFIX,facebook.net,REJECT

  # Block data collection
  - DOMAIN-KEYWORD,crashlytics,REJECT
  - DOMAIN-KEYWORD,bugly,REJECT

  # Normal traffic
  - MATCH,🚀 Node Selection

上級ルールテクニック

ルールプロバイダーの使用

ルールプロバイダーを使用すると、外部ファイルやURLからルールを読み込み、管理と更新を容易にできます:

ルールプロバイダー設定例

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:
  - RULE-SET,reject,REJECT
  - RULE-SET,proxy,🚀 Proxy
  - RULE-SET,direct,DIRECT
  - MATCH,🚀 Node Selection

スクリプトルール

JavaScriptを使用してカスタムマッチングロジックを記述:

💻
スクリプトルールの機能

スクリプトルールは最大限の柔軟性を提供し、時間ベースのルーティング、動的ノード選択、その他の高度な機能などの複雑なマッチングロジックを実現します。

ルールのデバッグとテスト

ルールが正しく動作しているか確認する方法:

ログを表示
リアルタイムでルールマッチングを監視
Dashboardを使用
接続とルールを視覚化
接続のテスト
Webサイトにアクセスしてルーティングを確認

ルールメンテナンスの推奨

ルールを効率的で最新に保つ方法:

  • 定期的なレビュー:毎月ルールを確認し、未使用のものを削除
  • バージョン管理を使用:Gitで設定ファイルを管理
  • コミュニティルールセットをサブスクライブ:コミュニティが管理するルールセットを活用
  • バックアップを保持:動作する設定バージョンを保存

ルール作成のまとめ

ルール作成のマスターはClashXを使いこなすための重要なスキルです。シンプルなDOMAIN-SUFFIXルールから始めて、徐々に複雑なルールタイプを学んでください。最良のルール設定はシンプルで効率的、そして実際のニーズに合ったものです。盲目的に複雑さを追求せず、実用性が王道です。