Skip to main content
扩展名:.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
最后修改于 2026年7月24日