订阅脚本:main、config 与 profileName 分别是什么
脚本使用 JavaScript,main 接收配置对象并返回处理后的内容。profileName 提供当前配置名称,自 v1.7.3 加入;运行环境是 boa_engine,没有网络与文件读写能力。
脚本怎样接收配置?
指南要求入口函数名为 main,接收配置参数并返回处理后的值。 文档把参数写成 config,参数名称可以自行命名。config 对象由 YAML 订阅内容转成 JSON 得到,脚本处理的是转换后的对象,不是直接替你寻找一个外部文件。
这里可以分清输入与输出:输入是待处理配置对象,返回值是处理结果。只描述函数接收内容还不完整,指南还明确写到返回修改后的值。
| 名称 | 指南中的用途 |
|---|---|
| main | 入口函数,名称固定 |
| config | 配置对象参数,参数名可改 |
| 返回值 | 处理后的配置内容 |
配置名称参数是什么?
profileName 提供的字符串,就是当前配置的名称。 它是字符串参数,名称也可以自行命名,自 v1.7.3 加入。这个版本号对应参数加入时间。
指南的示例先判断名称,符合指定配置时才修改,否则原样返回。这是一种按配置分别处理的思路。
profileName 说明正在处理哪份配置,不代表脚本能读取任意文件或取得文件内容。
参数名称与参数值也不是一回事。你可以改参数在函数中的名字,但它提供的仍是当前配置名称。
脚本能访问网络吗?
指南说 JavaScript 由 boa_engine 运行,没有网络和文件读写能力。 因此这里不提供请求远程内容、读取本地路径或写入文件的脚本。运行语言是 JavaScript,不等于所有其他 JavaScript 环境的接口都在这个环境中提供。
网络请求能力与传入 config 对象也不同。脚本可以处理传入对象,不表示它能自动去外部地址更新配置。
| 能力范围 | 指南说明 |
|---|---|
| 处理配置对象 | 通过传参修改并返回 |
| 按配置名称判断 | 示例有对应做法 |
| 网络访问 | 不具备 |
| 文件读写 | 不具备 |
指南示例还展示了什么?
示例涉及检查 proxies,以及在规则前插入自定义内容。 找不到 proxies 时,示例会抛出错误。这是示例的处理方式,不是全部脚本出错都显示相同提示,也没有提供你当前配置对象的实际内容。
规则插入示例说明脚本可以调整配置。
main 的输入输出、名称条件与示例动作共同说明脚本如何处理对象,却没有给界面操作步骤。不能因为知道函数怎么写,就补出应用里启用脚本的菜单。
官方还没有说明什么?
界面中启用与编辑脚本的具体入口,以及报错日志位置,官方没有说明。 配置对象与参数已说明,应用怎么打开编辑器仍是另一个问题。
页面只有 2023–2026 版权范围,没有具体发布日期。boa_engine 与能力限制可能随版本变动,不能从版权年份推导这些内容从何时起生效。
相关配置检查可看 Clash 配置资料,其他问题见 脚本与客户端常见问题。这里不提供实际脚本、连接内容或未说明的外部接口,不把参数介绍扩写成可直接运行的完整程序。
核对状态:依据:官方文档与通用说明 · 最近核对 2026-11-01