LunaTV 提供两个独立的 Cloudflare Worker 代理配置,分别用于 TVBox 和网页播放加速。
LunaTV 提供两个完全独立的代理开关,互不影响:
| 配置类型 | 位置 | 影响范围 | 用途 |
|---|---|---|---|
| TVBox 代理 | TVBox 安全配置 | 仅 TVBox 配置接口 | 为 TVBox 应用提供加速 |
| 视频源代理 | 视频源配置 | 仅网页播放 | 为 LunaTV 网页播放提供加速 |
为什么要分开?
- 🎯 灵活控制:可以只为 TVBox 启用代理,网页播放不使用
- 🔧 独立调试:出问题时可以分别排查
- 📊 流量管理:分别控制不同场景的流量
适用场景:加速 TVBox 应用的视频源访问
配置步骤:
- 登录 LunaTV 管理后台
- 进入 TVBox 安全配置 页面
- 找到 Cloudflare Worker 代理(TVBox专用) 区域
- 开启代理开关
- 配置 Worker 地址(默认:
https://corsapi.smone.workers.dev) - 点击 保存配置
效果:
- TVBox 订阅链接 (
/api/tvbox) 中的所有源自动使用代理 - 示例:
https://lovedan.net/api.php/provide/vod→https://corsapi.smone.workers.dev/p/lovedan?url=https://lovedan.net/api.php/provide/vod
适用场景:加速 LunaTV 网页播放的视频源访问
配置步骤:
- 登录 LunaTV 管理后台
- 进入 视频源配置 页面
- 找到页面顶部的 Cloudflare Worker 代理加速 区域
- 开启代理开关
- 配置 Worker 地址(默认:
https://corsapi.smone.workers.dev) - 点击 保存代理配置
效果:
- 网页播放时,所有通过
/api/proxy/cms的请求自动使用 Worker 代理 - 提升搜索、详情、播放等功能的访问速度
原始源地址
↓
检测是否已有代理(?url= 参数)
↓
如果有 → 提取真实地址
↓
生成唯一路径 /p/{sourceId}
↓
构建 Worker 代理 URL
↓
转发所有 API 参数(ac, ids, pg 等)
↓
Worker 请求真实源站
↓
返回数据
场景 1:普通源
原始:https://lovedan.net/api.php/provide/vod
代理:https://corsapi.smone.workers.dev/p/lovedan?url=https://lovedan.net/api.php/provide/vod
场景 2:已有旧代理的源
原始:https://old-proxy.com/?url=https://lovedan.net/api.php/provide/vod
提取:https://lovedan.net/api.php/provide/vod
新代理:https://corsapi.smone.workers.dev/p/lovedan?url=https://lovedan.net/api.php/provide/vod
场景 3:带参数的 API 调用
TVBox 调用:/p/lovedan?url=https://lovedan.net/api.php/provide/vod&ac=list&pg=1
Worker 转发:https://lovedan.net/api.php/provide/vod?ac=list&pg=1
- ✅ 自动去重:检测并替换源中已有的旧代理
- ✅ 唯一路径:每个源生成独立的
/p/{sourceId}路径,避免冲突 - ✅ 参数转发:完整转发 TVBox 和网页的所有 API 参数
- ✅ 降级机制:Worker 失败时自动使用本地代理
- ✅ 缓存优化:5 分钟响应缓存,减少重复请求
如果想部署自己的 Cloudflare Worker 服务:
- Cloudflare 账号
- GitHub 账号(用于 fork 项目)
选项 A:使用默认配置(推荐)
项目地址:CORSAPI
- Fork 项目到你的 GitHub
- 登录 Cloudflare Dashboard
- 进入 Workers & Pages
- 点击 Create Application → Create Worker
- 粘贴
_worker.js代码 - 点击 Deploy
- 复制你的 Worker 地址(如
https://your-worker.workers.dev)
选项 B:绑定自定义域名(可选)
- 在 Worker 设置中点击 Triggers
- 点击 Add Custom Domain
- 输入你的域名(如
proxy.example.com) - 等待 DNS 验证完成
- 进入对应的配置页面(TVBox 或视频源)
- 开启代理开关
- 将 Worker 地址填入 Cloudflare Worker 地址 输入框
- 保存配置
A:
- TVBox 代理:只影响 TVBox 订阅接口,修改 TVBox 配置文件中的源地址
- 视频源代理:只影响网页播放,加速浏览器访问视频源的速度
- 两者完全独立,互不影响
A: 不是!可以根据需求选择:
- 只用 TVBox → 只启用 TVBox 代理
- 只用网页播放 → 只启用视频源代理
- 两者都用 → 两个都启用
A: LunaTV 会自动检测并替换旧代理:
- 系统检测源地址中的
?url=参数 - 自动提取真实 API 地址
- 替换为你配置的新代理
- 这样可以统一管理所有源的代理
A: 有自动降级机制:
- 视频源代理:失败时自动使用 LunaTV 服务器本地代理
- TVBox 代理:TVBox 直接访问真实源站
- 不会影响正常使用
A: 可以,但建议自己部署:
- 默认地址是公共服务,可能有流量限制
- 自己部署可以完全控制,更稳定
- Cloudflare Worker 免费版每天 10 万次请求,个人使用足够
A: 正常情况下会加快速度:
- Cloudflare 有全球 CDN 节点
- 自动选择最近的节点访问源站
- 但如果源站本身就很快,可能不明显
TVBox 代理:
- 启用代理后保存配置
- 访问 TVBox 诊断端点:
/api/tvbox/diagnose?token=YOUR_TOKEN - 查看返回的源地址是否包含代理 URL
视频源代理:
- 启用代理后保存配置
- 打开浏览器开发者工具(F12)→ Network 标签
- 播放视频或搜索内容
- 查看请求是否经过 Worker(URL 中包含
/p/{sourceId})
A:
- 默认超时:20 秒
- 如需修改,需要在 Worker 代码中调整
setTimeout()参数
A: 支持所有主流 MacCMS API:
?ac=list- 获取列表?ac=detail- 获取详情?ac=class- 获取分类?ac=videolist- 获取视频列表- 所有参数自动转发
A: 不需要!
- 配置保存后立即生效
- 配置缓存会自动清除
- 下一次请求就会使用新配置
| 特性 | TVBox 代理 | 视频源代理 |
|---|---|---|
| 配置位置 | TVBox 安全配置 | 视频源配置 |
| 影响接口 | /api/tvbox |
/api/proxy/cms |
| 使用场景 | TVBox 应用订阅 | LunaTV 网页播放 |
| 代理方式 | 修改配置文件中的源地址 | 拦截 CMS 请求并代理 |
| 失败降级 | 返回原始源地址 | 使用本地代理 |
| 参数转发 | ✅ 支持 | ✅ 支持 |
| 自动去重 | ✅ 支持 | ✅ 支持 |
| 唯一路径 | ✅ /p/{sourceId} |
✅ /p/{sourceId} |
视频源代理使用白名单保护:
- 只允许代理符合 CMS API 模式的 URL
- 防止被滥用为通用代理
- 支持的模式:
?ac=,/api/vod,/provide/vod等
- 代理请求不记录日志(Worker 层面)
- 不缓存敏感信息
- 支持自定义部署,完全掌控数据
- ✨ 新增 TVBox 代理配置
- ✨ 新增视频源代理配置
- ✨ 支持自动检测和替换旧代理
- ✨ 支持为每个源生成唯一路径
- ✨ 支持完整参数转发
- ✨ 支持降级机制
- 📝 编写完整配置文档
欢迎提交 Issue 和 Pull Request 改进此功能!
项目地址:
本功能遵循项目主许可证,仅供学习和个人使用。
⭐ 如果这个功能对你有帮助,请给个 Star 支持一下!