在线测试 管理后台

接入文档

三种接入方式按改造成本排序,任选其一。清洗只处理几 KB 的 m3u8 清单文本,正片分段始终直连源站 CDN,不经过本平台。

01播放地址加前缀(通用,推荐)

把站内所有资源站 m3u8 播放地址前拼接:

https://adc.butuan.cn/p?url=【原m3u8地址】

地址含 & 等参数时建议做 URL 编码;不含参数的资源站直链可以不编码直接拼接。

02苹果CMS V10 配置(改一处,全站生效)

  1. 后台 → 视频 → 播放器,找到资源站对应的 m3u8 播放器(如 m3u8 / json_m3u8),点编辑
  2. 解析前缀 填入:https://adc.butuan.cn/p?url=
  3. 保存后清一下 CMS 缓存,前台播放即走清洗

如果你的模板没有使用解析前缀字段,改播放页模板:找到输出播放地址的变量,套上代理前缀并编码:

原:{$maccms['vod_data'][0]['url']} 改:https://adc.butuan.cn/p?url={$maccms['vod_data'][0]['url']|urlencode}
不同模板变量名不同,关键是找到输出 .m3u8 地址的那一行,套上前缀即可。

03H5 站引用 clean.js(自动接管)

在播放页 </body> 前加一行:

<script src="https://adc.butuan.cn/clean.js"></script>

脚本会自动:改写页面上所有 .m3u8 链接与 video 地址;尽力改写苹果CMS模板的 player_aaaa.url 配置;暴露全局函数 ADCLEAN.proxy(url) 供你自己的播放器代码调用。

clean.js 依赖执行时机,部分模板先生效后加载会导致接管不到。最可靠仍是方式一/二。

04App 端接入

播放器取到播放地址后(或请求播放列表接口时),把 m3u8 地址替换为代理地址即可,播放器逻辑零改动:

GET https://adc.butuan.cn/api/clean?url={原地址} 返回 JSON:{ report: 清洗报告, playlist: 净化后清单 }

或直接把代理地址交给播放器:

player.play("https://adc.butuan.cn/p?url=" + URLEncoder.encode(url, "UTF-8"));

05API 参考

端点说明
GET /p?url=清洗代理,直接返回净化后的 m3u8(主清单自动跟随)。参数:raw=1 返回原始清单;key= API Key
GET /api/clean?url=JSON:report(主清单+变体聚合清洗报告)+ playlist 净化后清单
GET /api/stats?hours=24平台用量统计
POST /api/purge?url=|all=1清除缓存
GET /healthz健康检查

06常见问题