Clash 配置文件模板分享与使用说明
Clash 配置文件模板分享与使用说明:打造个性化网络代理体验
Clash 作为一款强大的跨平台代理工具,凭借其灵活的配置、丰富的功能和出色的性能,赢得了众多用户的青睐。然而,对于新手来说,Clash 的配置文件编写可能是一个不小的挑战。本文将深入探讨 Clash 配置文件的结构、常用模板分享,以及详细的使用说明,帮助您轻松掌握 Clash,打造个性化的网络代理体验。
一、 Clash 配置文件基础:YAML 语法入门
Clash 的配置文件采用 YAML(YAML Ain't Markup Language)格式,这是一种人类友好的数据序列化语言,常用于配置文件和数据交换。在开始编写 Clash 配置文件之前,我们需要了解 YAML 的基本语法:
- 缩进:YAML 使用缩进来表示层级关系,相同层级的元素必须具有相同的缩进量。通常使用两个空格进行缩进。
- 键值对:YAML 数据以键值对(key: value)的形式表示,键和值之间用冒号分隔,冒号后面必须有一个空格。
- 注释:使用
#
符号添加注释,注释内容会被解析器忽略。 - 列表:使用
-
符号表示列表项,每个列表项独占一行,且前面有一个空格。 - 字符串:字符串可以直接写,也可以用单引号或双引号括起来。双引号可以转义特殊字符。
- 布尔值:
true
或false
表示布尔值。 - null值: 用
~
表示。
示例:
```yaml
这是注释
name: My Profile # 配置文件名称
port: 7890 # HTTP 代理端口
socks-port: 7891 # SOCKS5 代理端口
allow-lan: true # 允许局域网连接
mode: rule # 代理模式(全局、规则、直连)
log-level: info # 日志级别
external-controller: 127.0.0.1:9090 #外部控制
proxies: # 代理服务器列表
- name: "Server A"
type: ss
server: server_a_address
port: 443
cipher: chacha20-ietf-poly1305
password: "password_a"
- name: "Server B"
type: vmess
server: server_b_address
port: 443
uuid: "uuid_b"
alterId: 64
cipher: auto
proxy-groups: #代理组
- name: "Proxy Group"
type: select #选择类型
proxies:
- "Server A"
- "Server B"
- "DIRECT"
rules: #规则
- DOMAIN-SUFFIX,google.com,Proxy Group
- GEOIP,CN,DIRECT
- MATCH,Proxy Group
```
二、 Clash 配置文件核心部分详解
一个完整的 Clash 配置文件通常包含以下几个核心部分:
-
通用设置 (General):
port
: HTTP(S) 代理端口。socks-port
: SOCKS5 代理端口。allow-lan
: 是否允许来自局域网的连接。mode
: 代理模式:Global
: 全局代理,所有流量都通过代理。Rule
: 基于规则进行分流。Direct
: 所有流量直连。
log-level
: 日志级别:info
、warning
、error
、debug
、silent
。external-controller
: 外部控制 API 地址(例如 Clash Dashboard)。secret
: 外部控制 API 的密码(可选)。bind-address
: 监听地址,默认是*
,表示监听所有网卡。mixed-port
:混合端口(http和socks5)
-
代理服务器 (Proxies):
- 定义具体的代理服务器信息。Clash 支持多种代理协议,如 Shadowsocks(SS)、ShadowsocksR(SSR)、Vmess、Trojan、HTTP、SOCKS5 等。
- 每个代理服务器都需要指定
name
、type
、server
、port
,以及特定协议所需的参数(如cipher
、password
、uuid
等)。
-
代理组 (Proxy Groups):
- 将多个代理服务器组合成一个组,方便在规则中引用。
- 常用的代理组类型:
select
: 手动选择一个代理服务器。url-test
: 自动测试延迟,选择延迟最低的服务器。fallback
: 按顺序尝试代理服务器,直到找到可用的。load-balance
: 负载均衡,将流量分发到多个服务器。
url
: 用于url-test
的测试网址。interval
: 用于url-test
的测试间隔,单位是秒。
-
规则 (Rules):
- 定义流量分流规则,决定哪些流量走代理,哪些流量直连。
- Clash 提供了多种规则匹配方式:
DOMAIN
: 域名完全匹配。DOMAIN-SUFFIX
: 域名后缀匹配。DOMAIN-KEYWORD
: 域名关键字匹配。GEOIP
: 基于 GeoIP 数据库进行国家/地区匹配。IP-CIDR
: IP 地址段匹配。SRC-IP-CIDR
: 客户端IP段匹配。SRC-PORT
: 客户端端口匹配DST-PORT
: 目标端口匹配。PROCESS-NAME
: 进程名匹配。MATCH
: 兜底规则,匹配所有未被其他规则匹配的流量。
- 规则的目标可以是代理组、
DIRECT
(直连)或REJECT
(拒绝)。
-
DNS(可选):
-
自定义 DNS 服务器,可以提高解析速度和防止 DNS 污染。
- 可以指定多个 DNS 服务器,并设置
fallback
和fake-ip
等选项。
- 可以指定多个 DNS 服务器,并设置
enable
: 是否启用自定义dns, 默认为false
listen
: dns监听地址和端口ipv6
: 是否查询ipv6的dns记录enhanced-mode
:redir-host
或fake-ip
。redir-host
: 返回真实ip;fake-ip
: 返回虚假ip。nameserver
: 必选,上游dns服务器fallback
: 可选,上游备用dns服务器,在enhanced-mode: fake-ip
下必须配置。fallback-filter
: 可选, 过滤器.geoip
: 若nameserver
中所有dns返回的结果都在CN
内, 则使用fallback
的dns, 否则直接采用nameserver
的结果.domain
: 若返回的结果是fallback
中配置的域名, 则采用fallback
的结果.default-nameserver
: 可选, 默认的nameserver
.fake-ip-range
: 可选,当enhanced-mode: fake-ip
时有效, 设置fake-ip的网段。
三、 Clash 配置文件模板分享
以下是一些常用的 Clash 配置文件模板,您可以根据自己的需求进行修改:
1. 基础模板(单服务器)
```yaml
port: 7890
socks-port: 7891
allow-lan: true
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
proxies:
- name: "My Server"
type: ss # 根据您的服务器类型修改
server: your_server_address
port: your_server_port
cipher: your_cipher
password: your_password
proxy-groups:
- name: "Proxy"
type: select
proxies:
- "My Server"
- "DIRECT"
rules:
- GEOIP,CN,DIRECT
- MATCH,Proxy
```
2. 多服务器模板(自动选择)
```yaml
port: 7890
socks-port: 7891
allow-lan: true
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
proxies:
- name: "Server A"
type: ss
# ... (服务器 A 配置) ...
- name: "Server B"
type: vmess
# ... (服务器 B 配置) ...
proxy-groups:
- name: "Auto"
type: url-test
proxies:
- "Server A"
- "Server B"
url: http://www.gstatic.com/generate_204
interval: 300
rules:
- GEOIP,CN,DIRECT
- MATCH,Auto
```
3. 进阶模板(分流策略)
```yaml
port: 7890
socks-port: 7891
allow-lan: true
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
proxies:
# ... (代理服务器配置) ...
proxy-groups:
- name: "Proxy"
type: select
proxies:
- "Proxy Group 1"
- "Proxy Group 2"
- "DIRECT"
- name: "Proxy Group 1"
type: url-test
# ... (代理组配置) ...
- name: "Proxy Group 2"
type: fallback
# ... (代理组配置) ...
rules:
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-KEYWORD,youtube,Proxy
- DOMAIN,bing.com,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Proxy
```
4. 包含DNS配置的模板
```yaml
port: 7890
socks-port: 7891
allow-lan: true
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
DNS 配置
dns:
enable: true
listen: 0.0.0.0:53
ipv6: false
enhanced-mode: redir-host
nameserver:
- 114.114.114.114
- 8.8.8.8
fallback:
- tls://dns.rubyfish.cn:853 # DoH 服务器
- https://1.1.1.1/dns-query # DoH 服务器
proxies:
# ... (代理服务器配置) ...
proxy-groups:
# ... (代理组配置) ...
rules:
# ... (分流规则配置) ...
```
四、 Clash 配置文件使用说明
- 下载 Clash 客户端:根据您的操作系统,从 Clash 的 GitHub Release 页面下载对应的客户端。
- 创建配置文件:使用文本编辑器创建一个名为
config.yaml
的文件(文件名可以自定义),并将上述模板内容复制到文件中。 - 修改配置文件:根据您的实际情况,修改配置文件中的代理服务器信息、代理组、规则等。
- 启动 Clash:
- Windows:双击
clash.exe
启动。 - macOS:打开终端,进入 Clash 所在的目录,执行
./clash -d .
(-d .
表示配置文件在当前目录)。 - Linux:打开终端,进入 Clash 所在的目录,执行
./clash -d .
。
- Windows:双击
- 设置系统代理:
- Windows:在系统设置中,找到代理设置,手动配置 HTTP/HTTPS 代理和 SOCKS5 代理,地址为
127.0.0.1
,端口为配置文件中设置的端口。 - macOS:在系统偏好设置中,找到网络 -> 高级 -> 代理,手动配置 HTTP/HTTPS 代理和 SOCKS 代理,地址为
127.0.0.1
,端口为配置文件中设置的端口。 - Linux:根据您使用的桌面环境,找到网络设置,手动配置代理。
- Windows:在系统设置中,找到代理设置,手动配置 HTTP/HTTPS 代理和 SOCKS5 代理,地址为
- 使用 Clash Dashboard(可选):
- 在浏览器中输入
http://127.0.0.1:9090/ui
(如果配置文件中修改了external-controller
地址,请使用修改后的地址),即可访问 Clash Dashboard。 - 在 Dashboard 中,您可以方便地切换代理、查看日志、修改配置等。
- 在浏览器中输入
五、 常见问题与进阶技巧
-
配置文件验证:可以使用在线 YAML 验证工具检查配置文件语法是否正确。
-
规则更新:可以定期从第三方规则提供商(如 Loyalsoldier/v2ray-rules-dat)获取最新的规则,并将其添加到您的配置文件中。
-
自定义规则:根据自己的需求,编写自定义规则,实现更精细的流量控制。
-
使用外部配置文件: 可以将
proxies
,proxy-groups
,rules
分别拆分到三个yaml文件中, 然后在主配置文件中使用proxy-providers
,rule-providers
引用. -
Clash for Windows 图形界面:如果您不习惯命令行操作,可以使用 Clash for Windows,它提供了友好的图形界面,方便您管理和配置 Clash。
-
Clash.Meta内核:Clash.Meta内核在Clash的基础上增加了对更多协议的支持, 比如Hysteria, TUIC, WireGuard等.
-
性能优化:
- 合理设置
url-test
的interval
,避免过于频繁的测试。 - 根据网络情况,选择合适的代理协议和加密方式。
- 尽量减少不必要的规则,避免规则匹配的性能开销。
- 合理设置
-
故障排除:
- 查看 Clash 日志,定位问题原因。
- 检查系统代理设置是否正确。
- 尝试更换代理服务器或协议。
- 检查防火墙设置,确保 Clash 端口未被阻止。
六、 总结
Clash 的配置文件是其强大功能的基石。通过深入理解配置文件结构,掌握 YAML 语法,并灵活运用各种模板和技巧,您可以轻松打造出符合自己需求的个性化网络代理方案。希望本文能帮助您更好地使用 Clash,享受自由、安全的网络体验。请记住,网络环境和需求是不断变化的,因此持续学习和调整您的 Clash 配置是至关重要的。