Clash规则教程:从入门到精通

目录

  1. 什么是Clash
  2. Clash规则简介
  3. Clash规则配置详解
    1. 配置文件结构
    2. Proxy
    3. Proxy Group
    4. Rule
  4. Clash规则进阶使用
    1. 规则匹配原理
    2. 常见规则配置示例
    3. 动态切换Proxy Group
  5. Clash规则常见问题FAQ

什么是Clash

Clash 是一款开源的代理客户端软件,它支持多种代理协议,包括 Shadowsocks、VMess、Trojan 等,同时也支持自定义规则进行流量分流。Clash 的特点是轻量、跨平台、性能优异,广受科学上网用户的喜爱。

Clash规则简介

Clash 的规则系统是其核心功能之一,通过自定义规则可以实现对不同类型的网络流量进行智能分流。Clash 规则的配置文件采用 YAML 格式,包括 Proxy、Proxy Group 和 Rule 三个主要部分。

Clash规则配置详解

配置文件结构

Clash 规则配置文件的基本结构如下:

yaml

port: 7890 socks-port: 7891 redir-port: 7892 allow-lan: false mode: rule log-level: info external-controller: 127.0.0.1:9090

proxies:

proxy-groups:

rules:

Proxy

Proxy 部分定义了各种代理服务器的配置信息,如 Shadowsocks、VMess、Trojan 等。每个代理服务器的配置包括服务器地址、端口、加密方式、密码等参数。

yaml proxies:

  • name: “SS-1” type: ss server: 123.45.67.89 port: 8388 cipher: aes-256-cfb password: “password”
  • name: “VMess-1” type: vmess server: 123.45.67.89 port: 443 uuid: “23ad6b82-9605-4c00-9114-c9c037d2f717” alterId: 64 cipher: auto

Proxy Group

Proxy Group 部分定义了各种代理组,可以根据不同的需求将多个代理服务器组合成一个组。Clash 支持多种类型的代理组,如 selecturl-testfallback 等。

yaml proxy-groups:

  • name: “Proxy” type: select proxies:

    • SS-1
    • VMess-1
  • name: “Auto” type: url-test url: “http://www.gstatic.com/generate_204” interval: 300 proxies:

    • SS-1
    • VMess-1

Rule

Rule 部分定义了各种流量分流规则,Clash 支持多种类型的规则,如域名、IP-CIDR、GEOIP 等。通过这些规则,可以将不同类型的网络流量导向不同的代理组。

yaml rules:

  • DOMAIN-SUFFIX,google.com,Proxy
  • DOMAIN-KEYWORD,google,Proxy
  • IP-CIDR,192.168.1.0/24,DIRECT
  • GEOIP,CN,DIRECT
  • MATCH,Proxy

Clash规则进阶使用

规则匹配原理

Clash 的规则匹配遵循以下原则:

  1. 从上到下依次匹配规则
  2. 如果匹配到任何一条规则,则执行该规则并停止匹配
  3. 如果未匹配到任何规则,则执行最后一条 MATCH 规则

常见规则配置示例

  1. 国内流量直连,国外流量走代理:
  • GEOIP,CN,DIRECT
  • MATCH,Proxy
  1. 屏蔽广告和运营商劫持:
  • DOMAIN-SUFFIX,ad.com,REJECT
  • DOMAIN-SUFFIX,track.com,REJECT
  • DOMAIN-KEYWORD,adtrack,REJECT
  1. 特定域名走代理,其他流量直连:
  • DOMAIN-SUFFIX,google.com,Proxy
  • MATCH,DIRECT

动态切换Proxy Group

除了静态配置 Proxy Group,Clash 还支持通过 url-testfallback 等类型的 Proxy Group 实现动态切换代理。这些代理组会定期测试所有代理服务器的延迟和可用性,并自动选择最优的服务器。

yaml proxy-groups:

  • name: “Auto” type: url-test url: “http://www.gstatic.com/generate_204” interval: 300 proxies:

    • SS-1
    • VMess-1
  • name: “Fallback” type: fallback url: “http://www.gstatic.com/generate_204” interval: 300 proxies:

    • SS-1
    • VMess-1

Clash规则常见问题FAQ

Q1: Clash 规则如何配置才能实现全局代理? A1: 只需要在 rules 部分添加一条 MATCH,Proxy 规则即可,将所有流量导向代理组。

Q2: Clash 如何实现国内直连,国外走代理? A2: 可以添加 GEOIP,CN,DIRECT 规则将国内流量直连,其他流量走代理组。

Q3: Clash 如何屏蔽广告和运营商劫持? A3: 可以添加 DOMAIN-SUFFIXDOMAIN-KEYWORD 规则,将广告和劫持域名流量导向 REJECT 策略。

Q4: Clash 如何配置特定域名走代理? A4: 可以添加 DOMAIN-SUFFIX 规则,将特定域名流量导向代理组,其他流量直连。

Q5: Clash 如何实现自动选择最优代理? A5: 可以使用 url-testfallback 类型的代理组,Clash 会定期测试所有代理服务器的延迟和可用性,并自动选择最优的服务器。

正文完