本文中使用的CFW版本为0.19.25 (当然低版本也能用
使用Clash_Chinese_Patch进行汉化
一.前言
笔者所用机场的自带策略分组实在反人类,所以无奈使用 订阅转换 将原始订阅链接转化为远程配置为 ACL4SSR全分组 的Clash订阅,新订阅真不戳但是在使用过程中还是遇到了问题
经过搜索引擎及数个论坛社区查找,没有找到CFW中能在一个策略组中添加另一个策略组并防止配置文件更新覆盖,不是很繁琐且不需要持续维护的方法(也有可能是我笨没发现ψ(._. )>),总之经过反复寻找尝试,笔者研究了四种方法,均在下方列出。
笔者此次使用的ACL4SSR全分组是一种套娃的结构,首先将所有节点按地区归类为 香港、日本等等,地区策略组被其他策略组引用,而最上级策略组被规则引用
其他策略组(比如奈飞)则会包含这几个地区分组
这种策略组安排笔者个人很喜欢,但是部分分组配置并不完善
比如 📺 哔哩哔哩 分组
此策略组本意应该是,观看B站内容时只会需要大陆地区直连,或是使用港澳台区,所以没有提供其他的选择。
如果笔者想要使用其他地区的节点,则只能修改 🎯 全球直连 到目标节点,或者切换cfw为全局模式,无论哪种方法都会对其他连接造成影响。所以需要研究如何将 🚀 节点选择 加入到📺 哔哩哔哩策略组中。
二.修改策略组
此处列出笔者尝试了的四种方法,推荐使用3,4
1.编辑节点配置文件
右键配置文件选择“编辑”或“从外部编辑”
在 proxy-groups 中找到 📺 哔哩哔哩 ,并在 proxies 中添加
- 🚀 节点选择 - 🚀 手动切换
2.自行编写策略并托管在线上
在常用规则集之上再进行修改,并存放在Github等平台上
常用规则集:
- 神机规则:https://github.com/DivineEngine/Profiles/tree/master
- ACL4SSR:https://github.com/ACL4SSR/ACL4SSR/tree/master
- 洞主规则:https://github.com/lhie1/Rules/tree/master
教程链接 https://yattazen.com/tutorial/clash-custom-config.html
3.使用预处理配置
自行编写策略并托管在线上不符合懒狗方法的定位,使用预处理配置显然是一种简便的选择
预处理配置还可以定义分流规则,同样不会被更新覆盖,这也是很刚需的功能,此处一并写出
进入设置-配置下的预处理配置中
(1).自定义分流规则
在预处理配置中添加如下代码(并将部分代码替换为自己需要的,注意换行和间隔)
parsers: # array - url: https://xxxx yaml: prepend-rules: - DOMAIN-KEYWORD,pixiv,🚀 节点选择 - DOMAIN-SUFFIX,qq.com,🎯 全球直连
其中:
https://xxxx 为自己的订阅链接
DOMAIN-SUFFIX 为域名后缀匹配
github.com 为匹配的域名
🚀 节点选择 为目标代理策略
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:全匹配
PROCESS-NAME
需要0.11.5 及以上版本;规则需要匹配完整的进程名(包括可执行文件后缀)方可生效;该规则不适用于 TAP 流量
确认无误后点击保存并更新订阅即可
(2).添加自定义策略组
根据cfw文档 https://docs.cfw.lbyczf.com/contents/parser.html 中Commands 使用方法
例子
commands: - dns.enable=false # 命令1 - proxy-groups.0.proxies.2+DIRECT # 命令2
每个命令可以被分为三个部分,分别是:定位+操作+设定值
命令 1 中,定位是dns.enable
,操作是=
,设定值是false
命令 2 中,定位是proxy-groups.0.proxies.2
,操作是+
,设定值是DIRECT
定位
定位中每个层级以.
分割,数组类型的定位下标由 0 开始计算,命令 2 中proxy-groups.0
即表示定位至第 1 个策略组,.proxies
表示访问第一个策略组的 proxies 属性,.proxies.2
表示 proxies 属性的第 3 个位置
如果不想用序号定位,也可以使用name
值定位,proxies
以及proxy-groups
中的每个项目都会有name
属性。例如在proxies
中已经定义了名为debug
的节点,那么修改其udp
参数的定位即为proxies.(debug).udp
,名称两边的()
是保证识别,如果节点名不包括+
、.
或=
这几个符号,也可以省略不写
操作
目前支持三种操作:
=
:覆盖+
:插入-
:删除
命令 1 中,=
表示将dns
下enable
的值覆盖为false
命令 2 中,+
表示在定位的策略组中的proxies
数组中添加一个名为DIRECT
的值,原本其他值被向后移动 1 位。如果此处改成=
,则会覆盖原来第一个值
参考命令2,可以得到
- proxy-groups.📺 哔哩哔哩.proxies.0+🚀 节点选择
功能是:将🚀 节点选择添加到📺 哔哩哔哩策略组的第一位
请按照实际情况修改并依照文档格式添加入预处理配置中
确认无误后点击保存并更新订阅即可
4.使用Diff 处理
cfw文档链接为 https://docs.cfw.lbyczf.com/contents/diff.html
右键配置文件选择 合并,在弹出窗口中选择 初始化配置文件
在右侧的编辑器中
proxy-groups 中找到 📺 哔哩哔哩 ,并在 proxies 中添加
- 🚀 节点选择 - 🚀 手动切换
点击右下角保存并更新订阅,即可在 📺 哔哩哔哩 中找到我们添加的两个策略组。
需要说明的是:根据cfw文档,如果远端配置文件发生更新,并且与本地修改产生冲突,将需要手动进行合并
冲突的格式非常简单:
<<<<<<< 本地修改 ======= 远端修改 >>>>>>>
根据自己的需求,把多余的地方删除即可,包括<<<<<<<、=======和>>>>>>>。
三.私货
你学废了吗?(
赶紧给你的bilibili.tv挂上东南亚节点,速看莉可丽丝!
没有人能拒绝美少女JK打枪
Comments | 2 条评论
博客作者 零依
感谢分享,找了几篇文章,不太能看懂,这篇列出了几种可行方法,对我帮助很大,最终选择方法二,一劳永逸(◍•ᴗ•◍)
博客作者 skyue
还是方法二最好用