配置文件结构
Clash 的配置文件采用 JSON 格式,主要包含以下几个部分:
- version: Clash 的版本信息。
- rules: 网络规则,用于匹配和重写请求。
- proxies: 代理设置,包括源地址、目标地址、端口等。
- outgoing: 出站规则,用于管理出站网络流量。
- incoming: 入站规则,用于管理入站网络流量。
- etc: 其他配置,包括 SSL、 certificates、 socks 等。
以下是配置文件示例:
{
"version": "1..",
"rules": [
{
"match": {
"domains": ["example.com"],
"ports": [80, 443]
},
"rewrite": {
"domain": "www.example.com"
}
}
],
"proxies": [
{
"source": "10...1",
"target": "10...2",
"port": 808
}
],
"outgoing": [
{
"url": "http://10...1:8888",
"proxy": "10...1:108"
}
],
"incoming": [
{
"url": "http://10...1:108",
"to": "http://10...1:8888"
}
],
"etc": {
"socks": {
"server": "socks5://10...1:108"
}
}
}
如何修改配置文件
-
获取配置文件:
- 默认情况下,Clash 的配置文件位于
/etc/clash/clash.json或用户目录下的.clash/clash.json。 - 如果配置文件不存在,可以使用
clash new创建一个默认配置文件。
- 默认情况下,Clash 的配置文件位于
-
编辑配置文件:
- 使用文本编辑器(如
vim或Sublime Text)打开配置文件。 - 根据需要修改配置项,确保语法正确。
- 使用文本编辑器(如
-
保存配置文件:
修改完成后,保存文件并确保格式正确。
应用配置文件
- 修改配置文件后,重新启动 Clash 服务:
clash -x reload
或使用 Web 界面重新加载配置。
常用配置示例
1 简单的 DNS 重写
{
"version": "1..",
"rules": [
{
"match": {
"domains": ["google.com"]
},
"rewrite": {
"domain": "g.com"
}
}
]
}
- 作用:将
google.com转向g.com。
2 代理设置
{
"proxies": [
{
"source": "10...1",
"target": "10...2",
"port": 108
}
]
}
- 作用:将
..1:80转发到..2:80。
高级配置
1 负载均衡
{
"rules": [
{
"match": {
"domains": ["example.com"]
},
"rewrite": {
"group": "group1"
}
}
],
"outgoing": [
{
"url": "http://10...1:800",
"weight": 1
},
{
"url": "http://10...2:800",
"weight": 1
}
],
"groups": {
"group1": {
"outgoing": [
{
"url": "http://10...1:800",
"weight": 2
}
]
}
}
}
- 作用:将
example.com的请求分配到两个服务器,权重为1:1。
2 SSL 配置
{
"etc": {
"ssl": {
"cert-file": "/path/to/cert.pem",
"key-file": "/path/to/private.key",
"verify": true
}
}
}
- 作用:启用 SSL 并使用自签名证书。
验证配置
- 启动 Clash 后,检查是否所有规则生效。
- 使用网络工具(如
curl或Wireshark)测试请求是否正确路由。
注意事项
- 配置文件格式必须正确,否则 Clash 会崩溃。
- 大量规则可能导致性能问题,谨慎添加。
- 定期备份配置文件,避免丢失。




