Clash内置规则会代理steam下载服务器,导致下载速度缓慢,而手动添加的规则会被更新代理后覆盖,受不了了去网上搜集相关资料总结了一个简单的方法。
Clash使用Parser添加自定义规则并防止更新覆盖
在配置文件页面右键,选择Parsers
- Edit Parsers
粘贴以下格式文本保存即可:
parsers: # array
- url: xxx # 你的机场订阅
yaml:
prepend-rules: # 代表在原规则前面追加规则
# 格式按照:规则,域名,策略
- DOMAIN-SUFFIX,store.steampowered.com,🔰国外流量
- DOMAIN-SUFFIX,steamserver.net,DIRECT
- DOMAIN-KEYWORD,steamstatic,🔰国外流量
- DOMAIN-SUFFIX,bilibili.com,DIRECT
- DOMAIN-SUFFIX,bilivideo.com,DIRECT
为什么这种方法能够防止覆盖呢?原因是Parser功能是配置文件进行预处理,因此,每一次更新都会执行一次Parser,因此自定义规则会永远存在,只要你不删除Parser。
一般情况我们使用DIRECT,GLOBAL,RULE,REJECT。
DIRECT表示不走代理,即不通过代理节点直接连接。
GLOBAL则是走全局代理节点。
REJECT则表示禁止连接,使用REJECT后,将会屏蔽对应网站。目前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:全匹配
更多知识参考ClashWiki: https://clash.wiki/
Clash Nyanpasu 添加自定义规则
clash for windows停止维护了,可以用Clash Nyanpasu,美观且内置汉化。
文档:https://nyanpasu.elaina.moe/zh-CN/
仓库:https://github.com/libnyanpasu/clash-nyanpasu
喵帕斯的处理逻辑更容易理解,处理Profile链后处理全局链,不会被更新代理链接所覆盖,规则类型同上。
在以下页面添加代码:配置 → 全局链 → New Chain
# Clash Nyanpasu Merge Template (YAML)
# Documentation on https://nyanpasu.elaina.moe/
# Set the default merge strategy to recursive merge.
# Enable the old mode with the override__ prefix.
# Use the filter__ prefix to filter lists (removing unwanted content).
# All prefixes should support accessing maps or lists with a.b.c syntax.
prepend__rules:
- 'DOMAIN-SUFFIX,store.steampowered.com,🔰国外流量'
- 'DOMAIN-SUFFIX,steamserver.net,DIRECT'
- 'DOMAIN-KEYWORD,steamstatic,🔰国外流量'
- 'DOMAIN-SUFFIX,bilibili.com,DIRECT'
- 'DOMAIN-SUFFIX,bilivideo.com,DIRECT'
常用合并规则:
- append__x.y.z - 将 x.y.z 字段的内容追加到原有配置的 x.y.z 字段列表末尾。当 x.y.z 不存在,或者不是一个数组时,将会被忽略并触发日记警告。
- prepend__x.y.z - 将 x.y.z 字段的内容追加到原有配置的 x.y.z 字段列表开头。当 x.y.z 不存在,或者不是一个数组时,将会被忽略并触发日记警告。
- override__x.y.z - 直接覆盖 x.y.z 字段的内容。当 x.y.z 不存在时,将会被忽略并触发日记警告。