原版 workerjs 是返回 302 状态码和 TVB 的视频 URL,但 tivi 不支持 302 跳转,所以只能获取直链
以下观点更新:经过测试暂时不清楚是否为 worker 被墙所致
====
另外是,你代码里面提供的 EPG,我今天(2024 年 6 月 10 日 12:15:16)用 OTT 发现部分频道读不出 EPG,放在浏览器里面显示 XML 代码有误,搜索发现出现错误的地方是节目名有个字符“&”,疑似是没有做处理
浏览器报错: This page contains the following errors: error on line 269 at column 22: xmlParseEntityRef: no name Below is a rendering of the page up to the first error.
该行内容:
<title>Kiki & Nuna 知識寶庫[粵/普]</title>
他代码里面例如翡翠台的是
'license_key': 'https://vercel-php-clearkey-hex-base64-json.vercel.app/api/results.php?keyid=0958b9c657622c465a6205eb2252b8ed&key=2d2fd7b1661b1e28de38268872b48480'
你访问这个 vercel 搭建的接口之后,得到的内容是
{ "keys":[ { "kty":"oct", "k":"/BRncamwlvxMtX/+dphhvg", "kid":"LARfWtsm05HMQc0B8AQW+g" } ], "type":"temporary" }
直接全部频道一个个换就行了,就不用走这个接口了
不用反代,直接根据 API 接口返回的内容替换 key(如果这个 key 永远不变),或者在 github 复刻 https://github.com/samleong123/vercel-php-clearkey-hex-base64-json 这个项目然后 vercel 部署一次加自定义域名就行,worker 代码也替换掉链接就行。