Clash简介

Clash是一款高效的代理工具,能够让用户自由地选择各种代理协议,支持的代理协议包括 Shadowsocks、VMess、Trojan、Socks5 等等。Clash还提供了丰富的策略组配置,能够实现按需代理和广告过滤等功能。

相关文档

Clash配置文件

Clash的配置文件是一份YAML格式的文本文件,其结构包括proxy(代理)rule(规则)dns(DNS)等部分。下面以一个示例配置文件为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# 配置文件
proxy-groups:
- name: PROXY
type: select
proxies:
- DIRECT
- PROXY
- name: Netflix
type: url-test
url: http://www.netflix.com/
interval: 300
tolerance: 1500
proxies:
- PROXY
- DIRECT
proxies:
proxy1:
type: ss
server: server1
port: 8888
password: password
method: chacha20-ietf-poly1305
proxy2:
type: vmess
server: server2
port: 443
uuid: 12345678-1234-1234-1234-123456789012
alterId: 64
proxy3:
type: socks5
server: server3
port: 1080
rules:
- DOMAIN-SUFFIX,ad.com,REJECT
- IP-CIDR,192.168.1.0/24,DIRECT
- MATCH,proxy1,DIRECT
- MATCH,proxy2,PROXY
- FINAL,PROXY
dns:
enable: true
nameserver:
- 114.114.114.114
- 8.8.8.8

在示例文件中,proxy-groups定义了代理组,proxies定义了具体代理协议的参数,rules定义了使用哪些代理,dns则定义了使用哪些DNS服务器。

代理组配置

Clash的代理组是指一组代理服务器,可以包含多个具体的代理协议,例如 Shadowsocks、VMess、Trojan 等。以下是代理组配置文件的格式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
proxy-groups:
- name: PROXY
type: select
proxies:
- DIRECT
- PROXY
- name: Netflix
type: url-test
url: http://www.netflix.com/
interval: 300
tolerance: 1500
proxies:
- PROXY
- DIRECT

在以上示例中,type定义了代理组的类型,proxies定义了该代理组包含的具体代理列表。常用的代理组类型有:

  • select:按顺序依次选择可用的代理。
  • url-test:定时测试URL可访问性,选择延迟低的代理。
  • fallback:按顺序选择可用代理,如果当前代理不可用则切换到下一个代理。
  • load-balance:均衡地选择可用代理。

具体代理配置

Clash支持多种代理协议,例如 Shadowsocks、VMess、Trojan、Socks5 等。以下是Shadowsocks和VMess代理的配置示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
proxies:
proxy1:
type: ss
server: server1
port: 8888
password: password
method: chacha20-ietf-poly1305
proxy2:
type: vmess
server: server2
port: 443
uuid: 12345678-1234-1234-1234-123456789012
alterId: 64

在以上示例中,type定义了代理协议类型,其他参数则是该协议特有的。例如Shadowsocks代理需要指定 服务器、端口、密码、加密方式 等参数,VMess代理需要指定 服务器、端口、UUID、alterId 等参数。

规则配置

Clash的规则使用类似于 Surge 和 Quantumult 等代理工具的格式,可以基于具体的 URL、关键字、正则表达式、IP段 等进行选择代理。以下是示例规则:

1
2
3
4
5
6
rules:
- DOMAIN-SUFFIX,ad.com,REJECT
- IP-CIDR,192.168.1.0/24,DIRECT
- MATCH,proxy1,DIRECT
- MATCH,proxy2,PROXY
- FINAL,PROXY

在以上示例中,各个规则的含义如下:

  • DOMAIN-SUFFIX,ad.com,REJECT:阻止所有以ad.com为后缀的域名。
  • IP-CIDR,192.168.1.0/24,DIRECT:将所有以前缀192.168.1的IP地址直接连接,而不使用代理。
  • MATCH,proxy1,DIRECT:如果URL中包含proxy1,则直接连接。
  • MATCH,proxy2,PROXY:如果URL中包含proxy2,则使用代理。
  • FINAL,PROXY:使用默认代理规则,即使用代理。

DNS配置

Clash使用的DNS服务器可以由用户自定义,以下是DNS配置的格式:

1
2
3
4
5
dns:
enable: true
nameserver:
- 114.114.114.114
- 8.8.8.8

在以上示例中,enable=true 表示启用DNS代理,nameserver 则为使用的DNS服务器列表。用户可以自行添加或删除DNS服务器。

案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
- {
name: 日本Vmess+tls,
server: blog.renyuxin.cn,
port: 6666,
type: vmess,
uuid: 6faedee9-7d96-4f0d-e8c2-d072bbefb8bb,
alterId: 0,
cipher: auto,
tls: true,
skip-cert-verify: true,
udp: true
}
- {
name: 日本shadowsocks+tls,
server: blog.renyuxin.cn,
port: 8888,
type: ss,
cipher: aes-256-gcm,
password: xxxxxxxx,
tls: true,
udp: true
}

proxy-groups:
- name: ♻️ 自动选择
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 日本Vmess+tls
- 日本shadowsocks+tls
- name: 🤏 手动选择
type: select
proxies:
- 日本Vmess+tls
- 日本shadowsocks+tls
- name: 🌏 全球直连
type: select
proxies:
- DIRECT

dns:
enable: true
nameserver:
- 114.114.114.114
- 8.8.8.8

rules:
- DOMAIN-SUFFIX,local,🌏 全球直连
- IP-CIDR,192.168.0.0/16,🌏 全球直连,no-resolve
- IP-CIDR,10.0.0.0/8,🌏 全球直连,no-resolve
- IP-CIDR,172.16.0.0/12,🌏 全球直连,no-resolve
- IP-CIDR,127.0.0.0/8,🌏 全球直连,no-resolve
- IP-CIDR,100.64.0.0/10,🌏 全球直连,no-resolve
- IP-CIDR6,::1/128,🌏 全球直连,no-resolve
- IP-CIDR6,fc00::/7,🌏 全球直连,no-resolve
- IP-CIDR6,fe80::/10,🌏 全球直连,no-resolve
- IP-CIDR6,fd00::/8,🌏 全球直连,no-resolve

模板文件

模板文件:【clash_config_demo