目录
什么是 Clash 配置文件
Clash 是一款开源的代理客户端软件,它支持多种代理协议,包括 Shadowsocks、Vmess、Trojan 等。Clash 的配置文件是一个 YAML 格式的文件,用于定义代理服务器、代理分组、规则等信息,从而控制 Clash 的行为。通过修改配置文件,用户可以灵活地管理和使用 Clash 提供的代理功能。
Clash 配置文件结构
Clash 配置文件主要由以下几个部分组成:
proxy
proxy
部分定义了各个代理服务器的信息,包括服务器地址、端口、协议类型、加密方式等。每个代理服务器都需要在这里进行配置。例如:
- name: 代理服务器名称
- type: 代理协议类型,如 Shadowsocks、Vmess、Trojan 等
- server: 代理服务器地址
- port: 代理服务器端口
- password: 密码(适用于 Shadowsocks 等需要密码的协议)
- cipher: 加密方式(适用于 Shadowsocks 等需要加密的协议)
proxy-group
proxy-group
部分定义了各个代理分组的信息,包括分组名称、选择策略、所包含的代理服务器等。通过配置代理分组,可以实现负载均衡、故障转移等功能。例如:
- name: 分组名称
- type: 分组类型,如 select、url-test、fallback 等
- proxies: 分组包含的代理服务器名称列表
rule-provider
rule-provider
部分定义了各个规则提供者的信息,包括名称、数据源 URL、规则更新间隔等。规则提供者可以为 Clash 提供预定义的规则集,用于实现更精细的流量控制。例如:
- name: 规则提供者名称
- type: 规则提供者类型,如 http、file 等
- behavior: 规则提供者行为,如 classical、ipcidr 等
- url: 规则数据源 URL
- interval: 规则更新间隔
rules
rules
部分定义了各个流量控制规则的信息,包括规则表达式、所属的规则提供者、匹配的代理分组等。通过配置规则,可以实现基于域名、IP 地址、关键词等的流量控制。例如:
-
- RULE-SET,rule-provider-name,proxy-group-name
-
- DOMAIN,example.com,proxy-group-name
-
- IP-CIDR,192.168.1.0/24,DIRECT
dns
dns
部分定义了 Clash 的 DNS 服务器配置,包括使用的 DNS 服务器地址、DNS 缓存时间、域名解析策略等。通过配置 DNS,可以实现更快、更准确的域名解析。例如:
- enable: 是否启用 DNS 功能
- listen: DNS 服务器监听地址
- nameserver:
- 8.8.8.8
- 8.8.4.4
- fallback:
- 1.1.1.1
- 1.0.0.1
tproxy
tproxy
部分定义了 Clash 的 TProxy 配置,用于实现透明代理功能。通过配置 TProxy,可以实现全局代理或者仅代理特定流量。例如:
- enable: 是否启用 TProxy 功能
- auto-route: 是否自动路由
- auto-detect-interface: 是否自动检测网络接口
cfw-spec
cfw-spec
部分定义了 Clash for Windows 的特殊配置,用于实现一些 Windows 平台上的特殊功能。例如:
- interface-name: 指定 Clash for Windows 使用的网络接口名称
- route:
- 0.0.0.0/0
配置文件示例
以下是一个 Clash 配置文件的示例:
yaml port: 7890 socks-port: 7891 redir-port: 7892 allow-lan: false mode: rule log-level: info external-controller: 127.0.0.1:9090
proxy:
- name: Shadowsocks-1 type: ss server: ss.example.com port: 8388 password: password cipher: aes-256-cfb
proxy-group:
- name: Proxy type: select proxies:
- Shadowsocks-1
rule-provider:
- name: DOMAIN-SUFFIX type: http behavior: domain url: https://example.com/domain-suffix.yaml interval: 86400
rules:
- RULE-SET,DOMAIN-SUFFIX,Proxy
- DOMAIN-SUFFIX,example.com,Proxy
- IP-CIDR,192.168.1.0/24,DIRECT
dns: enable: true listen: 0.0.0.0:53 nameserver: – 8.8.8.8 – 8.8.4.4 fallback: – 1.1.1.1 – 1.0.0.1
常见问题 FAQ
Q: Clash 配置文件中各个部分的作用是什么?
A: Clash 配置文件主要由以下几个部分组成:
proxy
: 定义各个代理服务器的信息,包括服务器地址、端口、协议类型、加密方式等。proxy-group
: 定义各个代理分组的信息,包括分组名称、选择策略、所包含的代理服务器等。rule-provider
: 定义各个规则提供者的信息,包括名称、数据源 URL、规则更新间隔等。rules
: 定义各个流量控制规则的信息,包括规则表达式、所属的规则提供者、匹配的代理分组等。dns
: 定义 Clash 的 DNS 服务器配置,包括使用的 DNS 服务器地址、DNS 缓存时间、域名解析策略等。tproxy
: 定义 Clash 的 TProxy 配置,用于实现透明代理功能。cfw-spec
: 定义 Clash for Windows 的特殊配置。
Q: Clash 配置文件中 proxy
部分和 proxy-group
部分的区别是什么?
A: proxy
部分定义了各个代理服务器的信息,包括服务器地址、端口、协议类型、加密方式等。而 proxy-group
部分定义了各个代理分组的信息,包括分组名称、选择策略、所包含的代理服务器等。通过配置代理分组,可以实现负载均衡、故障转移等功能。
Q: Clash 配置文件中 rule-provider
和 rules
部分的作用是什么?
A: rule-provider
部分定义了各个规则提供者的信息,包括名称、数据源 URL、规则更新间隔等。规则提供者可以为 Clash 提供预定义的规则集,用于实现更精细的流量控制。rules
部分定义了各个流量控制规则的信息,包括规则表达式、所属的规则提供者、匹配的代理分组等。通过配置规则,可以实现基于域名、IP 地址、关键词等的流量控制。
Q: Clash 配置文件中 dns
部分的作用是什么?
A: dns
部分定义了 Clash 的 DNS 服务器配置,包括使用的 DNS 服务器地址、DNS 缓存时间、域名解析策略等。通过配置 DNS,可以实现更快、更准确的域名解析。
Q: Clash 配置文件中 tproxy
和 cfw-spec
部分的作用是什么?
A: tproxy
部分定义了 Clash 的 TProxy 配置,用于实现透明代理功能。通过配置 TProxy,可以实现全局代理或者仅代理特定流量。cfw-spec
部分定义了 Clash for Windows 的特殊配置,用于实现一些 Windows 平台上的特殊功能。