Clash 规则介绍与配置教程
Clash 是一款功能强大的多平台代理客户端,以其灵活的规则分流能力而闻名。通过精心配置的规则,用户可以根据自身需求精细化地管理网络流量,实现诸如智能分流、广告拦截、流媒体解锁等多种高级功能。本文将详细介绍 Clash 的规则体系及其配置方法。
一、Clash 规则介绍
Clash 的核心魅力在于其“规则”系统。它允许你定义网络请求如何处理,例如哪些流量直连,哪些通过代理服务器,甚至哪些直接拒绝连接。
1. 规则的基本结构
每一条 Clash 规则都由三个主要部分组成:
- 规则类型 (TYPE):定义了匹配网络流量的方式。
- 匹配目标 (ARGUMENT):指定了要匹配的具体内容,如域名、IP 地址等。
- 路由策略 (POLICY):指明了匹配成功后应执行的动作,如直连、通过代理或拒绝。
2. 常见的规则类型
了解不同的规则类型是高效配置 Clash 的关键:
- DOMAIN: 精确匹配单个域名。
- 示例:
DOMAIN, www.google.com, PROXY(访问www.google.com时走代理)
- 示例:
- DOMAIN-SUFFIX: 匹配以指定后缀结尾的域名。这对于匹配某个服务下的所有子域名非常有用。
- 示例:
DOMAIN-SUFFIX, google.com, PROXY(访问所有google.com结尾的域名,如ads.google.com时走代理)
- 示例:
- DOMAIN-KEYWORD: 匹配域名中包含指定关键字的流量。
- 示例:
DOMAIN-KEYWORD, ads, REJECT(屏蔽域名中包含 “ads” 的流量,常用于广告拦截)
- 示例:
- IP-CIDR: 匹配某个 IP 地址段。通常用于判断流量是否发往特定的 IP 范围。
- 示例:
IP-CIDR, 8.8.8.0/24, DIRECT(将访问8.8.8.0到8.8.8.255的流量直连)
- 示例:
- GEOIP: 根据 IP 地址所在的国家/地区进行匹配。这是实现国内流量直连、国外流量代理的常用方式。
- 示例:
GEOIP, CN, DIRECT(所有中国大陆的 IP 流量都直连)
- 示例:
- PROCESS-NAME: 根据发起网络请求的进程名称进行匹配(部分客户端支持)。
- DST-PORT: 根据目标端口号进行匹配(部分客户端支持)。
- MATCH: 作为兜底规则,匹配所有未被前面任何规则匹配的剩余流量。它必须是规则列表中的最后一条。
- 示例:
MATCH, PROXY(将所有未被前面规则匹配的流量通过代理)
- 示例:
3. 路由策略
当流量匹配到一条规则后,将根据对应的路由策略执行动作:
- DIRECT: 直连,不使用任何代理,流量直接发送到目标服务器。
- REJECT: 拒绝连接,通常用于屏蔽广告、恶意网站或特定服务。
- PROXY: 将流量路由到配置文件中定义的单个代理服务器。
- Proxy Group (代理组): 将流量路由到预定义的代理策略组。代理组允许你设置多个代理节点,并根据不同的策略(如
auto自动选择、select手动选择、fallback故障转移、load-balance负载均衡等)进行流量分发,极大地增强了灵活性。
4. 规则优先级
Clash 规则的匹配是从上到下的顺序进行的。一旦流量匹配到某条规则,后续的规则将不再生效。因此,规则的顺序至关重要:
- 更具体、更精确的规则应放在前面。
- 更宽泛、通用的规则应放在后面。
MATCH规则必须放在所有规则的最后,作为处理所有未匹配流量的兜底选项。
示例规则片段:
yaml
rules:
# 优先处理国内 IP,进行直连
- GEOIP,CN,DIRECT
# 特定域名走代理
- DOMAIN-SUFFIX,youtube.com,PROXY
- DOMAIN-SUFFIX,netflix.com,PROXY
# 特定域名直连
- DOMAIN-SUFFIX,baidu.com,DIRECT
# 广告拦截
- DOMAIN-KEYWORD,ads,REJECT
# 所有未匹配的流量都通过代理组 (假设 PROXY_GROUP 是一个代理组的名称)
- MATCH,PROXY_GROUP
二、Clash 配置教程
配置 Clash 主要涉及获取配置文件、导入、选择运行模式和启用代理。
1. 获取并添加配置文件
Clash 的核心是一个 YAML 格式的配置文件,它包含了代理服务器信息、代理组定义和规则列表。
- 通过订阅链接添加(推荐方式):
- 打开你的 Clash 客户端(例如 Clash for Windows, Clash for Android 等)。
- 导航到“Profiles”(配置)或“配置管理”选项卡。
- 选择“URL”或“从 URL 导入”选项。
- 粘贴你的 Clash 配置订阅链接(通常由你的服务提供商提供)。
- 设置一个合理的自动更新间隔(例如,每 1440 分钟即 24 小时更新一次)。
- 点击保存或下载,然后选中该配置文件使其生效。
- 通过本地文件添加:
- 如果你有一个本地的 YAML 配置文件(通常是以
.yaml结尾),可以将其下载到本地。 - 在 Clash 客户端的“Profiles”(配置)选项卡中,选择“Import”(导入)或“从文件导入”选项。
- 浏览并选择你下载的本地配置文件,然后导入并选中它。
- 如果你有一个本地的 YAML 配置文件(通常是以
2. 切换运行模式与选择节点
- 运行模式选择:在 Clash 客户端的“General”(通用)或“主页”页面,将“Mode”(模式)或“出站模式”设置为“Rule”(规则模式)。这是启用规则分流功能的前提。
- 节点选择:导航到“Proxies”(代理)选项卡。在这里你会看到配置文件中定义的代理组。点击进入你想要使用的代理组,然后选择一个你偏好的代理节点。
3. 启用代理
- 在 Clash 客户端的“General”(通用)或“主页”页面,找到“System Proxy”(系统代理)或“开启系统代理”开关并打开它。
- 对于 Android 客户端,可能需要授予 Clash VPN 权限才能正常工作。
- 成功开启后,Clash 通常会在系统托盘或通知栏显示相应的图标,并可能变色,表示代理已生效。
4. 更新配置文件
定期更新你的订阅配置文件非常重要,以确保你的代理节点和规则列表始终是最新的,从而获得更稳定、更快速的网络体验。通过订阅链接导入的配置,Clash 会根据你设置的间隔自动进行更新。
5. 自定义规则(进阶)
对于有特定需求的用户,可以直接编辑 Clash 配置文件来自定义规则:
- 找到你的 Clash 配置文件(通常在客户端的“Profiles”或“配置”目录下,或通过“Open Config Folder”/“打开配置文件夹”找到)。
- 使用文本编辑器打开该 YAML 文件。
- 在
rules:字段下,按照规则类型, 匹配目标, 路由策略的格式添加或修改规则。 - 保存文件。
- 在 Clash 客户端中,选择“Reload”(重载)或“刷新配置”选项,使更改生效。
重要提示: 直接修改通过订阅链接获取的配置文件,在下次订阅更新时可能会被覆盖。为了避免这种情况,建议使用 Clash 的“解析器 (Parser)”功能,或创建一个主配置文件,通过 proxy-providers 字段引用订阅链接中的节点,而自行维护规则部分。这样,即使订阅更新,你的自定义规则也不会丢失。
希望这篇教程能帮助你更好地理解和配置 Clash 规则,从而优化你的网络体验。