Clash 规则编写完全指南

目录

  1. Clash 简介
  2. 规则编写基础
  3. 规则编写实战
  4. 规则测试与调试
  5. FAQ

Clash 简介

Clash 是一款功能强大的代理客户端,支持多种代理协议,可以实现分流、负载均衡等功能。Clash 的核心在于其灵活的规则编写系统,用户可以根据自己的需求定制各种复杂的规则。

规则编写基础

规则语法

Clash 的规则语法采用 YAML 格式,由多个字段组成,主要包括:

  • type:规则类型,如 domainip-cidr
  • domain:域名匹配规则
  • ip-cidr:IP 段匹配规则
  • port:端口匹配规则
  • protocol:协议匹配规则
  • source-port:源端口匹配规则
  • process-name:进程名匹配规则
  • outbound-interface:出站网卡匹配规则
  • geoip:按地理位置匹配规则

常用规则类型

  1. 域名规则:使用 domain 字段匹配域名,支持通配符 * 和正则表达式。
  2. IP 规则:使用 ip-cidr 字段匹配 IP 段,支持 CIDR 格式。
  3. 端口规则:使用 port 字段匹配端口,支持范围匹配。
  4. 协议规则:使用 protocol 字段匹配协议类型,如 httptls 等。
  5. 进程规则:使用 process-name 字段匹配进程名。
  6. 网卡规则:使用 outbound-interface 字段匹配出站网卡。
  7. 地理位置规则:使用 geoip 字段按地理位置匹配。

规则编写实战

分流规则编写

分流规则是 Clash 最常用的功能之一,可以根据不同的规则将流量引导到不同的代理节点或直连。分流规则示例:

yaml rules:

  • type: domain domain:
    • ‘*.google.com’
    • ‘*.facebook.com’ outbound: proxy
  • type: ip-cidr ip-cidr:
    • 192.168.1.0/24 outbound: direct

代理规则编写

代理规则用于指定流量应该走哪个代理节点。代理规则示例:

yaml proxies:

  • name: proxy-1 type: ss server: 192.168.1.100 port: 8388 password: password cipher: aes-256-cfb
  • name: proxy-2 type: vmess server: 192.168.1.101 port: 10086 uuid: uuid-example alterId: 64

proxy-groups:

  • name: proxy type: select proxies:
    • proxy-1
    • proxy-2

网络优化规则编写

网络优化规则用于提高网络性能,如 TCP 优化、UDP 加速等。优化规则示例:

yaml tproxy: enable: true auto-route: true auto-clear-mark: true

dns: enable: true enhanced-mode: redir-host nameserver: – 8.8.8.8 – 1.1.1.1 fallback: – https://dns.google/dns-query – https://cloudflare-dns.com/dns-query

规则测试与调试

在编写规则时,可以使用 clash.yaml 中的 dev 模式进行测试和调试。通过访问 http://clash.razord.top/#/profiles 可以查看规则是否生效。

FAQ

Q: 如何编写分流规则?

A: 分流规则使用 rules 字段,可以根据域名、IP、端口、协议等匹配条件进行流量分流。示例:

yaml rules:

  • type: domain domain:
    • ‘*.google.com’ outbound: proxy
  • type: ip-cidr ip-cidr:
    • 192.168.1.0/24 outbound: direct

Q: 如何编写代理规则?

A: 代理规则使用 proxiesproxy-groups 字段,可以定义多个代理节点并组成代理组。示例:

yaml proxies:

  • name: proxy-1 type: ss server: 192.168.1.100 port: 8388 password: password cipher: aes-256-cfb

proxy-groups:

  • name: proxy type: select proxies:
    • proxy-1

Q: 如何编写网络优化规则?

A: 网络优化规则使用 tproxydns 字段,可以开启 TCP 代理、UDP 加速等功能。示例:

yaml tproxy: enable: true auto-route: true auto-clear-mark: true

dns: enable: true enhanced-mode: redir-host nameserver: – 8.8.8.8 – 1.1.1.1 fallback: – https://dns.google/dns-query – https://cloudflare-dns.com/dns-query

Q: Clash 规则编写有哪些常见问题?

A: 常见问题包括:

  • 规则语法错误
  • 规则冲突或覆盖
  • 代理节点配置错误
  • DNS 解析问题
  • 网络优化参数设置不当

建议仔细阅读 Clash 文档,并对规则进行充分测试,以避免这些问题。

正文完