Clash提供了三种不同的代理模式,每种模式都有其特定的使用场景和优势。正确理解和使用这些模式,能够大大提升您的网络使用体验。
代理模式概览
Clash的三种代理模式:
模式 | 英文名称 | 特点 | 适用场景 |
---|---|---|---|
规则模式 | Rule | 智能分流 | 日常使用(推荐) |
全局模式 | Global | 全部代理 | 特殊需求 |
直连模式 | Direct | 不使用代理 | 调试或临时关闭 |
规则模式 (Rule Mode)
什么是规则模式?
规则模式是Clash最重要也是最常用的模式。在此模式下,Clash会根据预设的规则来决定每个网络请求的处理方式:
- 哪些网站通过代理访问
- 哪些网站直接连接
- 哪些请求被拦截(如广告)
工作原理
当您访问一个网站时,规则模式会按照以下步骤处理:
- 域名匹配: 检查域名是否匹配特定规则
- IP匹配: 检查目标IP地址范围
- 地理位置判断: 根据IP地址判断地理位置
- 端口和协议: 检查连接端口和协议类型
- 执行动作: 根据匹配结果执行相应动作
常见规则类型
域名规则
rules:
# 完全匹配
- DOMAIN,google.com,Proxy
# 后缀匹配
- DOMAIN-SUFFIX,youtube.com,Proxy
# 关键词匹配
- DOMAIN-KEYWORD,google,Proxy
IP规则
rules:
# 特定IP
- IP-CIDR,192.168.1.0/24,DIRECT
# IP段
- IP-CIDR,10.0.0.0/8,DIRECT
# IPv6
- IP-CIDR6,2001:db8::/32,DIRECT
地理位置规则
rules:
# 中国大陆IP直连
- GEOIP,CN,DIRECT
# 美国IP走代理
- GEOIP,US,Proxy
端口规则
rules:
# 特定端口
- DST-PORT,80,DIRECT
# 端口范围
- DST-PORT,8000-9000,Proxy
规则优先级
规则按照从上到下的顺序匹配,一旦匹配到规则就会执行对应动作,不再继续匹配后续规则。因此,规则的排列顺序很重要:
rules:
# 1. 特殊规则(最高优先级)
- DOMAIN-SUFFIX,local,DIRECT
# 2. 广告拦截
- DOMAIN-SUFFIX,doubleclick.net,REJECT
# 3. 国外服务
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-SUFFIX,youtube.com,Proxy
# 4. 中国大陆
- GEOIP,CN,DIRECT
# 5. 默认规则(最低优先级)
- MATCH,Proxy
优势和特点
✅ 优势
- 智能分流: 自动判断哪些网站需要代理
- 节省流量: 国内网站直连,不消耗代理流量
- 速度优化: 国内网站直连速度更快
- 广告拦截: 可以拦截广告和跟踪器
- 灵活配置: 可以自定义各种复杂规则
⚠️ 注意事项
- 规则文件需要定期更新
- 复杂规则可能影响启动速度
- 新网站可能需要手动添加规则
全局模式 (Global Mode)
什么是全局模式?
全局模式下,所有的网络流量都会通过代理服务器,不进行任何分流判断。
使用场景
适合使用全局模式的情况:
-
网络环境限制
- 公司或学校网络有严格限制
- 需要隐藏所有网络活动
- 绕过本地网络监控
-
特殊需求
- 需要获得特定地区的IP地址
- 进行网络安全测试
- 访问地理位置限制的服务
-
调试目的
- 测试代理服务器性能
- 排查分流规则问题
- 验证代理连接稳定性
配置方法
在客户端中切换到全局模式:
Clash Verge
- 在主界面找到"代理模式"选择器
- 选择"全局模式"或"Global"
Clash for Windows
- 在主界面的"Mode"中选择"Global"
ClashX
- 点击菜单栏图标
- 选择"代理模式" → “全局模式”
优势和限制
✅ 优势
- 简单直接: 不需要考虑复杂的分流规则
- 完全代理: 确保所有流量都通过代理
- 统一IP: 所有网站看到的都是代理服务器IP
⚠️ 限制
- 流量消耗: 所有流量都消耗代理套餐
- 速度影响: 国内网站访问速度可能变慢
- 成本增加: 代理流量使用量大幅增加
直连模式 (Direct Mode)
什么是直连模式?
直连模式下,所有网络流量都直接连接目标服务器,完全不使用代理。这相当于临时关闭了代理功能。
使用场景
适合使用直连模式的情况:
-
调试网络问题
- 判断问题是否由代理引起
- 测试本地网络连接质量
- 排查DNS解析问题
-
临时需求
- 访问银行等敏感网站
- 进行本地网络测试
- 暂时关闭代理功能
-
节省流量
- 代理流量不足时临时使用
- 在不需要代理的环境中使用
配置方法
切换到直连模式的方法与全局模式类似,在客户端的代理模式选择器中选择"直连"或"Direct"。
优势和限制
✅ 优势
- 无流量消耗: 不使用代理流量
- 最高速度: 直连速度最快
- 简单直接: 不需要任何配置
⚠️ 限制
- 无法访问: 被墙网站无法访问
- 隐私问题: 真实IP地址暴露
- 地理限制: 无法绕过地理位置限制
模式切换策略
日常使用建议
主要模式:规则模式
- 99%的时间都应该使用规则模式
- 提供最佳的用户体验
- 兼顾速度、流量和功能
临时切换场景
切换到全局模式:
- 访问某些检测严格的网站
- 需要特定地区IP地址
- 规则模式无法正常工作时
切换到直连模式:
- 调试网络问题
- 访问对代理敏感的网站
- 代理服务器维护期间
自动化切换
使用脚本自动切换
# 配置示例:不同时间使用不同模式
script:
code: |
def main(ctx, metadata):
now = ctx.time()
# 工作时间使用规则模式
if 9 <= now.hour <= 18:
return "Rule"
# 其他时间使用全局模式
else:
return "Global"
基于网络环境自动切换
# 根据网络SSID自动切换模式
profiles:
home:
mode: rule
networks: ["HomeWiFi"]
office:
mode: global
networks: ["OfficeWiFi"]
高级技巧和最佳实践
规则优化技巧
1. 合理的规则顺序
rules:
# 首先处理本地网络
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
# 然后处理特殊域名
- DOMAIN-SUFFIX,local,DIRECT
# 广告拦截
- DOMAIN-KEYWORD,ad,REJECT
# 国外服务
- DOMAIN-SUFFIX,google.com,Proxy
# 中国大陆IP
- GEOIP,CN,DIRECT
# 默认规则
- MATCH,Proxy
2. 使用规则集
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
interval: 86400
rules:
- RULE-SET,reject,REJECT
性能优化
减少规则匹配时间
- 将常用规则放在前面
- 使用域名后缀匹配而非关键词匹配
- 避免过于复杂的正则表达式
缓存优化
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
cache-size: 4096
故障排除
规则不生效
- 检查规则语法是否正确
- 确认规则顺序是否合理
- 查看实时日志分析匹配情况
- 使用测试工具验证规则
模式切换无效
- 重启客户端应用
- 检查系统代理设置
- 清除DNS缓存
- 验证配置文件格式
总结
理解和正确使用Clash的代理模式是提升网络体验的关键:
🎯 核心要点
- 规则模式是日常使用的最佳选择
- 全局模式适合特殊需求和调试
- 直连模式用于临时关闭代理
- 合理的规则配置能大幅提升体验
📋 使用建议
- 默认使用规则模式,享受智能分流
- 定期更新规则,确保分流准确性
- 根据需要切换模式,但要理解每种模式的特点
- 关注流量使用,避免不必要的代理消耗
🔧 优化方向
- 学习自定义规则编写
- 了解不同客户端的高级功能
- 关注新的分流技术发展
- 建立适合自己的使用习惯
掌握了代理模式的使用方法,您就能够根据不同场景灵活调整Clash的工作方式,获得最佳的网络访问体验!