Clash config.yaml 完全ガイド
Clash 構成ファイルの各フィールドの意味を深く理解し、プロキシノード、グループ、ルール分流、DNS の完全な書き方をマスターして、ニーズに最適な設定を自作しましょう。
config.yaml とは何ですか?
config.yaml は Clash の核となる構成ファイルで、YAML 形式で記述されます。これにより Clash カーネルに以下の情報を伝えます:
どのポートをリッスンするか
HTTP プロキシ、SOCKS5 プロキシ、透過プロキシそれぞれの使用ポート
どのようなプロキシノードがあるか
全ノードのサーバーアドレス、プロトコルタイプ、認証情報
どのようにグループ化し、切り替えるか
戦略ごとのグループ化:手動選択、自動速度測定、フェイルオーバー
トラフィック分流ルール
どのドメインを直結し、どれをプロキシに通し、どれを拒否するか
構成ファイルのデフォルト保存先
%APPDATA%\clash-verge\profiles\
~/.config/clash-verge/profiles/
~/.config/clash-verge/profiles/
~/.config/mihomo/config.yaml
YAML 構文クイックリファレンス
構成ファイルを書く前に、YAML の主要なルールを理解しておきましょう。形式ミスによる Clash の起動エラーを防げます:
# 正しい:スペース 2 つでインデント
proxies:
- name: "Node-A"
type: ss
# 誤り:Tab キーは使用不可
proxies:
- name: "Node-A" # ← Tab 文字、エラーになる
- で始めます。# 文字列リスト
nameserver:
- 223.5.5.5
- 119.29.29.29
# オブジェクトリスト(各項目に複数フィールド)
proxies:
- name: "Node-A"
type: ss
- name: "Node-B"
type: vmess
# 特殊文字を含む場合は引用符が必要
password: "p@ss:word#123"
# 英数字のみの場合は不要
log-level: info
# ブール値は引用符不要
allow-lan: true
udp: false
# を使います。# 行全体のコメント
port: 7890 # 行末コメント
# コメントで各設定の目的を記録できます
mode: rule # rule/global/direct
基礎構成パラメータ
ポート設定
Clash はローカルポートを介してプロキシサービスを提供します。各アプリは、プロキシ設定でこれらのポートを指定します。
# オプション 1: ポート分離(互換性最高)
port: 7890 # HTTP プロキシポート
socks-port: 7891 # SOCKS5 プロキシポート
redir-port: 7892 # 透過プロキシポート(Linux/macOS、TUN モード用)
# オプション 2: 混合ポート(推奨、HTTP+SOCKS5 統合)
mixed-port: 7890
# オプション 1 と排他的、いずれか一方を選択
port整数HTTP プロキシポート。ブラウザのプロキシ設定に使用
socks-port整数SOCKS5 ポート。ゲームやコマンドラインツールに有効
mixed-port整数HTTP+SOCKS5 混合ポート(推奨)
redir-port整数透過プロキシポート。TUN/iptables 使用時に指定
allow-lan真偽値LAN 内の他デバイスからのプロキシ利用を許可するか(デフォルト: false)
プロキシモードとログ
mode: rule # rule | global | direct
log-level: info # silent | error | warning | info | debug
ipv6: false # IPv6 トラフィックを受け入れるか
ruleルールモード(Rule)日常利用の第一選択。ルールに従い自動で分流します
globalグローバルプロキシ全トラフィックをプロキシ経由にする。一時的なテスト用
directグローバルダイレクト全トラフィックをプロキシに通さない。機能オフと同じ
外部制御インターフェース(RESTful API)
Clash は制御用の RESTful API を提供しています。Web 管理パネル(Metacubexd 等)はこの機能を介してトラフィックの監視やノードの切り替えを行います。
external-controller: 127.0.0.1:9090 # API リッスンアドレス
secret: "" # API アクセストークン(設定推奨)
external-ui: ui # Web パネルファイルディレクトリ(省略可)
external-ui-url: "https://github.com/MetaCubeX/metacubexd/archive/gh-pages.zip"
external-controller を 0.0.0.0:9090 に変更すると LAN 内の他デバイスから Web パネルに飛べますが、必ず secret を設定して不正アクセスを防いでください。DNS 設定の詳細
Clash 内蔵の DNS モジュールは、システムの DNS 解析を乗っ取ることで、より精密な分流と DNS 漏洩防止を実現します。有効化を強く推奨します。 特にルールモードや TUN モード利用時には必須級です。
enhanced-mode:主要な DNS 動作モード
dns:
enable: true # 内蔵 DNS モジュールを有効化
listen: 0.0.0.0:53 # DNS リッスンアドレス
ipv6: false # IPv6 DNS 解決を有効化
enhanced-mode: fake-ip # fake-ip(推奨)または redir-host
fake-ip-range: 198.18.0.1/16 # Fake-IP アドレスプール範囲
fake-ip仮想 IP を返し、即座に接続要求を出す。Clash がバックグラウンドでドメイン名とルールを照合推奨
redir-host通常の DNS 解析を行い、得られた実 IP をもとに IP-CIDR ルールを照合互換性が高い
上位 DNS サーバーの構成
dns:
# プライマリ DNS(ローカルドメイン解決用)
nameserver:
- 1.1.1.1 # Cloudflare DNS
- 8.8.8.8 # Google DNS
- system # システム DNS に従う
# フォールバック DNS(国際ドメイン用、DNS 汚染防止)
# 暗号化 DNS(DoT/DoH)で ISP による傍受を防止
fallback:
- tls://8.8.8.8:853 # Google DNS over TLS
- tls://1.1.1.1:853 # Cloudflare DNS over TLS
- https://dns.google/dns-query # Google DoH
# フォールバック条件:非ローカル IP と判定された場合
fallback-filter:
geoip: true
geoip-code: CN # 非 CN IP でフォールバック DNS を使用
ipcidr:
- 240.0.0.0/4 # 予約アドレス範囲もフォールバック対象
fake-ip-filter:Fake-IP 対象外にするドメイン
一部のローカルサービス(NAS 探索、mDNS、一部のログイン認証等)は実 IP を必要とするため、Fake-IP の対象外にする必要があります:
dns:
fake-ip-filter:
- '*.lan' # LAN ドメイン(Fake-IP バイパス)
- '*.local' # ローカル mDNS
- +.msftncsi.com # MS NCSI(ネット接続確認)
- +.stun.*.* # STUN サービス(WebRTC)
- +.stun.*.*.*
- time.*.com # NTP 時刻同期
- time.*.gov
- ntp.*.com
proxies — プロキシノードの定義
proxies はリスト形式で記述し、各項目が 1 つのノードを表します。以下は主要 4 プロトコルの完全な記述例です:
Shadowsocks
proxies:
- name: "🇭🇰 HK-SS" # ノード名(カスタマイズ可)
type: ss
server: hk.example.com # サーバードメインまたは IP
port: 443
cipher: aes-256-gcm # 暗号化方式(一般的:aes-256-gcm / chacha20-ietf-poly1305)
password: "your-password"
udp: true # UDP 転送を有効化(ゲームに必須)
# obfs プラグイン付き SS(難読化強化)
- name: "🇯🇵 JP-SS-obfs"
type: ss
server: jp.example.com
port: 80
cipher: chacha20-ietf-poly1305
password: "your-password"
plugin: obfs
plugin-opts:
mode: http # http または tls
host: bing.com # カモフラージュ用ドメイン
VMess
# VMess + WebSocket + TLS(最も一般的な組み合わせ)
- name: "🇺🇸 US-VMess-WS"
type: vmess
server: us.example.com
port: 443
uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
alterId: 0 # 新バージョンのプロトコルは常に 0
cipher: auto
network: ws # トランスポート: ws / grpc / tcp / h2
tls: true
servername: us.example.com # SNI: server と同じか CDN ドメイン
ws-opts:
path: /vmess # サーバー側のパスと一致させる
headers:
Host: us.example.com
# VMess + gRPC(低遅延、高い透過性)
- name: "🇸🇬 SG-VMess-gRPC"
type: vmess
server: sg.example.com
port: 443
uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
alterId: 0
cipher: auto
network: grpc
tls: true
grpc-opts:
grpc-service-name: "vmess-grpc"
Trojan
- name: "🇯🇵 JP-Trojan"
type: trojan
server: jp.example.com
port: 443
password: "your-password"
sni: jp.example.com # TLS SNI(通常 server と同じ)
udp: true
skip-cert-verify: false # 本番環境では false のまま、証明書検証をスキップしない
# Trojan + WebSocket(CDN 中継用)
- name: "🇰🇷 KR-Trojan-WS"
type: trojan
server: kr.example.com
port: 443
password: "your-password"
network: ws
ws-opts:
path: /trojan
headers:
Host: kr.example.com
Hysteria 2
QUIC ベースの新世代プロトコル。ロス率の高い環境に最適化されており、海外回線の高速化に適しています。
- name: "⚡ US-Hysteria2"
type: hysteria2
server: us.example.com
port: 443
password: "your-password"
sni: us.example.com
skip-cert-verify: false
# 実際のローカル帯域幅を Mbps で設定(アップ/ダウン)
up: "50 Mbps"
down: "200 Mbps"
up / down には、ノードの帯域ではなく手元の環境のアップロード/ダウンロード帯域を記述してください。正確な値を書くことで QUIC の性能を最大化でき、逆に大きすぎるとネットワークの混雑を招きます。proxy-groups — プロキシグループの詳細解説
プロキシグループは Clash の最重要機能のひとつです。複数のノードを戦略ごとにまとめ、ルールが「個別のノード」ではなく「ノードのグループ」を指せるようにします。
select — 手動選択
最も基本的なグループ形式。ユーザーが画面上で使用したいノードを直接クリックして決定します。
proxy-groups:
- name: "🚀 プロキシ選択"
type: select
proxies:
- "⚡ 自動選択" # 他のプロキシグループを参照
- "🛡️ フォールバック"
- "🇭🇰 HK-SS" # 単一ノードを参照(名前は proxies リストと一致する必要あり)
- "🇺🇸 US-VMess-WS"
- "🇯🇵 JP-Trojan"
- DIRECT # 特殊値: 直接接続、プロキシなし
- REJECT # 特殊値: 接続拒否(広告ブロック用)
url-test — 自動速度選択
定期的に全ノードの遅延をテストし、最も遅延の少ないノードへ自動で切り替えます。
- name: "⚡ 自動選択"
type: url-test
proxies:
- "🇭🇰 HK-SS"
- "🇺🇸 US-VMess-WS"
- "🇯🇵 JP-Trojan"
- "⚡ US-Hysteria2"
url: 'http://www.gstatic.com/generate_204' # 速度テスト対象 URL
interval: 300 # テスト間隔(秒)
tolerance: 50 # 切替許容値(ms): この差を超えた場合のみ切替
lazy: true # 遅延テスト: トラフィック発生時のみテスト
fallback — フェイルオーバー
proxies リストの順序に従って最初のノードを優先的に使用し、利用不可になった場合に自動で次のノードへ切り替え、接続の可用性を確保します。
- name: "🛡️ フォールバック"
type: fallback
proxies:
- "🇭🇰 HK-SS" # 優先ノード
- "🇯🇵 JP-Trojan" # バックアップ 1
- "🇺🇸 US-VMess-WS" # バックアップ 2
url: 'http://www.gstatic.com/generate_204'
interval: 60 # 確認間隔(秒): 障害の早期検出のため url-test より短く
load-balance — 負荷分散
異なる接続を複数のノードに分散させます。同時接続数が多いダウンロード等のシーンで、全体のパフォーマンスを向上させるのに適しています。
- name: "⚖️ 負荷分散"
type: load-balance
strategy: consistent-hashing # round-robin | consistent-hashing(同ドメイン → 同ノード)
proxies:
- "🇭🇰 HK-SS"
- "🇯🇵 JP-Trojan"
- "🇺🇸 US-VMess-WS"
url: 'http://www.gstatic.com/generate_204'
interval: 300
rules — ルール構成の詳細解説
ルールによって、各ネットワークリクエストの行き先(直接接続、特定のプロキシグループ、または拒否)が決まります。ルールは上から下への順に照合され、最初にマッチしたものが実行されます。
ルールタイプ一覧
DOMAIN
DOMAIN,google.com,POLICY
完全一致するドメイン名
DOMAIN-SUFFIX
DOMAIN-SUFFIX,google.com,POLICY
ドメインおよびその全サブドメイン
DOMAIN-KEYWORD
DOMAIN-KEYWORD,google,POLICY
キーワードを含むドメイン名
IP-CIDR
IP-CIDR,192.168.0.0/16,POLICY
対象 IP アドレス範囲
IP-CIDR6
IP-CIDR6,::1/128,POLICY
IPv6 アドレス範囲
GEOIP
GEOIP,CN,POLICY
IP アドレスの場所(国)による判定
GEOSITE
GEOSITE,CN,POLICY
プリセットされたドメインデータベースによる判定 (Mihomo 拡張)
PROCESS-NAME
PROCESS-NAME,steam.exe,POLICY
リクエスト元のプロセス名による判定(デスクトップ版)
RULE-SET
RULE-SET,rule-set-name,POLICY
外部ルールセットファイルの引用(大量のルール管理用)
MATCH
MATCH,POLICY
最終ルール。上記にマッチしなかったすべてのリクエストを処理(必ず最後に記述)
ルールのマッチング優先順位
DOMAIN 等)を上の方へ、範囲の広いルール(GEOIP 等)を下の方へ配置し、MATCH を必ず最終行に記述してください。DOMAIN 完全一致ドメイン最高DOMAIN-SUFFIX ドメインサフィックスDOMAIN-KEYWORD ドメインキーワードIP-CIDR / GEOIP IP アドレスルールMATCH 最終マッチング(必須)必ず最後よく使われるルールの記述例
rules:
# ===== 広告・悪意のあるドメインをブロック =====
- DOMAIN-KEYWORD,adservice,REJECT
- DOMAIN-SUFFIX,doubleclick.net,REJECT
- DOMAIN-SUFFIX,googlesyndication.com,REJECT
# ===== 開発ツールをプロキシ経由(精確一致優先) =====
- DOMAIN-SUFFIX,github.com,🚀 プロキシ選択
- DOMAIN-SUFFIX,githubusercontent.com,🚀 プロキシ選択
- DOMAIN-SUFFIX,npmjs.com,🚀 プロキシ選択
- DOMAIN-SUFFIX,docker.io,🚀 プロキシ選択
- DOMAIN-SUFFIX,docker.com,🚀 プロキシ選択
# ===== プロセス名ルール(デスクトップのみ) =====
- PROCESS-NAME,steam.exe,🚀 プロキシ選択
- PROCESS-NAME,git,🚀 プロキシ選択
# ===== プライベート IP: 直接接続 =====
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
# ===== 中国本土 IP: 直接接続 =====
- GEOIP,CN,DIRECT
# ===== キャッチオール: 残りのトラフィックをプロキシ経由 =====
- MATCH,🚀 プロキシ選択
config.yaml の完全なサンプル
以下は、3 種類のプロトコル、4 種類のグループ、完全なルール分流を含む、詳細な注釈付きの構成ファイル例です。必要に応じて書き換えて使用してください:
# ============================================================
# Clash config.yaml — 完全な設定例
# ============================================================
# --- 基本設定 ---
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
ipv6: false
external-controller: 127.0.0.1:9090
secret: ""
# --- DNS 設定 ---
dns:
enable: true
listen: 0.0.0.0:53
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- '*.lan'
- '*.local'
- +.msftncsi.com
- +.stun.*.*
- time.*.com
- ntp.*.com
nameserver:
- 1.1.1.1
- 8.8.8.8
fallback:
- tls://8.8.8.8:853
- tls://1.1.1.1:853
fallback-filter:
geoip: true
geoip-code: CN
# --- プロキシノード ---
proxies:
- name: "🇭🇰 HK-SS"
type: ss
server: hk.example.com
port: 443
cipher: aes-256-gcm
password: "your-ss-password"
udp: true
- name: "🇺🇸 US-VMess"
type: vmess
server: us.example.com
port: 443
uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
alterId: 0
cipher: auto
network: ws
tls: true
servername: us.example.com
ws-opts:
path: /vmess
headers:
Host: us.example.com
- name: "🇯🇵 JP-Trojan"
type: trojan
server: jp.example.com
port: 443
password: "your-trojan-password"
sni: jp.example.com
udp: true
# --- プロキシグループ ---
proxy-groups:
- name: "🚀 プロキシ選択"
type: select
proxies:
- "⚡ 自動選択"
- "🛡️ フォールバック"
- "🇭🇰 HK-SS"
- "🇺🇸 US-VMess"
- "🇯🇵 JP-Trojan"
- DIRECT
- name: "⚡ 自動選択"
type: url-test
proxies:
- "🇭🇰 HK-SS"
- "🇺🇸 US-VMess"
- "🇯🇵 JP-Trojan"
url: 'http://www.gstatic.com/generate_204'
interval: 300
tolerance: 50
- name: "🛡️ フォールバック"
type: fallback
proxies:
- "🇭🇰 HK-SS"
- "🇯🇵 JP-Trojan"
- "🇺🇸 US-VMess"
url: 'http://www.gstatic.com/generate_204'
interval: 60
- name: "🎬 ストリーミング"
type: select
proxies:
- "🇺🇸 US-VMess"
- "🇯🇵 JP-Trojan"
- "🚀 プロキシ選択"
# --- ルール ---
rules:
# 広告ブロック
- DOMAIN-KEYWORD,adservice,REJECT
- DOMAIN-SUFFIX,doubleclick.net,REJECT
# ストリーミング
- DOMAIN-SUFFIX,netflix.com,🎬 ストリーミング
- DOMAIN-SUFFIX,nflxso.net,🎬 ストリーミング
- DOMAIN-SUFFIX,disneyplus.com,🎬 ストリーミング
- DOMAIN-SUFFIX,spotify.com,🎬 ストリーミング
# 開発ツール
- DOMAIN-SUFFIX,github.com,🚀 プロキシ選択
- DOMAIN-SUFFIX,githubusercontent.com,🚀 プロキシ選択
- DOMAIN-SUFFIX,npmjs.com,🚀 プロキシ選択
- DOMAIN-SUFFIX,docker.io,🚀 プロキシ選択
# プライベート IP: 直接接続
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
# 中国本土 IP: 直接接続
- GEOIP,CN,DIRECT
# キャッチオール: 残りをプロキシ経由
- MATCH,🚀 プロキシ選択
設定が終わりましたか? クライアントをダウンロードして使い始めましょう
構成ファイルを Clash クライアントへインポートするか、購読機能を使ってプロバイダー提供の管理設定を直接読み込んでください。