CFW中的parser功能,在clash-verge中的实现
type
status
date
slug
summary
tags
category
icon
password
前言
关于
CFW
的parser
功能,用过的都说好,但是在clash-verge
中发现找不到、没有了。官方介绍
为此找到了一份
clash-verge
官方文档:Merge 合并处理
该配置类型用于对主配置进行字段增加的操作,文件格式是yaml。该idea源于 CFW 配置预处理中的简便方法。目前仅支持6种操作类型。启用方法:
右键 - enable
,在修改了文件之后,点击刷新触发配置变更。prepend-rules
:类型和clash rules
配置一致,内容合并到rules 前
append-rules
:类型和clash rules
配置一致,内容合并到rules 后
prepend-proxies
:类型和clash proxies
配置一致,内容合并到proxies 前
append-proxies
:类型和clash proxies
配置一致,内容合并到proxies 后
prepend-proxy-groups
:类型和clash proxy-groups
配置一致,内容合并到proxy-groups 前
append-proxy-groups
:类型和clash proxy-groups
配置一致,内容合并到proxy-groups 后
- 其他clash的字段:5个默认使用的字段(
rules
,proxies
,proxy-groups
,proxy-providers
,rule-providers
)以及其他clash/clash meta支持的字段,直接设置这些字段将直接覆盖profile对应字段的内容。
注意:需要使用其他字段时,例如dns,tun等,需要在设置页 - Clash Field(Clash 字段)里勾选对应的字段,不勾选的字段将被忽略。
Script 脚本处理
该配置类型提供编写JS脚本修改配置的能力,JS运行时为browserjs quickjs。该idea源于 CFW 配置预处理中的Mixin/parser。启用方法:
右键 - enable
,在修改了文件之后,点击刷新重置配置文件。脚本中需要声明一个main函数,函数签名为
main(params: object): object;
。函数入参为序列化为js object的clash配置,务必返回处理后的js object。如果脚本中存在异常未处理,处理程序将跳过该脚本所做的操作,并且对应的profile项将变红和报错提示。
例如,处理ws配置变更:
说明
不建议使用
merge
修改:prepend-rules
、append-rules
、prepend-proxies
、append-proxies
、prepend-proxy-groups
、append-proxy-groups
。原因就是不太灵活。正如官方文档中所述,启用的Merge
和Script
会对所有的profile
生效,因此建议的都使用Script
脚本形式修改