Clash 設定ファイル

この記事では Mihomo / Clash 設定ファイルの基本構造を整理し、VMess、VLESS、Trojan、Shadowsocks、SOCKS5、Hysteria2、TUIC、WireGuard、SSH、AnyTLS などの完全な設定例を紹介します。

更新日:2026-07-21 読了時間:約30分

1. Clash 設定ファイルとは?

Clash の設定ファイルは通常 .yaml 形式を使用します。ファイルを .yaml 形式で保存してから、Clash にインポートしてください。 ローカル待受ポート、プロキシノード、プロキシグループ、ルーティングルールを定義します。Mihomo や Clash Verge Rev などのクライアントはこれらのフィールドを読み取り、設定に従って接続します。

この記事のサーバーアドレスはすべて文書用の予約済み IP 範囲または例示用ドメイン example.com を使用しています。UUID、パスワード、公開鍵、トークンもデモ値であり、実在するノードではないため、そのまま接続には使用できません。

重要なお知らせ 例の目的はフィールド構造を示すことです。実際に使用する際は、サーバー、ポート、認証情報、TLS、転送方式、パスをサーバー側の実際の値に置き換えてください。

2. 完全な設定は何で構成される?

トップレベルフィールド主な用途注意事項
mixed-portHTTP と SOCKS の両方のプロキシ入口を提供します。例では 7890 を使用していますが、未使用のローカルポートに変更できます。
proxiesVMess、VLESS、Trojan などの具体的なノードを保存します。各ノード名は一意である必要があり、1つのノードに指定できる server は1つだけです。
proxy-groupsノードの手動選択、自動遅延テスト、フェイルオーバーを行います。参照するノード名は proxies 内の名前と完全に一致させる必要があります。
rulesどの通信を直接接続、拒否、またはプロキシグループ経由にするかを決定します。ルールは上から下へ評価され、通常は最後を MATCH で終えます。

3. VMess TCP(TLS なし)

サーバーが VMess、TCP 転送、TLS 無効を明示している場合に使用します。TCP ノードには ws-opts を追加しないでください。

VMess TCP(TLS なし) YAML
# ローカル混合プロキシポート: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 はサーバー側と一致させてください。

VMess WebSocket + TLS YAML
# ローカル混合プロキシポート: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 の alterIdcipher は使用しません。

VLESS TCP + TLS YAML
# ローカル混合プロキシポート: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 フロー制御と組み合わせます。

VLESS Reality YAML
# ローカル混合プロキシポート: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 を利用します。

Trojan TCP + TLS YAML
# ローカル混合プロキシポート: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 の暗号方式とパスワードはサーバー側と完全に一致させる必要があります。

Shadowsocks YAML
# ローカル混合プロキシポート: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 は認証なし、またはユーザー名とパスワードで利用できます。

SOCKS5 YAML
# ローカル混合プロキシポート: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 を有効にします。

HTTPS プロキシ YAML
# ローカル混合プロキシポート: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、証明書検証、帯域幅ヒントが必要です。

Hysteria2 YAML
# ローカル混合プロキシポート: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 と同時に設定できません。

TUIC v5 YAML
# ローカル混合プロキシポート: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 とパスワードを同時に設定できません。

TUIC v4 YAML
# ローカル混合プロキシポート: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 範囲が必要です。

WireGuard YAML
# ローカル混合プロキシポート: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 アウトバウンドではパスワードまたは秘密鍵認証を使用できます。この例ではパスワード認証を示します。

SSH YAML
# ローカル混合プロキシポート: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 設定を使用し、アイドルセッション管理オプションを提供します。

AnyTLS YAML
# ローカル混合プロキシポート: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 リストに含められます。

複数ノード + 複数プロトコル + 自動遅延テストの完全例 YAML
# ローカル混合プロキシポート: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 フィールドを確認してください。

ノードプランを見る