clash 配置文件

本文整理 Mihomo / Clash 配置文件的基础结构,并提供 VMess、VLESS、Trojan、Shadowsocks、SOCKS5、Hysteria2、TUIC、WireGuard、SSH 和 AnyTLS 等协议的完整示例。

更新时间:2026-07-21 阅读时间:约 30 分钟

一、Clash 配置文件是什么?

Clash 配置文件通常使用 .yaml 格式,将其保存 .yaml 然后导入到 Clash中,用来描述本地监听端口、代理节点、策略组和分流规则。Mihomo、Clash Verge Rev 等客户端会读取这些字段,并按照配置建立连接。

本文中的服务器地址全部使用文档专用 IP 网段或 example.com 示例域名;UUID、密码、公钥和令牌也都是演示值,不对应真实节点,不能直接用于联网。

重要说明 示例的重点是展示字段结构。实际使用时,必须把服务器、端口、认证信息、TLS、传输方式和路径替换成服务端真实参数。

二、完整配置由哪些部分组成?

顶层字段主要用途注意事项
mixed-port同时提供 HTTP 与 SOCKS 代理入口。示例使用 7890,也可以换成未被占用的本地端口。
proxies保存 VMess、VLESS、Trojan 等具体节点。每个节点名称必须唯一;一个节点只能填写一个 server。
proxy-groups手动选择、自动测速或故障切换节点。引用的节点名称必须与 proxies 中完全一致。
rules决定哪些流量直连、拒绝或使用策略组。规则由上到下匹配,最后通常使用 MATCH 收尾。

三、VMess TCP(无 TLS)

适合服务端明确使用 VMess、TCP 传输且未开启 TLS 的情况。TCP 节点不要添加 ws-opts

VMess TCP(无 TLS) YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · VMess TCP"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

四、VMess WebSocket + TLS

适合通过域名、CDN 或反向代理接入的 VMess 节点。Host、路径和 SNI 必须与服务端一致。

VMess WebSocket + TLS YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 客户端中选择节点或直连
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

  # 局域网 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

五、VLESS TCP + TLS

VLESS 使用 UUID,但不需要 VMess 的 alterIdcipher

VLESS TCP + TLS YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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: ""

    # 使用原生 TCP 传输
    network: tcp

    # 开启 TLS
    tls: true

    # TLS 服务器名称,需与证书和服务端配置一致
    servername: vless.example.com

    # 浏览器 TLS 指纹示例
    client-fingerprint: chrome

    # false 表示不跳过证书校验
    skip-cert-verify: false

# 代理策略组:用于在 Clash 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · VLESS TLS"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

六、VLESS Reality

Reality 需要 UUID、SNI、公钥、Short ID,并常与 Vision 流控搭配。

VLESS Reality YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 通常是十六进制字符串,必须与服务端一致
      short-id: "0123456789abcdef"

# 代理策略组:用于在 Clash 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · VLESS Reality"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

七、Trojan TCP + TLS

Trojan 使用密码认证,常见部署基于 TLS。

Trojan TCP + TLS YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · Trojan TLS"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

八、Shadowsocks

Shadowsocks 的加密方式和密码必须与服务端完全一致。

Shadowsocks YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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

    # 是否通过 TCP 承载 UDP;普通服务端通常保持 false
    udp-over-tcp: false

# 代理策略组:用于在 Clash 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · Shadowsocks"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

九、SOCKS5

SOCKS5 可以无认证,也可以使用用户名和密码。

SOCKS5 YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
proxies:
  - name: "🇺🇸 示例 · SOCKS5"
    type: socks5

    # 示例 SOCKS5 服务地址
    server: 192.0.2.40
    port: 1080

    # 服务端没有认证时,应删除 username 和 password 两行
    username: "example-user"
    password: "example-password"

    # 只有服务端支持 SOCKS5 UDP 时才能开启
    udp: true

    # 此示例为普通 SOCKS5,不启用 TLS
    tls: false

# 代理策略组:用于在 Clash 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · SOCKS5"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

十、HTTPS 代理

Mihomo 中 HTTP 与 HTTPS 出站都使用 type: http,通过 tls: true 区分 HTTPS。

HTTPS 代理 YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
proxies:
  - name: "🇺🇸 示例 · HTTPS Proxy"
    type: http

    # Mihomo 中 HTTP 与 HTTPS 出站都使用 type: http
    server: proxy.example.com
    port: 443

    # 代理认证示例;无认证服务端应删除这两行
    username: "example-user"
    password: "example-password"

    # true 表示客户端到代理服务器之间使用 TLS,即 HTTPS 代理
    tls: true

    # TLS SNI,通常填写代理服务器证书中的域名
    sni: proxy.example.com

    # false 表示正常验证 TLS 证书
    skip-cert-verify: false

# 代理策略组:用于在 Clash 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · HTTPS Proxy"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

十一、Hysteria2

Hysteria2 基于 QUIC,通常需要密码、SNI、证书校验和带宽提示参数。

Hysteria2 YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · Hysteria2"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

十二、TUIC v5

TUIC v5 使用 UUID 和密码,不能同时填写 v4 的 token。

TUIC v5 YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · TUIC v5"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

十三、TUIC v4

TUIC v4 使用 token,不能同时填写 v5 的 UUID 和密码。

TUIC v4 YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · TUIC v4"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

十四、WireGuard

WireGuard 需要客户端私钥、服务端公钥、隧道内部地址和允许网段。

WireGuard YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · WireGuard"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

十五、SSH

SSH 出站可以使用密码或私钥认证。本例展示密码认证。

SSH YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · SSH"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

十六、AnyTLS

AnyTLS 使用密码和 TLS 参数,并提供空闲会话管理选项。

AnyTLS YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;false 表示仅允许本机使用
allow-lan: false

# 运行模式:rule 表示按照下方 rules 规则从上到下分流
mode: rule

# 日志级别:info 适合日常使用;排查问题时可临时改为 debug
log-level: info

# 是否启用 IPv6;当前网络没有 IPv6 时建议保持 false
ipv6: false

# 代理节点列表:每个列表项代表一个独立代理节点
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 客户端中选择节点或直连
proxy-groups:
  - name: "PROXY"

    # select 表示由用户手动选择当前使用的节点
    type: select

    # 这里引用的名称必须与上方 proxies 中的 name 完全一致
    proxies:
      - "🇺🇸 示例 · AnyTLS"
      - DIRECT

# 分流规则:按从上到下的顺序匹配,命中后不再继续匹配
rules:
  # 本机回环地址直接连接
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # 局域网 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

十七、多个 IP、多个协议和自动测速

多个 IP 不能同时写进同一个 server。每个 IP 都要建立一个独立节点,再把节点名称加入同一个策略组。不同协议也可以放在同一个 proxies 列表中。

多节点 + 多协议 + 自动测速完整示例 YAML
# 本地混合代理端口:同时提供 HTTP 与 SOCKS5 入站
mixed-port: 7890

# 是否允许局域网设备连接本机代理;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 必须单独建立一个节点,不能在同一行写多个 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 示例
  # 同一个 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"

    # 示例检测地址;实际使用时换成稳定且可访问的 204 检测地址
    url: "https://health-check.example.com/generate_204"

    # 测速间隔,单位为秒;300 表示每 5 分钟测试一次
    interval: 300

    # 延迟差在 50 毫秒以内时尽量保持当前节点,减少频繁切换
    tolerance: 50

  # 总入口策略组:在客户端中手动选择自动组、单个节点或直连
  - 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

  # 局域网 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

十八、导入前检查清单

  • 名称:每个节点的 name 必须唯一,策略组中的名称必须逐字一致。
  • 地址:一个 server 只能填写一个 IP 或域名;多个 IP 必须拆成多个节点。
  • 认证:UUID、密码、token、公钥和私钥必须来自对应服务端,不能混用。
  • 传输:TCP 节点不要填写 ws-opts;WebSocket 节点必须检查 path 与 Host。
  • TLS:开启 TLS 后,需要确认 SNI/servername、证书和是否跳过校验。
  • 缩进:YAML 使用空格缩进,不能用 Tab;同一级字段应保持相同缩进。

十九、常见问题

节点名称可以包含中文、空格和国旗吗?

可以。建议给包含中文、空格或 emoji 的名称加双引号,并确保策略组中的引用完全一致。

为什么会出现 ws-opts.headers[Host] invalid?

通常是因为 Host 不是合法域名,或者 TCP 节点错误地保留了 WebSocket 参数。TCP 节点应删除整个 ws-opts。

这些示例可以直接连接吗?

不能。本文使用的是文档专用地址和演示认证数据,只用于理解和测试 YAML 结构。

需要检查 Clash 配置?

导入失败时,建议先检查 YAML 缩进,再核对节点协议、认证参数、传输层和 TLS 字段。

查看节点套餐