使用Clash时,由于设置了自动更新订阅,那么每次重启的时候,配置的自定义规则都会和服务器同步,然后被覆盖.所以需要在其他的地方把规则附加到服务器的配置上面才行.
在菜单中有个订阅的的菜单,里面有个全局扩展脚本,这个脚本是本地设置的脚本,它会在每次订阅更新或 Clash 启动时,读取远程配置,然后执行这个 main(config, profileName) 方法,返回修改后的 config,所以这里可以用来插入你要的直连规则。
右键编辑,添加如下脚本:
// Define main function (script entry)
function main(config, profileName) {
if (!config.rules) {
config.rules = []
}
config.rules.unshift(
"IP-CIDR,xxx.xxx.xxx.xxx/32,DIRECT,no-resolve"
)
return config;
}
保存后,重启.这样就可以把自定义的规则加载了.
第二种方式:
创建一个本地 YAML 文件,列如 custom-rules.yaml,内容:
- IP-CIDR,xxx.xxx.xxx.xxx/32,DIRECT,no-resolve
在订阅的配置里引用它:
rule-providers:
my-direct-rules:
type: file
behavior: classical
path: ./custom-rules.yaml
rules:
-
保存后,Clash 会先加载你本地的直连规则,再加载订阅里的其他规则。
这样即使订阅更新,本地规则文件不会被覆盖。
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
暂无评论内容