ClashFX 配置文件编辑指南
内置编辑器概览
ClashFX 内置了完整的 YAML 配置编辑器,让你无需切换到外部文本编辑器即可修改配置。编辑器支持:
- 语法高亮 — YAML 关键字、字符串、数字、注释自动着色,易于辨认
- 行号显示 — 方便定位特定配置行,排查解析错误
- 大文件支持 — 流畅处理上千行的大型配置文件
- 保存即生效 — 保存后 ClashFX 自动重新加载配置
打开编辑器
- 点击菜单栏 ClashFX 图标
- 选择 配置 → 编辑当前配置
- 编辑器窗口打开,显示当前激活的配置文件内容
你也可以在配置菜单中选择具体的配置文件来编辑。
配置文件位置
ClashFX 的配置文件默认存储在:
~/.config/clash/
主配置文件为 config.yaml。如果你导入了远程订阅,订阅下载的配置文件也会存储在此目录中,文件名通常为订阅名称加 .yaml 后缀。
在 Finder 中快速打开配置目录:按 Cmd + Shift + G,输入 ~/.config/clash/ 并回车。
配置文件结构
一个完整的 Clash/mihomo 配置文件包含以下主要部分:
基础设置
port: 7890 # HTTP 代理端口
socks-port: 7891 # SOCKS5 代理端口
allow-lan: false # 是否允许局域网连接
mode: rule # 代理模式:rule / global / direct
log-level: info # 日志级别:silent / error / warning / info / debug
external-controller: 127.0.0.1:9090 # API 控制端口
port和socks-port定义代理监听端口,通常不需要修改mode对应菜单栏中的代理模式切换log-level设为debug可以获取最详细的日志,排查问题时有用
DNS 配置
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 223.5.5.5 # 阿里 DNS
- 119.29.29.29 # 腾讯 DNS
fallback:
- tls://1.1.1.1:853 # Cloudflare DoT
- tls://8.8.8.8:853 # Google DoT
fallback-filter:
geoip: true
geoip-code: CN
DNS 配置在使用增强模式(TUN)时尤其重要。nameserver 用于国内域名解析,fallback 用于被污染的域名解析。详见 增强模式教程。
代理节点(proxies)
proxies:
- name: "香港 01"
type: vmess
server: hk1.example.com
port: 443
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
alterId: 0
cipher: auto
tls: true
network: ws
ws-opts:
path: /path
headers:
Host: hk1.example.com
- name: "日本 01"
type: trojan
server: jp1.example.com
port: 443
password: your-password
sni: jp1.example.com
每个代理节点包含协议类型(type)、服务器地址(server)、端口(port)以及协议特定参数。ClashFX 支持 VMess、VLESS、Trojan、Shadowsocks、Hysteria2、WireGuard 等协议。
如果你使用远程订阅,节点信息由服务商自动生成,通常不需要手动编辑。
代理组(proxy-groups)
proxy-groups:
- name: "代理选择"
type: select
proxies:
- "自动选择"
- "香港 01"
- "日本 01"
- DIRECT
- name: "自动选择"
type: url-test
proxies:
- "香港 01"
- "日本 01"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
- name: "故障转移"
type: fallback
proxies:
- "香港 01"
- "日本 01"
url: http://www.gstatic.com/generate_204
interval: 300
代理组策略类型:
| 类型 | 说明 |
|---|---|
select | 手动选择,在菜单中点选节点 |
url-test | 自动测速,选延迟最低的节点 |
fallback | 故障转移,主节点挂了自动切换 |
load-balance | 负载均衡,多节点分散流量 |
路由规则(rules)
rules:
# 直连规则
- DOMAIN-SUFFIX,cn,DIRECT
- DOMAIN-KEYWORD,baidu,DIRECT
- GEOIP,CN,DIRECT
# 代理规则
- DOMAIN-SUFFIX,google.com,代理选择
- DOMAIN-SUFFIX,github.com,代理选择
- DOMAIN-KEYWORD,youtube,代理选择
# 进程匹配
- PROCESS-NAME,Telegram,代理选择
# 兜底规则(必须放在最后)
- MATCH,代理选择
规则从上到下匹配,匹配到第一条即停止。MATCH 是兜底规则,处理所有未被前面规则命中的流量。
常用规则类型:
| 规则类型 | 匹配方式 | 示例 |
|---|---|---|
DOMAIN | 精确域名 | DOMAIN,www.google.com,代理 |
DOMAIN-SUFFIX | 域名后缀 | DOMAIN-SUFFIX,google.com,代理 |
DOMAIN-KEYWORD | 域名关键字 | DOMAIN-KEYWORD,google,代理 |
IP-CIDR | IP 地址段 | IP-CIDR,192.168.0.0/16,DIRECT |
GEOIP | IP 地理位置 | GEOIP,CN,DIRECT |
PROCESS-NAME | 进程名 | PROCESS-NAME,Telegram,代理 |
MATCH | 兜底匹配 | MATCH,代理 |
常见编辑操作
添加代理节点
在 proxies: 部分末尾添加新节点。注意 YAML 缩进使用 2 个空格,不要使用 Tab:
proxies:
# ... 已有节点
- name: "新节点"
type: ss
server: new.example.com
port: 8388
cipher: aes-256-gcm
password: your-password
添加路由规则
在 rules: 中添加新规则。规则顺序很重要,越具体的规则应该放在越前面:
rules:
- DOMAIN-SUFFIX,newsite.com,代理选择 # 新增规则
# ... 其他规则
- MATCH,代理选择
修改代理模式默认值
修改 mode 字段:
mode: rule # 改为 global 或 direct
常见 YAML 错误
缩进错误
YAML 对缩进敏感,必须使用空格(不能用 Tab)。子级比父级多 2 个空格:
# 正确
proxies:
- name: "节点"
type: vmess
# 错误 - Tab 缩进或缩进不一致会导致解析失败
proxies:
- name: "节点"
type: vmess
特殊字符未加引号
包含特殊字符(: # { } [ ])的字符串值需要用引号包裹:
# 正确
password: "my:complex#password"
# 错误 - 冒号后面的内容会被解析为新键值
password: my:complex#password
重复的键名
同一层级不能有重复的键名,否则后者会覆盖前者:
# 错误 - 两个 port 键,第二个会覆盖第一个
port: 7890
port: 8890
Pro 可视化编辑器
如果你觉得直接编辑 YAML 不够直观,ClashFX Pro 提供了可视化编辑模式。通过表单界面管理节点、代理组和规则,无需手写 YAML。
可视化编辑器包含五个面板:General(通用)、DNS、Proxies(节点)、Proxy Groups(代理组)、Rules(规则)。
详细教程请查看 Pro 可视化编辑器。
下一步
- 增强模式教程 — TUN 模式下的 DNS 配置
- 常见问题排查 — 配置错误导致的问题排查
- Pro 可视化编辑器 — 用表单替代手写 YAML
常见问题
默认路径是 ~/.config/clash/config.yaml。你可以在 Config 菜单中查看和切换当前使用的配置文件。
不需要。保存配置后 ClashFX 会自动重新加载。如果没有自动生效,可以手动点击重新加载配置。