Clash 配置文件模板分享与使用说明


Clash 配置文件模板分享与使用说明:打造个性化网络代理体验

Clash 作为一款强大的跨平台代理工具,凭借其灵活的配置、丰富的功能和出色的性能,赢得了众多用户的青睐。然而,对于新手来说,Clash 的配置文件编写可能是一个不小的挑战。本文将深入探讨 Clash 配置文件的结构、常用模板分享,以及详细的使用说明,帮助您轻松掌握 Clash,打造个性化的网络代理体验。

一、 Clash 配置文件基础:YAML 语法入门

Clash 的配置文件采用 YAML(YAML Ain't Markup Language)格式,这是一种人类友好的数据序列化语言,常用于配置文件和数据交换。在开始编写 Clash 配置文件之前,我们需要了解 YAML 的基本语法:

  1. 缩进:YAML 使用缩进来表示层级关系,相同层级的元素必须具有相同的缩进量。通常使用两个空格进行缩进。
  2. 键值对:YAML 数据以键值对(key: value)的形式表示,键和值之间用冒号分隔,冒号后面必须有一个空格。
  3. 注释:使用 # 符号添加注释,注释内容会被解析器忽略。
  4. 列表:使用 - 符号表示列表项,每个列表项独占一行,且前面有一个空格。
  5. 字符串:字符串可以直接写,也可以用单引号或双引号括起来。双引号可以转义特殊字符。
  6. 布尔值truefalse 表示布尔值。
  7. 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 配置文件通常包含以下几个核心部分:

  1. 通用设置 (General)

    • port: HTTP(S) 代理端口。
    • socks-port: SOCKS5 代理端口。
    • allow-lan: 是否允许来自局域网的连接。
    • mode: 代理模式:
      • Global: 全局代理,所有流量都通过代理。
      • Rule: 基于规则进行分流。
      • Direct: 所有流量直连。
    • log-level: 日志级别:infowarningerrordebugsilent
    • external-controller: 外部控制 API 地址(例如 Clash Dashboard)。
    • secret: 外部控制 API 的密码(可选)。
    • bind-address: 监听地址,默认是*,表示监听所有网卡。
    • mixed-port:混合端口(http和socks5)
  2. 代理服务器 (Proxies)

    • 定义具体的代理服务器信息。Clash 支持多种代理协议,如 Shadowsocks(SS)、ShadowsocksR(SSR)、Vmess、Trojan、HTTP、SOCKS5 等。
    • 每个代理服务器都需要指定 nametypeserverport,以及特定协议所需的参数(如 cipherpassworduuid 等)。
  3. 代理组 (Proxy Groups)

    • 将多个代理服务器组合成一个组,方便在规则中引用。
    • 常用的代理组类型:
      • select: 手动选择一个代理服务器。
      • url-test: 自动测试延迟,选择延迟最低的服务器。
      • fallback: 按顺序尝试代理服务器,直到找到可用的。
      • load-balance: 负载均衡,将流量分发到多个服务器。
    • url: 用于url-test的测试网址。
    • interval: 用于url-test的测试间隔,单位是秒。
  4. 规则 (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(拒绝)。
  5. DNS(可选)

  6. 自定义 DNS 服务器,可以提高解析速度和防止 DNS 污染。

    • 可以指定多个 DNS 服务器,并设置 fallbackfake-ip 等选项。
  7. enable: 是否启用自定义dns, 默认为false
  8. listen: dns监听地址和端口
  9. ipv6: 是否查询ipv6的dns记录
  10. enhanced-mode: redir-hostfake-ipredir-host: 返回真实ip; fake-ip: 返回虚假ip。
  11. nameserver: 必选,上游dns服务器
  12. fallback: 可选,上游备用dns服务器,在enhanced-mode: fake-ip下必须配置。
  13. fallback-filter: 可选, 过滤器. geoip: 若nameserver中所有dns返回的结果都在CN内, 则使用fallback的dns, 否则直接采用nameserver的结果. domain: 若返回的结果是fallback中配置的域名, 则采用fallback的结果.
  14. 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 配置文件使用说明

  1. 下载 Clash 客户端:根据您的操作系统,从 Clash 的 GitHub Release 页面下载对应的客户端。
  2. 创建配置文件:使用文本编辑器创建一个名为 config.yaml 的文件(文件名可以自定义),并将上述模板内容复制到文件中。
  3. 修改配置文件:根据您的实际情况,修改配置文件中的代理服务器信息、代理组、规则等。
  4. 启动 Clash
    • Windows:双击 clash.exe 启动。
    • macOS:打开终端,进入 Clash 所在的目录,执行 ./clash -d .-d . 表示配置文件在当前目录)。
    • Linux:打开终端,进入 Clash 所在的目录,执行 ./clash -d .
  5. 设置系统代理
    • Windows:在系统设置中,找到代理设置,手动配置 HTTP/HTTPS 代理和 SOCKS5 代理,地址为 127.0.0.1,端口为配置文件中设置的端口。
    • macOS:在系统偏好设置中,找到网络 -> 高级 -> 代理,手动配置 HTTP/HTTPS 代理和 SOCKS 代理,地址为 127.0.0.1,端口为配置文件中设置的端口。
    • Linux:根据您使用的桌面环境,找到网络设置,手动配置代理。
  6. 使用 Clash Dashboard(可选)
    • 在浏览器中输入 http://127.0.0.1:9090/ui(如果配置文件中修改了 external-controller 地址,请使用修改后的地址),即可访问 Clash Dashboard。
    • 在 Dashboard 中,您可以方便地切换代理、查看日志、修改配置等。

五、 常见问题与进阶技巧

  1. 配置文件验证:可以使用在线 YAML 验证工具检查配置文件语法是否正确。

  2. 规则更新:可以定期从第三方规则提供商(如 Loyalsoldier/v2ray-rules-dat)获取最新的规则,并将其添加到您的配置文件中。

  3. 自定义规则:根据自己的需求,编写自定义规则,实现更精细的流量控制。

  4. 使用外部配置文件: 可以将proxies, proxy-groups, rules 分别拆分到三个yaml文件中, 然后在主配置文件中使用proxy-providers, rule-providers引用.

  5. Clash for Windows 图形界面:如果您不习惯命令行操作,可以使用 Clash for Windows,它提供了友好的图形界面,方便您管理和配置 Clash。

  6. Clash.Meta内核:Clash.Meta内核在Clash的基础上增加了对更多协议的支持, 比如Hysteria, TUIC, WireGuard等.

  7. 性能优化

    • 合理设置 url-testinterval,避免过于频繁的测试。
    • 根据网络情况,选择合适的代理协议和加密方式。
    • 尽量减少不必要的规则,避免规则匹配的性能开销。
  8. 故障排除

    • 查看 Clash 日志,定位问题原因。
    • 检查系统代理设置是否正确。
    • 尝试更换代理服务器或协议。
    • 检查防火墙设置,确保 Clash 端口未被阻止。

六、 总结

Clash 的配置文件是其强大功能的基石。通过深入理解配置文件结构,掌握 YAML 语法,并灵活运用各种模板和技巧,您可以轻松打造出符合自己需求的个性化网络代理方案。希望本文能帮助您更好地使用 Clash,享受自由、安全的网络体验。请记住,网络环境和需求是不断变化的,因此持续学习和调整您的 Clash 配置是至关重要的。

THE END