clashX config分析
情景:参考【mac 修复DNS】
clashX config分析
情景:参考【mac 修复DNS】
趁此机会,研究了一下clashX的config文件的结构。
配置目录:/Users/sevan/.config/clash
➜ clash pwd
/Users/sevan/.config/clash
➜ clash ll
total 13296
-rw-r--r--@ 1 sevan staff 653K 4 26 11:38 2504.yaml
-rw-r--r--@ 1 sevan staff 5.7M 4 26 10:56 Country.mmdb
-rw-r--r--@ 1 sevan staff 128K 4 26 12:00 cache.db
-rw-------@ 1 sevan staff 81B 4 26 11:23 config-win.yaml
-rw-r--r--@ 1 sevan staff 663B 10 18 2023 config.yaml
config.yaml是clash提供的demo文件。2504为从机场导入的生效文件。多次导入,会生成多个名称不同的文件。
分析一下这几个文件
config.yaml
#---------------------------------------------------#
## 配置文件需要放置在 $HOME/.config/clash/*.yaml
## 这份文件是clashX的基础配置文件,请尽量新建配置文件进行修改。
## 端口设置请在 菜单条图标->配置->更多配置 中进行修改
## 如果您不知道如何操作,请参阅 官方Github文档 https://dreamacro.github.io/clash/
#---------------------------------------------------#
mode: rule
log-level: debug
proxies:
proxy-groups:
rules:
- DOMAIN-SUFFIX,google.com,DIRECT
- DOMAIN-KEYWORD,google,DIRECT
- DOMAIN,google.com,DIRECT
- DOMAIN-SUFFIX,ad.com,REJECT
- GEOIP,CN,DIRECT
- MATCH,DIRECT
提供的demo config,实际配置文件就是按此结构,填充上各配置项的具体内容。
rules
- DOMAIN-SUFFIX,google.com,DIRECT
域名后缀为google.com,则走直接连接,请求不经梯子。当然实际配置文件,这里是:- DOMAIN-KEYWORD,youtube,节点组。
“节点组”,是proxy-groups里其中一个group的name。
proxy-groups:
-
name: 节点组
type: select
proxies:
- 国外流量
- 香港负载组
- 台湾负载组
- 新加坡负载组
- 日本负载组
- 美国负载组
- ChatGPT
- 直接连接
- MATCH,DIRECT
这是一行兜底配置。含义:未被前面规则匹配的请求,走直连。适合仅需要特定域名走代理/拦截,其余全部直连的场景。
2504.yaml
#---------------------------------------------------#
## 更新:2025-04-26 10:59:47
## 感谢:https://github.com/Hackl0us/SS-Rule-Snippet
## 链接:https://scdy03.scsub.com//apiv2/deg6wfonwt8vrkfy?clash=1
#---------------------------------------------------#
# HTTP 代理端口
port: 7890
# SOCKS5 代理端口
socks-port: 7891
# Linux 和 macOS 的 redir 代理端口
redir-port: 7892
# 允许局域网的连接
allow-lan: true
# 规则模式:Rule(规则) / Global(全局代理)/ Direct(全局直连)
mode: Rule
# 设置日志输出级别 (默认级别:silent,即不输出任何内容,以避免因日志内容过大而导致程序内存溢出)。
# 5 个级别:silent / info / warning / error / debug。级别越高日志输出量越大,越倾向于调试,若需要请自行开启。
log-level: debug
# Clash 的 RESTful API
external-controller: '127.0.0.1:9090'
experimental:
ignore-resolve-fail: true
# RESTful API 的口令
secret: ''
# 您可以将静态网页资源(如 clash-dashboard)放置在一个目录中,clash 将会服务于 `RESTful API/ui`
# 参数应填写配置目录的相对路径或绝对路径。
# external-ui: folder
# # Clash DNS 请求逻辑:
# # (1) 当访问一个域名时, nameserver 与 fallback 列表内的所有服务器并发请求,得到域名对应的 IP 地址。
# # (2) clash 将选取 nameserver 列表内,解析最快的结果。
# # (3) 若解析结果中,IP 地址属于 国外,那么 Clash 将选择 fallback 列表内,解析最快的结果。
# # 注意:
# # (1) 如果您为了确保 DNS 解析结果无污染,请仅保留列表内以 tls:// 开头的 DNS 服务器,但是通常对于国内没有太大必要。
# # (2) 如果您不在乎可能解析到污染的结果,更加追求速度。请将 nameserver 列表的服务器插入至 fallback 列表内,并移除重复项。
proxies:
-
-
-
proxy-groups:
-
-
-
我本地真正生效的config文件,1.5万行,结构跟demo config是一样的。

兜底配置:
- MATCH,其他流量
“其他流量”是proxy-groups里的一个group。
config文件 渲染到软件UI
可见,config里的内容,跟界面各功能入口,是对应的。

终端代理命令
此入口从上图界面可见。还挺方便的,当命令行执行命令,需要走梯子访问外网时。其实就是配置http_proxy环境变量。
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
export http_proxy=127.0.0.1:7890 && export https_proxy=127.0.0.1:7890
export http_proxy= && export https_proxy= 메타데이터
- post_id
- 9d6e622e4e7b
- slug
- clashx-config分析-9d6e622e4e7b
- url
- https://medium.com/@xiaoqiqi/clashx-config%E5%88%86%E6%9E%90-9d6e622e4e7b
- canonical_url
- https://medium.com/@xiaoqiqi/clashx-config%E5%88%86%E6%9E%90-9d6e622e4e7b
- author_url
- https://medium.com/@xiaoqiqi
- status
- ok
- fetched_at
- 2026-07-20 04:28:34