Clash添加自定义规则并防止更新覆盖

  • A+
所属分类:V2RAY教程

Clash可以说是当下最好用的代理软件之一了,功能丰富,界面清爽,简单易用。但Clash订阅规则也不可能对所有人都达到完美程度,总有需要自定义的时候。熟悉Clash的同学应该知道Clash提供了自定义新规则的功能界面,对于小白来说十分友好,但是这种方式有一个致命的缺陷,就是每一次更新订阅节点,自定义规则就会被覆盖,造成规则丢失。本文将介绍一种使用Clash的Parser功能,通过书写javascript代码,对订阅规则进行预处理的方式添加自定义规则,这种方式能够避免订阅更新造成的规则丢失。

方法详细介绍

使用该方法需要Clash版本高于0.11.10,如果低于该版本,请先上github下载安装包进行更新。

  1. 打开Setting(设置),找到Profiles(配置文件下)的Parsers
  2. 点击右侧的Edit,打开编辑界面。
  3. 输入以下代码(以下为示例代码,需要根据自身情况进行改动):
- url: https://订阅连接地址/*********/*****
    yaml:
      prepend-rules:
        - DOMAIN-SUFFIX,checkip.synology.com,DIRECT

其中需要改动的有 url 和 prepend-rules 。

  • url:改成本人的订阅地址,如果不知道,可以直接在Profiles下点击当前订阅的settings,复制其中的URL即可。
  • prepen-rules:此处添加你的自定义规则,每一条占一行,按照(规则类型,值,代理策略)排列,使用逗号分隔。注意的是,每一行都需要以一个短横线加空格的开头,同时 注意对齐。具体的自定义规则如何书写在本文的后半部分有说明。
  1. 编辑完成后,点击右下角保存。到Profiles里更新订阅,这样就可以将新的规则添加上了。可以点击edit rules查看规则进行验证。之后打开相应网页看是否生效。

自定义规则的书写方式

目前Clash支持的规则类型如下:

  • 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:全匹配

其中我们使用最多的就是DOMAIN-SUFFIX域名后缀了。其余规则类型根据说明大家也可以自行探索。

Note:

  • 使用PROCESS-NAME需要 Clash for Windows v0.11.5 及以上版本;规则需要匹配完整的进程名(包括可执行文件后缀)方可生效;该规则不适用于TAP流量。
  • 用户界面暂不支持添加RULE-SET规则,请手动编辑配置文件。
  • MATCH需要位于规则列表末尾。

代理策略的选择

一般情况我们使用DIRECTGLOBALREJECTDIRECT表示不走代理,即不通过代理节点直接连接。GLOBAL则是走全局代理节点。REJECT则表示禁止连接,使用REJECT后,将会屏蔽对应网站。

有一些订阅还提供了很多自制的策略,可以自行尝试。使用时直接输入名字即可,中文也是支持的哦。有人可能会问,前面有奇奇怪怪的符号怎么办?

点击General,点击Home Directory下的Open Folder,打开配置文件夹,点击Profiles文件夹,找到对应的yml文件,用记事本等软件打开,直接复制粘贴就可以啦。

原理介绍

为什么这种方法能够防止覆盖呢?原因是Parser功能是配置文件进行预处理,因此,每一次更新都会执行一次Parser,因此自定义规则会永远存在,只要你不删除Parser。

+++++++免费试用YouTube加速器++++++++++++

发表评论

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