FlClash 进阶配置教程:附加规则、脚本模式、DNS、域名嗅探与 NTP
Clash 中文网编辑部 · 更新于 2026/10/22 · 对照版本 FlClash v0.9.1
FlClash 的「进阶配置」位于「工具」页,包含网络、DNS、附加规则与脚本等内核级设置。 它们以“覆写”的方式作用在订阅之上,更新订阅不会丢失。不了解的选项建议保持默认。
覆写模式:标准模式与脚本模式
在配置的扩展设置中可以选择覆写方式:
| 模式 | 说明 | 适合 |
|---|---|---|
| 标准模式 | 在配置的基础上附加规则 | 加几条自定义规则 |
| 脚本模式 | 使用扩展脚本改写整个配置 | 批量处理节点、复杂修改 |
标准模式:附加规则
附加规则会插入到订阅规则的最前面,优先级最高。
添加附加规则
- 进入配置的扩展设置(或「进阶配置 → 附加规则」);
- 点击「添加规则」;
- 选择规则类型,填写内容,选择「规则目标」(策略组、DIRECT、REJECT 等);
- 保存。
规则目标选择时可以看到订阅中的所有策略组。「基础策略」包括 DIRECT(直连)、REJECT(拦截)等内置策略,「MATCH-TARGET」表示跟随订阅兜底规则指向的策略组。
规则类型
FlClash 支持 Mihomo 的全部规则类型,并且每种都有中文说明:
| 类型 | 说明 |
|---|---|
| DOMAIN | 匹配完整域名 |
| DOMAIN-SUFFIX | 匹配域名后缀 |
| DOMAIN-KEYWORD | 匹配域名关键字 |
| DOMAIN-REGEX | 使用域名正则表达式匹配 |
| DOMAIN-WILDCARD | 通配符匹配,仅支持 * 和 ? |
| GEOSITE | 匹配 Geosite 内的域名 |
| IP-CIDR / IP-CIDR6 | 匹配 IP 地址范围 |
| IP-SUFFIX | 匹配 IP 后缀范围 |
| IP-ASN | 匹配 IP 所属 ASN |
| GEOIP | 匹配 IP 所属国家代码 |
| SRC-GEOIP / SRC-IP-ASN / SRC-IP-CIDR / SRC-IP-SUFFIX | 按来源 IP 匹配 |
| DST-PORT / SRC-PORT | 匹配目标 / 来源端口范围 |
| IN-PORT / IN-TYPE / IN-USER / IN-NAME | 按入站匹配 |
| PROCESS-NAME | 使用进程匹配,在 Android 上可以匹配包名 |
| PROCESS-PATH | 使用完整进程路径匹配 |
| PROCESS-NAME-REGEX / WILDCARD 等 | 正则或通配符匹配进程 |
| UID | 匹配 Linux USER ID |
| NETWORK | 匹配 TCP 或 UDP |
| RULE-SET | 引用规则集合,需配置 rule-providers |
| AND / OR / NOT | 逻辑规则 |
| SUB-RULE | 匹配至子规则 |
| MATCH | 匹配所有请求 |
常用附加规则示例
DOMAIN-SUFFIX,openai.com,节点选择
DOMAIN-SUFFIX,corp.example.com,DIRECT
PROCESS-NAME,com.tencent.mm,DIRECT
GEOSITE,category-ads-all,REJECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
全局附加规则
- 「编辑全局规则」:添加对所有配置生效的附加规则;
- 「控制全局附加规则」:决定当前配置是否使用全局规则;
- 「快捷操作」:批量删除、全选等。
技巧:通用的规则(如公司内网直连、广告拦截)放在全局规则中;针对某个订阅策略组名称的规则放在单个配置中。
脚本模式
脚本模式下,你编写一个 JavaScript 函数,接收配置对象并返回修改后的配置:
function main(config) {
config.rules = [
"DOMAIN-SUFFIX,openai.com,节点选择",
...(config.rules || []),
];
return config;
}
脚本的写法和思路与 Clash Verge Rev 的扩展脚本相同,更多示例(删除信息节点、按地区建组、重命名)见 Clash Verge Rev 扩展脚本教程。
DNS
进阶配置中的 DNS 设置会覆写所有 URL 和文件配置的 DNS:添加了的项生效,未添加的项沿用订阅自身的设置。
| 选项 | 说明 |
|---|---|
| 状态 | 关闭 DNS 后将使用系统 DNS |
| DNS模式 | fake-ip 或 redir-host |
| Fake-IP范围 / Fake-IP范围(IPv6) | 假 IP 地址池 |
| Fake-IP过滤 | 不使用假 IP 的域名 |
| Fake-IP过滤模式 | blacklist 排除匹配项;whitelist 仅用于匹配项;rule 按规则匹配 |
| Fake-IP TTL | 假 IP 记录的有效时间 |
| 遵守规则 | 使 DNS 连接遵守规则,需配置代理节点 DNS(Proxy Server Nameserver) |
| 使用Hosts / 使用系统Hosts | 是否读取 hosts |
| IPv6 | 是否解析 IPv6 |
| 缓存算法 / 缓存大小 | DNS 缓存策略 |
| 监听路由标记 | 仅 Linux 生效 |
| Fallback过滤 | 回退 DNS 触发条件 |
DNS 原理与推荐值见 Clash DNS 配置详解。
域名嗅探
域名嗅探从 TLS、HTTP、QUIC 流量中识别域名,供规则匹配,在虚拟网卡模式下尤其有用。
| 选项 | 说明 |
|---|---|
| 域名嗅探(状态) | 开关 |
| 协议 / 端口 | 对哪些协议和端口嗅探 |
| 覆盖目标地址 | 使用嗅探到的域名替换原目标地址发起连接 |
| 强制DNS映射 | 对通过 DNS 映射得到域名的连接也进行嗅探 |
| 解析纯IP | 嗅探只有 IP 地址的连接 |
| 强制嗅探域名 | 列表中的域名同样会被嗅探,其余已有域名的连接不嗅探 |
| 跳过域名 | 嗅探到这些域名时不予采用(如 Apple 推送服务) |
| 跳过来源地址 / 跳过目标地址 | 不对这些地址嗅探 |
NTP 时间同步
很多代理协议要求客户端与服务器的时间误差很小。手机或电脑时间不准时,节点会全部连不上。开启 NTP 后,内核从 NTP 服务器获取时间,而不是使用系统时钟:
| 选项 | 说明 |
|---|---|
| 状态 | 开启 NTP |
| 服务器 | NTP 服务器地址 |
| 同步间隔(分钟) | 多久同步一次 |
| 拨号代理 | 连接 NTP 服务器使用的出站 |
| 写入系统 | 同时设置系统时钟(Android 上不生效) |
网络与通用选项
| 选项 | 说明 |
|---|---|
| IPv6 | 开启后才会接收 IPv6 流量 |
| 统一延迟 | 消除不同协议的握手延迟差异 |
| TCP并发 | 同时尝试多个 IP 连接,取最快的 |
| Geo低内存模式 | 降低 GeoData 内存占用,适合低配设备 |
| 查找进程 | 识别连接所属进程,供 PROCESS-NAME 规则使用 |
| TCP保持活动间隔 | TCP keep-alive 间隔 |
| 用户代理 | 下载订阅时使用的 User-Agent |
| 外部控制器 / 密钥 | 通过 9090 端口控制内核 |
自定义配置与自定义配置资源
「自定义」配置是 FlClash 的高级功能:不直接使用某个订阅,而是基于应用代理和其他配置组建策略组与规则。配合「自定义配置资源」(代理、规则集、筛选与图标集),可以:
- 把多个订阅的节点合并到一个配置中;
- 用「筛选」按名称挑选节点组成策略组;
- 为策略组设置「图标集」;
- 引用规则集合。
适合有多个机场、想精细管理分流的用户。
相关教程
常见问题
标准模式和脚本模式有什么区别?
标准模式在配置的基础上附加规则,适合加几条自定义规则;脚本模式使用扩展脚本改写整个配置,灵活但需要会写 JavaScript。
改了进阶配置后订阅更新会丢失吗?
不会。进阶配置是在订阅之外单独保存的覆写,更新订阅后依然生效。
附加规则对所有配置生效吗?
有全局附加规则和单个配置的附加规则两种。通过「编辑全局规则」添加的对所有配置生效,可用「控制全局附加规则」决定某个配置是否使用全局规则。
DNS 覆写会影响所有订阅吗?
是的。添加的 DNS 项会覆写所有 URL 和文件类型配置的 DNS,未添加的项沿用配置自身的设置。
还没安装 FlClash?
最新版 v0.9.1,直链 GitHub 官方安装包。