从能用到好用 · 配置才是主战场

Clash for Apple 原生客户端
配置详解

装好只是开始。真正决定体验的,是你写进去的那几行配置。

规则、分流、节点、高级功能——四个维度,逐层拆开。
新手可以照抄,老手可以按需微调。

01

规则 —— 决定每一条请求去哪条路

规则是配置的骨架。它逐条判断:这个域名、这个 IP、这个进程,应该走代理、走直连,还是走某个特定的策略组。 规则写得好不好,直接决定你会不会遇到「该快的慢、该直连的绕了一圈」。

rules · 规则片段
rules:
  # 域名匹配:最精准,优先级最高
  - DOMAIN,www.example.com,代理
  - DOMAIN-SUFFIX,google.com,代理
  - DOMAIN-KEYWORD,github,代理

  # IP 匹配:用于无域名的直连场景
  - IP-CIDR,192.168.0.0/16,DIRECT
  - GEOIP,CN,DIRECT

  # 兜底:所有未匹配的流量
  - MATCH,代理
A

匹配类型

DOMAIN 精确匹配、DOMAIN-SUFFIX 后缀匹配、DOMAIN-KEYWORD 关键词匹配、IP-CIDR 网段匹配、GEOIP 国家匹配。越靠前的规则优先级越高。

B

顺序即优先级

规则自上而下逐条判断,命中即停。把最具体的规则放在最前面,把 MATCH 兜底放在最后——这是避免误判的第一原则。

C

策略组名要对上

规则末尾的目标必须是已定义的策略组或节点名。名字写错不会报错,但流量会静默走错方向——这是最常见的配置坑。

02

分流 —— 让不同的流量各行其道

分流的本质是「区别对待」。国内直连、国外走代理、局域网不走、广告拦掉—— 不是所有流量都值得绕远路,也不是所有流量都该直出。

国内站点
DIRECT
不绕路,延迟最低
海外站点
代理
按策略组选择出口
局域网设备
DIRECT
不经过代理,不互相干扰
广告域名
REJECT
直接拦截,不加载
分流策略组 · 片段
proxy-groups:
  - name: "代理"
    type: select
    proxies: ["自动选择", "节点 A", "节点 B"]

  - name: "自动选择"
    type: url-test
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    tolerance: 50

  - name: "流媒体"
    type: select
    proxies: ["节点 C", "节点 D"]
03

节点 —— 不是「能用就行」,要选得对

节点管理的关键不在于数量,而在于分工。不同用途的流量,适合的节点不一样。 把所有节点堆在一个组里靠自动选择,往往是最省事也最不稳定的做法。

01

按用途分组

把节点按场景拆成「日常」「流媒体」「下载」等不同策略组。看视频用的节点不必和浏览网页的节点抢同一份带宽。

02

自动测速兜底

在组内放一个 url-test 类型的子组作为默认项,主节点挂了会自动切到可用的。比自己手动切更快,也更不容易断。

03

延迟不是唯一标准

测速测的是握手延迟,不等于实际带宽。看视频的节点要看吞吐,下载的节点要看稳定性——不同用途,标准不同。

04

留一个备用出口

配置里保留一个不常用的备用节点。当主力节点集体失效时,它就是你还能连上网络、去更新订阅的那条路。

04

高级功能 —— 让配置自己动起来

基础配置让你能用,高级功能让你用得省心。这些能力在原生客户端上都完整保留,包括移动端与电视端。

定时任务与自动切换

通过 url-test 与 fallback 两种自动策略,实现节点失效时的即时切换。也可以按时间段切换规则集,比如工作时段用一套、休息时段用另一套。

DNS 与解析优化

开启 DNS 缓存可减少重复解析,配合 fake-ip 模式能显著加快首次连接建立速度。在移动端,合理的 DNS 设置还能降低唤醒频率,间接省电。

规则集远程订阅

把庞大的规则列表拆成多个远程规则集,按需加载。既能减少本地配置文件体积,也方便单独更新某一类规则,而不用整份配置重新导入。

性能与省电调校

移动端可以关闭不必要的日志级别、缩短测速间隔、限制并发连接数。这些参数在桌面端影响不大,但在 iPhone 与 Apple TV 上会直接体现在续航与发热上。

05

参数对照 —— 每个值都对应一个具体场景

下面这些参数在配置里出现频率最高。我们不只告诉你它是什么,还告诉你什么情况下该改它。

参数
作用
建议值
适用场景
mode
全局模式选择
rule
日常使用推荐,按规则分流
log-level
日志详细程度
warning
长期运行推荐,排查问题时改为 info
interval
自动测速间隔(秒)
300
移动端可调大至 600,减少唤醒
tolerance
切换容差(毫秒)
50
数值越大越稳定,越小越灵敏
udp
是否转发 UDP
true
游戏与视频通话需要开启
dns.cache
DNS 结果缓存
true
减少重复解析,提升响应速度
06

两条路径 —— 照抄可用,微调更强

同一份配置文档,两种读法。选一条适合你当前阶段的,不用一次吃透所有细节。

新手路径

先跑起来,再想优化

  1. 直接导入一份写好的配置,不改任何参数。
  2. 使用默认的「规则」模式,不要一上来就切全局。
  3. 只关注一件事:常用网站能不能正常打开。
  4. 遇到打不开的站点,再去找对应的规则条目。
  5. 稳定使用一周后,再考虑调整测速与日志参数。
老手路径

按用途拆组,按场景调参

  1. 把节点按用途拆成多个策略组,而不是全塞进一个。
  2. 为每个组配置独立的 url-test 子组作为兜底。
  3. 用远程规则集替代本地长列表,方便单独更新。
  4. 在移动端单独调低日志级别、调大测速间隔。
  5. 保留一份最小可用配置,作为紧急恢复的备份。
07

常见问题 —— 配置过程中最容易卡住的地方

这些问题在社区里被问得最多,在这里一次说清。

改完配置不生效,是什么原因?
先检查配置文件的缩进。YAML 对缩进敏感,多一个空格或少一个空格都可能导致解析失败。其次确认规则里引用的策略组名与策略组定义完全一致——名字写错不会报错,但流量会走错方向。原生客户端在导入时会做基本校验,若配置有问题通常会有提示。
规则写得越多越好吗?
不是。规则越多,匹配耗时越长,出现冲突的概率也越高。建议把高频使用、影响体验的规则放在前面,其余交给 GEOIP 与 MATCH 兜底。庞大的规则列表更适合拆成远程规则集按需加载。
自动选择一定比手动选好吗?
不一定。自动选择的优势是省心,劣势是它只看握手延迟,不看实际带宽与稳定性。对视频、下载这类看重吞吐的场景,手动指定一个稳定节点往往比自动选择体验更好。推荐的折中做法是:组内放自动选择作为默认,同时保留手动指定的入口。
移动端要不要开 UDP 转发?
看你用不用需要 UDP 的应用。游戏、视频通话、部分流媒体依赖 UDP,这类场景需要开启。如果只是浏览网页与看视频,不开也不影响。开启后会略增功耗,属于可接受范围。
配置文件在多个设备间怎么同步?
最省事的方式是使用同一份订阅地址,在每台设备上分别导入。原生客户端在 iOS、macOS、tvOS 上使用一致的配置格式,同一份配置可以直接复用,不需要为不同平台各写一份。
Ready To Configure

配置写好了,接下来只差装上它

本文涉及的全部能力,在 iOS、macOS、tvOS 三个平台的原生客户端上都完整保留。 同一份配置,换一块屏幕,不需要重写第二遍。

提示:文中示例为最小可用片段,实际使用请结合自己的订阅与规则集完整编写。