ルールの基礎
ルールはClashXのコア機能であり、どのトラフィックをプロキシ経由にし、どれを直接接続にするかを決定します。ルールの作成を理解しマスターすることで、プロキシ設定がよりスマートで効率的になります。
ルールは本質的にマッチング条件のセットです。ネットワークリクエストがルールの条件を満たすと、ClashXはルールで指定されたポリシーに従ってリクエストを処理します。
Webサイトにアクセスすると、ClashXはルールリストを上から下にチェックします。マッチするルールが見つかると、すぐに適用し、後続のルールのチェックを停止します。そのため、ルールの順序が非常に重要です。
ルールの構成要素
各ルールは3つの部分で構成されます:
ルールタイプの解説
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 | 高速 | 地域別ルーティング |
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ルールはルールリストの最後に配置する必要があります。前のルールで処理されなかったすべてのトラフィックにマッチします。
ベストプラクティス
ルール順序の最適化
正しいルール順序はマッチング効率と精度を大幅に向上させます:
- 最初:REJECTルール(広告とトラッキングをブロック)
- 次に:特別なDOMAINルール(高優先度のWebサイト)
- 中間:DOMAIN-SUFFIXとDOMAIN-KEYWORDルール
- 後半:IP-CIDRとGEOIPルール
- 最後: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
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を使用してカスタムマッチングロジックを記述:
スクリプトルールは最大限の柔軟性を提供し、時間ベースのルーティング、動的ノード選択、その他の高度な機能などの複雑なマッチングロジックを実現します。
ルールのデバッグとテスト
ルールが正しく動作しているか確認する方法:
ルールメンテナンスの推奨
ルールを効率的で最新に保つ方法:
- 定期的なレビュー:毎月ルールを確認し、未使用のものを削除
- バージョン管理を使用:Gitで設定ファイルを管理
- コミュニティルールセットをサブスクライブ:コミュニティが管理するルールセットを活用
- バックアップを保持:動作する設定バージョンを保存
ルール作成のまとめ
ルール作成のマスターはClashXを使いこなすための重要なスキルです。シンプルなDOMAIN-SUFFIXルールから始めて、徐々に複雑なルールタイプを学んでください。最良のルール設定はシンプルで効率的、そして実際のニーズに合ったものです。盲目的に複雑さを追求せず、実用性が王道です。