Clash 配置文档

Clash 配置指南
从零到完整代理部署

订阅链接导入、YAML 配置语法、代理分组、规则分流、DNS 防泄漏、TUN 全局代理——一份文档覆盖 Clash 配置全流程,适用于 Windows、macOS、Android 全平台。

入门

快速上手:三步完成代理部署

无论你使用哪种 Clash 客户端,核心流程都完全相同:下载客户端 → 导入订阅链接 → 选择节点并开启代理。整个过程通常在 3 分钟内完成。

1

下载并安装 Clash 客户端

根据你的操作系统前往客户端下载页获取安装包。Windows 推荐 Clash Verge Rev,macOS 推荐 ClashX Meta 或 Clash Verge Rev,Android 推荐 ClashMeta。

2

从机场获取订阅链接并导入

登录你的机场控制台,复制订阅链接(URL 形式)。在 Clash 客户端中找到「订阅」或「配置」选项,粘贴链接后点击「更新」,客户端会自动下载并解析全部节点配置。

3

选择代理节点,开启系统代理

切换到「代理」页面,选择一个延迟较低的节点。开启「系统代理」(System Proxy)或「TUN 模式」(全局接管所有流量),即可开始使用。

推荐做法:使用机场提供的订阅链接,而不是手动编写 config.yaml。订阅链接包含完整节点配置,客户端可定时自动更新,无需手动维护。

入门

订阅链接导入详解

订阅链接是机场以 URL 形式提供的配置文件地址。Clash 在访问该 URL 后会下载一份包含所有节点、代理分组和规则的完整 YAML 配置,并在本地保存。

各客户端导入方式

客户端 平台 导入位置
Clash Verge Rev Windows / macOS / Linux 侧边栏「订阅」→ 右上角「+」→ 粘贴 URL → 确认
ClashX / ClashX Meta macOS 菜单栏图标 → Config → Remote Config → Manage → 添加
ClashMeta for Android Android 底栏「配置」→ 右上角「+」→ URL 导入
FlClash Android / Windows 侧边栏「配置」→「+」→ 输入链接 → 下载
Stash iOS 首页「配置文件」→「从 URL 下载」
Shadowrocket iOS 首页右上角「+」→ 选类型「Subscribe」→ 粘贴 URL

注意:订阅链接属于个人隐私数据,请勿将其泄露给他人。建议开启客户端的「定时更新订阅」功能(通常为 24 小时),以获取机场最新节点。

订阅更新间隔推荐

大多数机场节点每 1–7 天会有变动。将自动更新间隔设置为 24 小时可确保节点始终最新,同时不会造成服务器压力。

配置文件

config.yaml 文件结构

Clash 的配置文件为 YAML 格式,文件名通常为 config.yaml。它由以下几个顶级字段组成,各字段通过缩进分层,顺序不影响解析。

YAML
# Clash config.yaml — top-level structure

mixed-port: 7890          # HTTP + SOCKS5 mixed port
allow-lan: false          # Allow LAN devices to use proxy
mode: rule               # rule | global | direct
log-level: info           # silent | error | warning | info | debug
external-controller: 127.0.0.1:9090   # REST API port

dns:
  # DNS settings — see DNS section below

proxies:
  # Proxy node definitions

proxy-groups:
  # Proxy group policies

rules:
  # Traffic routing rules

全局参数说明

字段默认值说明
mixed-port7890同时监听 HTTP 和 SOCKS5 协议的混合端口
port仅 HTTP 代理端口(与 mixed-port 二选一)
socks-port仅 SOCKS5 端口(与 mixed-port 二选一)
allow-lanfalse是否允许局域网其他设备通过本机代理
moderulerule(规则分流)/ global(全局代理)/ direct(全部直连)
log-levelinfo日志详细程度,调试时可改为 debug
external-controllerREST API 地址,GUI 客户端通过此接口控制内核
secretREST API 的访问密钥(可选)

使用图形界面客户端(如 Clash Verge Rev、ClashX)时,大部分全局参数由客户端界面控制,无需手动编辑 config.yaml。手动配置主要用于服务器部署或高度自定义场景。

配置文件

代理节点(proxies)

proxies 字段定义所有代理节点,每个节点以 - name: 开头,通过 type 字段指定协议。Clash 支持以下全部主流代理协议:

Shadowsocks ShadowsocksR VMess VLESS Trojan Hysteria2 TUIC v5 WireGuard NaïveProxy SOCKS5 HTTP / HTTPS

Shadowsocks 节点示例

YAML
proxies:
  - name: "HK-01 香港节点"
    type: ss
    server: hk.example.com
    port: 8388
    cipher: aes-128-gcm
    password: "your-password"
    udp: true

VMess 节点示例

YAML
  - name: "JP-02 日本节点"
    type: vmess
    server: jp.example.com
    port: 443
    uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    alterId: 0
    cipher: auto
    tls: true
    network: ws
    ws-opts:
      path: "/ws"
      headers:
        Host: jp.example.com

Trojan 节点示例

YAML
  - name: "US-03 美国节点"
    type: trojan
    server: us.example.com
    port: 443
    password: "your-trojan-password"
    sni: us.example.com
    skip-cert-verify: false
    udp: true

实际使用中,节点配置由机场通过订阅链接自动提供,无需手动填写上述字段。手动配置仅适用于自建节点或精细调试场景。

配置文件

代理分组(proxy-groups)

proxy-groups 将多个节点组合成一个策略组,用于灵活控制流量走向。规则中引用的是代理分组名称,而非具体节点。Clash 支持以下分组类型:

类型说明
select手动选择节点,GUI 客户端中通过下拉菜单切换,最常用
url-test自动测试延迟,选择延迟最低的节点
fallback顺序容错,首选节点不可用时自动切换到下一个
load-balance将流量分散到多个节点,提升带宽利用率
relay流量依次经过多个节点中转,用于隐匿出口

典型分组配置示例

YAML
proxy-groups:

  # Main select group — user picks manually
  - name: "节点选择"
    type: select
    proxies:
      - 自动选择
      - HK-01 香港节点
      - JP-02 日本节点
      - US-03 美国节点
      - DIRECT

  # Auto lowest-latency group
  - name: "自动选择"
    type: url-test
    proxies:
      - HK-01 香港节点
      - JP-02 日本节点
      - US-03 美国节点
    url: "http://www.gstatic.com/generate_204"
    interval: 300   # test every 300 seconds
    tolerance: 50   # switch if latency diff > 50ms

  # Fallback for services requiring specific region
  - name: "故障转移"
    type: fallback
    proxies:
      - HK-01 香港节点
      - JP-02 日本节点
    url: "http://www.gstatic.com/generate_204"
    interval: 120

DIRECTREJECT 是 Clash 内置的特殊策略,可直接在分组的 proxies 列表中引用,无需在 proxies 字段中定义。

配置文件

规则分流(rules)

rules 字段定义流量路由策略,从上到下依次匹配,命中第一条规则后立即执行对应策略,不再继续匹配。每条规则格式为:

类型, 匹配值, 策略名称[, no-resolve]

规则类型

类型匹配内容示例
DOMAIN完整域名精确匹配DOMAIN,google.com,节点选择
DOMAIN-SUFFIX域名后缀匹配(含子域名)DOMAIN-SUFFIX,google.com,节点选择
DOMAIN-KEYWORD域名包含关键词DOMAIN-KEYWORD,youtube,节点选择
IP-CIDR目标 IP 地址段IP-CIDR,192.168.0.0/16,DIRECT
IP-CIDR6IPv6 地址段IP-CIDR6,2001:db8::/32,DIRECT
GEOIPIP 归属国家(GeoIP 数据库)GEOIP,CN,DIRECT
GEOSITE站点分类(需 GeoSite 数据库)GEOSITE,cn,DIRECT
PROCESS-NAME进程名称(桌面端)PROCESS-NAME,curl,DIRECT
MATCH默认规则,匹配所有剩余流量MATCH,节点选择

规则示例:常用分流配置

YAML
rules:
  # Block ads and tracking domains
  - DOMAIN-KEYWORD,ads,REJECT
  - DOMAIN-SUFFIX,doubleclick.net,REJECT

  # Direct: LAN addresses
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # Proxy: common overseas services
  - DOMAIN-SUFFIX,google.com,节点选择
  - DOMAIN-SUFFIX,youtube.com,节点选择
  - DOMAIN-SUFFIX,github.com,节点选择
  - DOMAIN-SUFFIX,twitter.com,节点选择
  - DOMAIN-SUFFIX,openai.com,节点选择

  # Direct: mainland China IPs
  - GEOIP,CN,DIRECT

  # Default: proxy all remaining traffic
  - MATCH,节点选择

规则顺序至关重要——越具体的规则应越靠前MATCH 是默认兜底规则,必须放在规则列表最后一行。包含 IP 类规则(IP-CIDR、GEOIP)时,建议加上 no-resolve 后缀以避免不必要的 DNS 解析。

使用 Rule Provider 引用外部规则集

Mihomo(Clash Meta 内核)支持 rule-providers,可从远端 URL 加载规则集,避免在 config.yaml 中手动维护大量域名列表:

YAML
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

rules:
  - RULE-SET,reject,REJECT
  - MATCH,节点选择
网络

DNS 配置与防泄漏

Clash 内置 DNS 模块,用于在代理流量时对域名进行解析。合理配置 DNS 可防止 DNS 泄漏(ISP 可见你访问了哪些域名)、避免 DNS 污染,并提升解析速度。

推荐 DNS 配置

YAML
dns:
  enable: true
  listen: 0.0.0.0:1053       # DNS server port inside Clash
  ipv6: false                 # Disable if IPv6 not needed
  enhanced-mode: fake-ip     # fake-ip | redir-host
  fake-ip-range: 198.18.0.1/16

  # Domains resolved directly (not through fake-ip)
  fake-ip-filter:
    - "*.lan"
    - localhost.ptlogin2.qq.com

  # Upstream DNS servers used by Clash
  nameserver:
    - 114.114.114.114         # CN public DNS
    - 223.5.5.5               # Alibaba DNS

  # Fallback DNS (used for overseas domains)
  fallback:
    - tls://1.1.1.1:853      # Cloudflare DoT
    - tls://8.8.8.8:853      # Google DoT
    - https://1.1.1.1/dns-query

  # Use fallback when geoip is not CN
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4           # Poison result range

FakeIP 与 Redir-Host 模式对比

模式原理优点适用场景
fake-ip 返回虚假 IP,实际域名由 Clash 在代理层解析 完全防止 DNS 泄漏;速度快 推荐用于大多数场景
redir-host 先解析真实 IP,再根据 IP 决定路由策略 兼容性更好;部分 NAS / 游戏场景需要 对 FakeIP 有兼容性问题时使用
网络

TUN 全局代理模式

TUN 模式通过创建虚拟网络接口,在操作系统内核层面拦截全部 TCP/UDP 流量,无需为每个应用手动设置代理。它是解决「部分软件无视系统代理」问题的终极方案,游戏、终端工具、Electron 应用均可覆盖。

TUN 模式需要管理员权限(Windows 需以管理员运行,macOS 需授权辅助程序)。多数 GUI 客户端已处理好权限申请流程,直接在界面中切换即可。

在 config.yaml 中启用 TUN

YAML
tun:
  enable: true
  stack: mixed          # mixed (recommended) | system | gvisor
  dns-hijack:
    - any:53           # Intercept all DNS queries
  auto-route: true     # Automatically add routing rules
  auto-detect-interface: true

TUN stack 模式选择

stack 值说明推荐程度
mixedTCP 使用 system,UDP 使用 gvisor,兼顾性能与兼容性推荐首选
system调用系统网络栈,性能最优,但部分 UDP 场景兼容性略差性能优先时选用
gvisor用户态网络栈,兼容性最佳,但 CPU 消耗稍高兼容性优先时选用

各客户端启用 TUN 的方式

客户端操作路径
Clash Verge Rev设置 → 系统设置 → 开启「虚拟网卡(TUN 模式)」
ClashX Meta菜单栏 → 增强模式(Enhanced Mode)
ClashMeta for Android底栏「VPN」→ 切换 TUN 模式
FlClash侧边栏设置 → 服务模式(需先安装服务)
进阶

高级设置

Proxy Provider:统一管理节点来源

proxy-providers 允许从 URL 或本地文件动态加载节点,适合多机场用户统一管理:

YAML
proxy-providers:
  airport-a:
    type: http
    url: "https://sub.airport-a.com/clash/subscribe?token=xxx"
    interval: 86400
    path: ./providers/airport-a.yaml
    health-check:
      enable: true
      url: "http://www.gstatic.com/generate_204"
      interval: 300

proxy-groups:
  - name: "节点选择"
    type: select
    use:           # Reference provider instead of individual nodes
      - airport-a

Profile Mixin:覆盖订阅配置

Clash Verge Rev 等客户端支持 Mixin 功能,允许在不修改订阅文件的情况下,将自定义配置「混入」到最终生效的配置中。常用于强制开启 TUN 模式、替换 DNS 设置:

YAML — Mixin 配置
# Mixin config — merged on top of subscription
mixed-port: 7890
allow-lan: false
tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 114.114.114.114
进阶

常见问题

导入订阅后节点显示为空?

检查以下几点:订阅链接是否已过期(机场重置后需重新复制);网络是否可以访问订阅 URL(部分机场订阅 URL 本身在境内被屏蔽,可先开启 VPN 再更新);订阅格式是否为 Clash 格式(部分机场同时提供 Clash / ShadowsocksR 等多种格式,需选择「Clash」格式)。

开启系统代理后部分软件仍无法翻墙?

部分软件(如游戏客户端、UWP 应用、终端工具)不遵守系统代理设置。解决方案是开启 TUN 模式,在系统内核层面拦截所有流量,详见 TUN 模式章节。

延迟测试显示节点可用,但实际访问很慢?

延迟测试(PING)仅反映握手往返时间,不代表实际下载速度。尝试切换到其他节点,或选择「自动选择」分组让 Clash 自动测速选优。也可检查当前节点的协议是否受本地网络限速(如 Shadowsocks 较容易被 QoS,可尝试换用 Hysteria2 或 TUIC)。

配置文件报错 YAML parse error?

YAML 对缩进非常敏感,请确保:使用 2 个空格缩进(不要使用 Tab 键);字符串值如含特殊字符须用引号包裹;列表项的 - 后要有一个空格。推荐使用 YAML Lint 在线校验配置文件语法。

如何查看 Clash 实时连接日志?

多数 GUI 客户端提供内置日志面板:Clash Verge Rev → 侧边栏「日志」;ClashX → 菜单栏 → Dashboard → Logs;也可直接访问 REST API:http://127.0.0.1:9090(需配置 external-controller),使用 Yacd 或 MetaCubeXD 等面板查看连接详情。

准备好开始了吗?

下载 Clash 客户端,导入机场订阅链接,几分钟内完成代理部署。