clashforwindows设置让指定网站走代理教程

  • A+
所属分类:软件

Clash是目前比较流行的代理工具,其规则模式可以根据相关规则确定流量路径,但是因为使用默认规则之后outlook以及onedrive等会自动使用代理流量造成无法访问,而且没有将notion加入到代理规则因此notion的访问较慢,于是想研究一下修改代理规则。

不推荐的简易临时方法

直接在配置界面修改配置规则,但是此方法在每次更新配置之后都会覆盖之前的更改,需要重新修改配置十分不便

永久解决代理规则配置的方法

发现Clash在v0.11.10版本的时候就推出了使用yaml进行规则预处理的功能,但是网上资料不全,于是去官网查了一下帮助文档,在此记录一下

  • 官网称此功能为parsers,此功能原理就是在每次更新获取到规则之后对规则进行预处理,预处理方式通过yaml进行配置
  • 具体设置方法:打开选项卡中”设置 - 配置文件预处理“选项对yaml文件进行编辑:界面为英文的对照着解决即可

  • 在yaml文件中添加一下代码:
parsers: # array
 - url: 在此输入订阅的URL
  yaml:
   prepend-rules:
    - DOMAIN-SUFFIX,notion.so,GLOBAL
    - DOMAIN-SUFFIX,amazonaws.com,GLOBAL
    - DOMAIN-SUFFIX,outlook.com,DIRECT
    - DOMAIN-SUFFIX,onedrive.com,DIRECT

如果在保存上面的规则出错,请对规则的缩进进行调整,一般都是复制的时候,行前的缩进不对。

  • 重新导入规则,parsers会对规则文件进行预处理

配置代码说明:

  • 上文代码的含义是通过域名后缀匹配notion的域名后缀notion.so以及notion所用的亚马逊服务器域名后缀amazonaws.com,若匹配则使用GLOBAL流量,如果匹配到outlook、onedrive、onenote的域名后缀则使用DIRECT流量
  • prepend-rules字段:说明如何处理的参数,官网说明如下:
参数 值类型 操作
append-rules 数组 数组合并至原配置rules数组后
prepend-rules 数组 数组合并至原配置rules数组前
append-proxies 数组 数组合并至原配置proxies数组后
prepend-proxies 数组 数组合并至原配置proxies数组前
append-proxy-groups 数组 数组合并至原配置proxy-groups数组后
prepend-proxy-groups 数组 数组合并至原配置proxy-groups数组前
mix-proxy-providers 对象 对象合并至原配置proxy-providers中
mix-rule-providers 对象 对象合并至原配置rule-providers中
mix-object 对象 对象合并至原配置最外层中
commands 数组 在上面操作完成后执行简单命令操作配置文件
  • DOMAIN-SUFFIX字段:规则匹配方式,例如配置第一行域名后缀匹配notion.so,若匹配则使用GLOBAL流量路径
参数 说明
DOMAIN-SUFFIX 域名后缀匹配
DOMAIN 域名匹配
DOMAIN-KEYWORD 域名关键字匹配
IP-CIDR IP段匹配
SRC-IP-CIDR 源IP段匹配
GEOIP GEOIP数据库(国家代码)匹配
DST-PORT 目标端口匹配
SRC-PORT 源端口匹配
PROCESS-NAME 源进程名匹配
RULE-SET Rule Provider规则匹配
MATCH 全匹配

 

可能有的朋友会疑惑,为什么只能在rules数组前或者数组后添加规则,却不能修改或者删除规则,如果默认的rules中有相关规则,然后再添加其他规则是否会冲突,答案是不会,因为Clash的机制是自上而下遍历规则,只需要将自定义规则添加到rules数组前保证自定义规则首先被遍历即可

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: