修改标量字段
修改端口.js
修改端口 diff.js
按条件修改
条件修改.js
mode 为 rule 时:
添加对象字段
添加 DNS 字段.js
添加 DNS 字段 diff.yaml
使用 deepMerge 添加规则
添加规则.js
添加规则 diff.yaml
MATCH.如果原列表没有把 MATCH 放在最后,脚本也不会替你修正.
替换对象或数组
替换 DNS.js
替换 DNS diff.yaml
过滤代理
过滤代理.js
过滤代理 diff.yaml
profile.proxies 不是数组,脚本会使用空数组,最终得到 proxies: [].
修改命名策略组
修改策略组.js
修改策略组 diff.yaml
PROXY,脚本不会创建新的策略组,也不会报错.
读取远程 YAML
远程 YAML.js
远程 YAML 结果 diff.yaml
读取远程 JSON
远程 JSON.js
payload.port 不是数字,脚本会保留原来的 mixed-port.
请求头和请求体
POST 请求.js
日志和异常
记录并抛错.js
- 当前覆写写入
[exception] 脚本执行失败. - 不会继续执行后续覆写.
- 普通配置会返回脚本错误和文件路径.
- 加密配置不会在错误或日志中暴露配置内容和路径.
返回错误值
返回数组.js
缺少 main.js
多个 JavaScript 覆写
文件按绑定顺序执行,后一个脚本接收前一个脚本的返回值:第一个脚本.js
第二个脚本.js
JavaScript 覆写链结果 diff.yaml
main 时,不会复用第一个脚本的函数,而是直接失败.