Skip to content

规则系统概览

anx-rule/2 是 AniBaka 当前规则格式。它用 JSON 数组描述数据如何在搜索、详情和播放三个阶段流动。

为什么使用管线

  • 可序列化:规则可以远程订阅、缓存、比较版本和导入导出。
  • 可校验:未知操作符、缺失参数和非法正则可以在安装前暴露。
  • 可测试:解释器可以搭配假宿主做确定性单测。
  • 可维护:常见站点模式由配方或通用操作符复用。
  • 可回退first 允许多个解析策略按顺序试跑且状态隔离。

三个阶段

阶段固定输入结构化输出常见步骤
searchkeywordList<Series>fetchsearchListjsonSeries
detailseriesIdList<Source>followepisodesjsonEpisodes
playepisodeIdURL + 媒体元数据followplayerAaaajsonsetMediaHeaders

当前分发格式

官方 v2 规则文件以明文 JSON维护,方便审查与贡献。SourceCodec 仍兼容以下历史或分享格式:

  • 裸 JSON。
  • baka://:gzip + Base64URL。
  • bakax://:gzip + AES-256-CBC + Base64URL。
  • 包含 pack 字段的 JSON 包装。

这些兼容格式不代表新规则应该继续加密。提交到当前 v2 规则库时使用可审查的明文 anx-rule/2

规则仓库

rule/index.json 使用 anx-rulehub/2,每个条目包含:

  • key:规则稳定标识。
  • titleintrositebadge:展示元数据。
  • rev:更新版本号。
  • ref:相对规则文件路径。
  • engine:应为 anx-rule/2

客户端解析索引、按 ref 获取规则、静态校验并安装。版本更新依赖 rev,规则内容变化时必须同步递增。

配方

规则可以声明配方,当前内置:

  • maccms:在未显式提供阶段时填充常见 suggest 搜索、详情列表和 player_aaaa 播放链。
  • player_aaaa:填充常见 MacCMS 播放器解析与 videoUrl 回退。

显式管线优先,配方只补全空阶段。

文档内容采用项目许可证约束;第三方站点与内容不由 AniBaka 提供。