.js。必须定义 main(profile) 并返回配置对象。列表追加用 rules+,不是 YAML 的 rules-end。
main(profile)
object
必填
当前配置对象,可直接读写。
object
必填
返回配置对象,或 resolve 为对象的 Promise。返回
undefined / 数组 / 标量,或抛错时,当前脚本失败并保留执行前配置。main-sync.js
main-async.js
deepMerge(target, patch, isOverride)
object
必填
目标对象,就地修改并返回。
object
必填
合并内容。
boolean
默认值:"true"
true 时启用 +key / key+ / key! 修饰符。patch 键名
any
对象递归合并;数组替换;标量覆盖。
array
插入列表开头(
isOverride = true)。array
追加到列表末尾(
isOverride = true)。object
整字段替换。
any
字面量字段名。
deep-merge.js
内置 API
yaml
(text: string) => any
YAML 文本 -> 值。
(value: any) => string
值 -> YAML 文本。
fetch(input, init?)
仅支持 http://。
string | object
必填
URL,或含
url 的对象。string
默认值:"GET"
HTTP 方法。
object
请求头。
string | object
请求体;非字符串会
JSON.stringify。boolean
是否 2xx。
number
状态码。
string
状态文本。
string
请求 URL。
object
含
get / has / toJSON。Promise<string>
正文文本。
Promise<any>
JSON 解析。
Promise<any>
YAML 解析。
fetch-rules.js
console
写入脚本同目录、同主文件名的 .log。每次执行前重置。
function
写对应级别日志。age 加密配置下日志内容会脱敏。
Base64
(value: string) => string
UTF-8 -> Base64。
(value: string) => string
Base64 -> UTF-8。
function
utf-8 编码或 base64 解码的兼容接口。示例
filter-proxies.js
