1. Clash 設定ファイルとは?
Clash の設定ファイルは通常 .yaml 形式を使用します。ファイルを .yaml 形式で保存してから、Clash にインポートしてください。 ローカル待受ポート、プロキシノード、プロキシグループ、ルーティングルールを定義します。Mihomo や Clash Verge Rev などのクライアントはこれらのフィールドを読み取り、設定に従って接続します。
この記事のサーバーアドレスはすべて文書用の予約済み IP 範囲または例示用ドメイン example.com を使用しています。UUID、パスワード、公開鍵、トークンもデモ値であり、実在するノードではないため、そのまま接続には使用できません。
2. 完全な設定は何で構成される?
| トップレベルフィールド | 主な用途 | 注意事項 |
|---|---|---|
| mixed-port | HTTP と SOCKS の両方のプロキシ入口を提供します。 | 例では 7890 を使用していますが、未使用のローカルポートに変更できます。 |
| proxies | VMess、VLESS、Trojan などの具体的なノードを保存します。 | 各ノード名は一意である必要があり、1つのノードに指定できる server は1つだけです。 |
| proxy-groups | ノードの手動選択、自動遅延テスト、フェイルオーバーを行います。 | 参照するノード名は proxies 内の名前と完全に一致させる必要があります。 |
| rules | どの通信を直接接続、拒否、またはプロキシグループ経由にするかを決定します。 | ルールは上から下へ評価され、通常は最後を MATCH で終えます。 |
3. VMess TCP(TLS なし)
サーバーが VMess、TCP 転送、TLS 無効を明示している場合に使用します。TCP ノードには ws-opts を追加しないでください。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · VMess TCP"
type: vmess
# サンプルサーバーアドレス:192.0.2.0/24 は文書用の予約範囲で、実在するノードではありません
server: 192.0.2.10
# サンプルのサーバーポート;実際にはサーバー側の設定と一致させる必要があります
port: 10001
# VMess ユーザー ID;8-4-4-4-12 形式の完全な UUID が必要です
uuid: "11111111-1111-4111-8111-111111111111"
# 新しい VMess では通常 0 を使用し、0 以外では旧式の AlterID 機構が有効になります
alterId: 0
# VMess 暗号方式;auto は一般的で互換性の高い設定です
cipher: auto
# このノードで UDP 通信の転送を許可するか
udp: true
# ws/http/h2/grpc を指定しない場合は TCP;読みやすさのため明示しています
network: tcp
# この例では TLS を有効にしないため、servername、SNI、証明書オプションは不要です
tls: false
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · VMess TCP"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
4. VMess WebSocket + TLS
ドメイン、CDN、リバースプロキシ経由で接続する VMess ノードに適しています。Host、パス、SNI はサーバー側と一致させてください。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · VMess WS TLS"
type: vmess
# サンプルの入口ドメイン;example.com 系のドメインは文書例としてのみ使用します
server: edge.example.com
port: 443
# VMess ユーザー UUID;ここでは形式を示すためのサンプルです
uuid: "11111111-1111-4111-8111-111111111112"
alterId: 0
cipher: auto
udp: true
# WebSocket 転送では ws を指定します
network: ws
# TLS を有効にする
tls: true
# TLS ハンドシェイクで使用するサーバー名;サーバー証明書と一致させる必要があります
servername: edge.example.com
# false は証明書を検証します。本番環境では通常 false を推奨します
skip-cert-verify: false
# 一般的なブラウザの TLS フィンガープリントを模倣;現在の Mihomo コアが対応している必要があります
client-fingerprint: chrome
# WebSocket 専用オプション
ws-opts:
# WebSocket リクエストパス;サーバー設定と完全に一致させる必要があります
path: "/vmess-demo"
# WebSocket リクエストヘッダー
headers:
# Host には有効なドメインを指定し、YOUR_HOST のようなプレースホルダーは使用しないでください
Host: edge.example.com
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · VMess WS TLS"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
5. VLESS TCP + TLS
VLESS は UUID を使用しますが、VMess の alterId と cipher は使用しません。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · VLESS TLS"
type: vless
# サンプルドメインであり、実在するプロキシサービスには接続しません
server: vless.example.com
port: 443
# VLESS ユーザー UUID;VLESS は alterId と cipher を使用しません
uuid: "22222222-2222-4222-8222-222222222221"
# UDP 転送を許可
udp: true
# 通常の VLESS では encryption フィールドを空文字列にします
encryption: ""
# ネイティブ TCP 転送を使用
network: tcp
# TLS を有効にする
tls: true
# TLS サーバー名;証明書およびサーバー設定と一致させる必要があります
servername: vless.example.com
# ブラウザ TLS フィンガープリントの例
client-fingerprint: chrome
# false は証明書検証をスキップしない設定です
skip-cert-verify: false
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · VLESS TLS"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
6. VLESS Reality
Reality には UUID、SNI、公開鍵、Short ID が必要で、一般に Vision フロー制御と組み合わせます。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · VLESS Reality"
type: vless
# 198.51.100.0/24 は文書用の予約範囲で、形式の説明にのみ使用します
server: 198.51.100.20
port: 443
# VLESS ユーザー UUID のサンプル
uuid: "22222222-2222-4222-8222-222222222222"
udp: true
encryption: ""
network: tcp
# Reality ノードも TLS 設定項目を使用します
tls: true
# サーバーが指定するカモフラージュ対象名;サーバー設定と一致させる必要があります
servername: www.example.com
# Reality + Vision で一般的なフロー制御値
flow: xtls-rprx-vision
# Reality では通常クライアントフィンガープリントを指定します
client-fingerprint: chrome
# Reality 専用オプション
reality-opts:
# サンプル公開鍵;フィールド位置の説明用で、実在するサーバーには対応しません
public-key: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
# Short ID は通常16進文字列で、サーバー側と一致させる必要があります
short-id: "0123456789abcdef"
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · VLESS Reality"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
7. Trojan TCP + TLS
Trojan はパスワード認証を使用し、一般的な構成では TLS を利用します。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · Trojan TLS"
type: trojan
# サンプルドメイン
server: trojan.example.com
port: 443
# Trojan はパスワード認証を使用し、UUID は使用しません
password: "example-trojan-password"
# UDP を許可するか
udp: true
# Trojan は通常 TLS を使用し、SNI はサーバー証明書の設定と一致させる必要があります
sni: trojan.example.com
# 証明書の検証を推奨
skip-cert-verify: false
# クライアント TLS フィンガープリントの例
client-fingerprint: chrome
# ws または grpc を使用しない場合は TCP
network: tcp
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · Trojan TLS"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
8. Shadowsocks
Shadowsocks の暗号方式とパスワードはサーバー側と完全に一致させる必要があります。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · Shadowsocks"
type: ss
# 203.0.113.0/24 は文書用の予約範囲です
server: 203.0.113.30
port: 8388
# 暗号方式はサーバー側と完全に同じである必要があります
cipher: chacha20-ietf-poly1305
# Shadowsocks 認証パスワードのサンプル
password: "example-shadowsocks-password"
# UDP 転送を有効にする
udp: true
# UDP を TCP 上で転送するか;一般的なサーバーでは通常 false のままにします
udp-over-tcp: false
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · Shadowsocks"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
9. SOCKS5
SOCKS5 は認証なし、またはユーザー名とパスワードで利用できます。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · SOCKS5"
type: socks5
# SOCKS5 サーバーアドレスのサンプル
server: 192.0.2.40
port: 1080
# サーバーが認証不要の場合は username と password の2行を削除します
username: "example-user"
password: "example-password"
# SOCKS5 サーバーが UDP に対応している場合のみ有効にします
udp: true
# この例は通常の SOCKS5 で、TLS は使用しません
tls: false
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · SOCKS5"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
10. HTTPS プロキシ
Mihomo では HTTP と HTTPS のアウトバウンドはいずれも type: http を使用し、tls: true で HTTPS を有効にします。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · HTTPS Proxy"
type: http
# Mihomo では HTTP と HTTPS のアウトバウンドはいずれも type: http を使用します
server: proxy.example.com
port: 443
# プロキシ認証のサンプル;認証不要のサーバーではこの2行を削除します
username: "example-user"
password: "example-password"
# true はクライアントとプロキシサーバー間で TLS を使用する HTTPS プロキシを意味します
tls: true
# TLS SNI;通常はプロキシサーバー証明書のドメインを指定します
sni: proxy.example.com
# false は TLS 証明書を通常どおり検証します
skip-cert-verify: false
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · HTTPS Proxy"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
11. Hysteria2
Hysteria2 は QUIC ベースで、通常はパスワード、SNI、証明書検証、帯域幅ヒントが必要です。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · Hysteria2"
type: hysteria2
# サンプルドメイン
server: hy2.example.com
port: 443
# Hysteria2 認証パスワード
password: "example-hysteria2-password"
# アップロード・ダウンロード帯域幅のヒント;実際のネットワークとサーバー要件に合わせて調整します
up: "20 Mbps"
down: "100 Mbps"
# TLS SNI
sni: hy2.example.com
# false は証明書を検証します
skip-cert-verify: false
# Hysteria2 は QUIC ベースで、一般的な ALPN は h3 です
alpn:
- h3
# 難読化を使用しない場合は obfs と obfs-password を設定しないでください
# obfs: salamander
# obfs-password: "example-obfs-password"
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · Hysteria2"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
12. TUIC v5
TUIC v5 は UUID とパスワードを使用し、v4 の token と同時に設定できません。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · TUIC v5"
type: tuic
# TUIC サーバードメインのサンプル
server: tuic.example.com
port: 443
# TUIC v5 は UUID + password を使用します
uuid: "44444444-4444-4444-8444-444444444444"
password: "example-tuic-v5-password"
# TLS SNI
sni: tuic.example.com
# false は証明書を検証します
skip-cert-verify: false
# UDP リレーモード:native または quic;サーバーとコアの両方が対応している必要があります
udp-relay-mode: native
# QUIC 輻輳制御アルゴリズムのサンプル
congestion-controller: bbr
# QUIC 0-RTT を有効にするか;有効化するとハンドシェイク遅延を短縮できます
reduce-rtt: true
# リクエスト確立のタイムアウト(ミリ秒)
request-timeout: 8000
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · TUIC v5"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
13. TUIC v4
TUIC v4 は token を使用し、v5 の UUID とパスワードを同時に設定できません。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · TUIC v4"
type: tuic
# TUIC v4 サーバードメインのサンプル
server: tuic-v4.example.com
port: 443
# TUIC v4 は token を使用し、v5 の uuid/password と同時に設定できません
token: "example-tuic-v4-token"
# TLS SNI
sni: tuic-v4.example.com
skip-cert-verify: false
# UDP リレーモード
udp-relay-mode: native
# QUIC 輻輳制御アルゴリズム
congestion-controller: bbr
# リクエストタイムアウト(ミリ秒)
request-timeout: 8000
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · TUIC v4"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
14. WireGuard
WireGuard にはクライアント秘密鍵、サーバー公開鍵、トンネル内アドレス、許可 IP 範囲が必要です。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · WireGuard"
type: wireguard
# サーバーアドレスのサンプル
server: 203.0.113.50
port: 51820
# WireGuard トンネル内でクライアントが使用する IPv4 アドレスのサンプル
ip: 10.66.66.2
# クライアント秘密鍵のサンプル;フィールド形式の説明用で、実際には使用しないでください
private-key: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
# サーバー公開鍵のサンプル;フィールド形式の説明用です
public-key: "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB="
# トンネル経由でアクセスを許可する宛先範囲
allowed-ips:
- "0.0.0.0/0"
# UDP を許可
udp: true
# 最大転送単位のサンプル;通信に問題がある場合は実環境に合わせて調整します
mtu: 1408
# サーバーが事前共有鍵を要求する場合のみコメントを解除して置き換えます
# pre-shared-key: "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC="
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · WireGuard"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
15. SSH
SSH アウトバウンドではパスワードまたは秘密鍵認証を使用できます。この例ではパスワード認証を示します。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · SSH"
type: ssh
# SSH サーバーアドレスのサンプル
server: 192.0.2.60
port: 22
# SSH ログインアカウント
username: "example-user"
# パスワード認証のサンプル;秘密鍵認証を使用する場合は password を削除します
password: "example-ssh-password"
# 任意:サーバーホスト鍵を固定し、誤ったホストへの接続リスクを減らします
# host-key:
# - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExampleOnly"
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · SSH"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
16. AnyTLS
AnyTLS はパスワードと TLS 設定を使用し、アイドルセッション管理オプションを提供します。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:各リスト項目が独立した1つのプロキシノードを表す
proxies:
- name: "🇺🇸 サンプル · AnyTLS"
type: anytls
# サンプルドメイン
server: anytls.example.com
port: 443
# AnyTLS 認証パスワード
password: "example-anytls-password"
# UDP を許可するか
udp: true
# TLS SNI
sni: anytls.example.com
# ブラウザ TLS フィンガープリントの例
client-fingerprint: chrome
# false は証明書を検証します
skip-cert-verify: false
# TLS アプリケーション層プロトコルネゴシエーション一覧
alpn:
- h2
- http/1.1
# アイドルセッション確認間隔(秒)
idle-session-check-interval: 30
# アイドルセッションタイムアウト(秒)
idle-session-timeout: 30
# 最低限保持するアイドルセッション数
min-idle-session: 0
# プロキシグループ:Clash クライアントでノードまたは DIRECT を選択
proxy-groups:
- name: "PROXY"
# select は使用するノードをユーザーが手動で選択する方式です
type: select
# ここで参照する名前は上の proxies 内の name と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · AnyTLS"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# 残りの一致しない通信は PROXY グループへ送る
- MATCH,PROXY
17. 複数 IP・複数プロトコル・自動遅延テスト
複数の IP を同じ server に記述することはできません。IP ごとに独立したノードを作成し、そのノード名を同じプロキシグループへ追加します。異なるプロトコルも同じ proxies リストに含められます。
# ローカル混合プロキシポート:HTTP と SOCKS5 の両方のインバウンドを提供
mixed-port: 7890
# LAN 内の端末からこのプロキシへの接続を許可するか;false はこの端末のみ使用可能
allow-lan: false
# 動作モード:rule は下の rules を上から順に評価して振り分ける
mode: rule
# ログレベル:通常は info、問題調査時は一時的に debug に変更可能
log-level: info
# IPv6 を有効にするか;現在のネットワークが IPv6 非対応なら false を推奨
ipv6: false
# プロキシノード一覧:複数 IP または複数プロトコルはそれぞれ独立したノードとして定義
proxies:
# ----------------------------------------------------------
# ノード1:VMess + TCP + TLS なしの例
# ----------------------------------------------------------
- name: "🇺🇸 サンプル · VMess 01"
# ノードのプロトコル種別
type: vmess
# 文書用のサンプル IP であり、実在するサーバーではありません
server: 192.0.2.11
# サンプルのサーバーポート;実際の値はノードのサーバーから提供されます
port: 10001
# VMess UUID のサンプル;フィールド形式の説明にのみ使用します
uuid: "11111111-1111-4111-8111-111111111121"
# 新しい VMess では通常 0 を使用します
alterId: 0
# VMess 暗号方式のサンプル
cipher: auto
# UDP 通信を許可するか
udp: true
# ネイティブ TCP 転送を使用
network: tcp
# この例では TLS を有効にしていません
tls: false
# ----------------------------------------------------------
# ノード2:同じ認証情報で異なるサンプル IP
# 各 server は独立したノードとして定義し、1行に複数の IP を書かないでください
# ----------------------------------------------------------
- name: "🇺🇸 サンプル · VMess 02"
type: vmess
server: 192.0.2.12
port: 10001
uuid: "11111111-1111-4111-8111-111111111121"
alterId: 0
cipher: auto
udp: true
network: tcp
tls: false
# ----------------------------------------------------------
# ノード3:Trojan + TCP + TLS の例
# 1つの proxies リストに異なるプロトコルのノードを同時に保存できます
# ----------------------------------------------------------
- name: "🇯🇵 サンプル · Trojan"
# ノードのプロトコル種別
type: trojan
# example.com のサブドメインは文書例としてのみ使用します
server: trojan.example.com
# 一般的な TLS サービスポートのサンプル
port: 443
# Trojan 認証パスワードのサンプルで、実在するアカウントには対応しません
password: "example-trojan-password"
# UDP 通信を許可するか
udp: true
# TLS ハンドシェイクで使用する SNI;実際のサーバー証明書と一致させる必要があります
sni: trojan.example.com
# false はサーバー証明書を検証します
skip-cert-verify: false
# TCP 転送を使用
network: tcp
# プロキシグループ:自動遅延テストグループとメイン選択グループを同時に定義
proxy-groups:
# 自動遅延テストグループ:一覧のノードを定期的に測定し、低遅延のノードを選択
- name: "AUTO"
# url-test は遅延テストに基づく自動選択です
type: url-test
# 遅延テスト対象のノード名は proxies 内と完全に一致させる必要があります
proxies:
- "🇺🇸 サンプル · VMess 01"
- "🇺🇸 サンプル · VMess 02"
- "🇯🇵 サンプル · Trojan"
# サンプルのテスト URL;実際には安定して到達可能な 204 エンドポイントへ変更します
url: "https://health-check.example.com/generate_204"
# 測定間隔(秒);300 は5分ごとに1回測定します
interval: 300
# 遅延差が50ミリ秒以内なら現在のノードを維持し、頻繁な切り替えを減らします
tolerance: 50
# メインプロキシグループ:クライアントで自動グループ、個別ノード、DIRECT を手動選択
- name: "PROXY"
# select は手動選択です
type: select
# AUTO は上の自動遅延テストグループで、他の項目は具体的なノード名です
proxies:
- "AUTO"
- "🇺🇸 サンプル · VMess 01"
- "🇺🇸 サンプル · VMess 02"
- "🇯🇵 サンプル · Trojan"
- DIRECT
# ルーティングルール:上から順に評価され、最初に一致した時点で評価を終了
rules:
# ローカルループバックアドレスは直接接続
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# プライベート LAN IPv4 アドレスは直接接続
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# ローカル IPv6 ループバックアドレスは直接接続
- IP-CIDR6,::1/128,DIRECT,no-resolve
# その他の通信はすべて PROXY グループへ送る
- MATCH,PROXY
18. インポート前チェックリスト
- 名前:各ノードの name は一意にし、プロキシグループ内の名前と完全に一致させます。
- アドレス:1つの server に指定できる IP またはドメインは1つだけです。複数 IP は別々のノードに分けます。
- 認証:UUID、パスワード、token、公開鍵、秘密鍵は対応するサーバーのものを使用し、混在させないでください。
- 転送:TCP ノードには ws-opts を設定しません。WebSocket ノードでは path と Host を確認します。
- TLS:TLS を有効にしたら、SNI/servername、証明書、検証をスキップするかを確認します。
- インデント:YAML のインデントにはスペースを使用し、Tab は使用しません。同じ階層のフィールドは同じインデントにします。
19. よくある質問
ノード名に日本語、スペース、国旗を含められますか?
はい。日本語、スペース、絵文字を含む名前はダブルクォートで囲み、プロキシグループ内の参照と完全に一致させることを推奨します。
なぜ ws-opts.headers[Host] invalid と表示されますか?
通常は Host が有効なドメインではないか、TCP ノードに WebSocket オプションが誤って残っているためです。TCP ノードでは ws-opts 全体を削除してください。
これらの例をそのまま接続に使用できますか?
使用できません。この記事では文書用アドレスとデモ認証情報を使用しており、YAML 構造の理解とテストのみを目的としています。
Clash 設定を確認したいですか?
インポートに失敗した場合は、まず YAML のインデントを確認し、次にノードプロトコル、認証情報、転送層、TLS フィールドを確認してください。