LunaTV 配置订阅 3 步上手:从拿到订阅地址到自动更新
【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议,禁止任何商业化行为,任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTV
刚把 LunaTV 跑起来的那天晚上,你大概率会卡在同一个地方:首页能打开,但搜索半天,一个能播的结果都出不来——项目部署完就是个空壳,播放源要自己收集。你挨个记下每个资源站的接口地址,手敲进 JSON 配置,存盘、刷新、祈祷没有拼错引号。过几周某个源失效了,又得从头再来一遍。这篇文章教你用 LunaTV 的配置订阅功能,把这些活一次性交给系统。
功能速览
- 是什么:管理后台"配置文件"页里的一块"配置订阅"区域。你填一个订阅地址,点一下,系统就去把别人整理好的播放源配置拉下来、解码、填进你的配置编辑器。
- 替谁省了手工活:不用再找接口、敲 JSON、核对格式、逐个重启验证。
- 适合谁:刚部署完、手里还没积累源的新手;或者同时维护多个实例、想统一配置的人。
订阅源本身很朴素:一段按 Base58 规则编码过的 JSON 文本(Base58 可以理解成一种"把配置文件压缩编码成一长串字母"的格式,方便公网传输),托管在一个公开 URL 上。
分步上手
怎么找到一份能用的订阅地址
订阅地址没有"官方内置"这一说,两个来路:
- 找社区里活跃的同好,要一份他们正在用的订阅地址;
- 找一个你验证过、配置齐全的 LunaTV 站点,把它的配置导出后按 Base58 编码,放到任何能公开访问的 URL 上,它就是你的订阅源了。
地址形态就是一行 URL,类似https://example.com/config.json。注意:内容必须已经按 Base58 编码过,裸的 JSON 文本拉下来也会直接失败。
后台里的订阅卡片在哪
用站长账号登录你的实例,进管理后台,打开"配置文件"页。页面上半部就是"配置订阅"卡片,四个元素:
- 订阅 URL 输入框(下方提示:要求 JSON 格式且使用 Base58 编码)
- "拉取配置"按钮
- "自动更新"开关
- 右上角"最后更新"时间(没同步过会显示"从未更新")
拉取和保存背后分别是 src/app/api/admin/config_subscription/fetch/route.ts 与 src/app/api/admin/config_file/route.ts 两个接口,感兴趣可以翻一眼源码。
粘贴地址,点拉取
把订阅地址粘进输入框,点"拉取配置"。按钮会先显示"拉取中…",随后系统替你跑完三步:请求这个地址、把返回内容做 Base58 解码、把解码结果填进卡片下方的配置编辑器。成功时会弹出"配置拉取成功",你无需看懂那串编码,也不用自己复制粘贴。
看一眼内容,再保存
编辑器里现在躺着解码后的 JSON:播放源列表、分类规则都在这份文件里。扫一眼来源是否是你信任的那份,没问题就动两个开关再落盘:
- 打开"自动更新"——之后定时任务会定期按这个地址检查新配置,有更新就自动覆盖保存,频率逻辑在 src/app/api/cron/route.ts;
- 点右下角"保存",弹出"配置文件保存成功"即完成。
保存生效后,刷新前台页面,分类页和搜索里出现的新源就是订阅带进来的。顺手分享自己的配置给别人也只需一步:把编辑器里的配置文本按 Base58 编码,放到公开 URL,发出去即可。
避坑清单
拉取失败,先分清是哪一步挂了
错误分两种:URL 本身打不开(404、超时),说明订阅源失效了,找对方确认;能访问但 Base58 解码失败,说明对方发来的不是按 Base58 规则编码过的内容,换一份源。
保存时报"JSON 格式错误"怎么解
说明解码出来的内容不是合法 JSON,通常是对方发的文件本身不完整。别手动硬修,重新拉取一次,不行就换订阅源。
提示"权限不足"时是谁的问题
配置订阅的拉取和配置文件修改只对站长账号开放,系统会校验你的登录账号是否就是部署时设的 USERNAME。普通注册用户登录后台是看不到这些操作的,换站长账号重登即可。
为什么界面点不动、保存被拒绝
用本地存储方式部署的实例不支持在后台改配置,会直接返回"不支持本地存储进行管理员配置"。配置订阅要配合 Docker + 远程存储(如 Kvrocks)的部署方式使用,具体环境准备见 README.md 的部署章节。
收尾
到这里,你省掉的其实是三件事:手写 JSON、逐个验证源、盯源失效——自动更新开关打开后,对方一更新,系统定时拉取覆盖,你连后台都不用点。下一步:回后台确认"自动更新"是开着的,留意卡片右上角的"最后更新"时间,它就是你下一次手动介入前唯一要盯的东西。
【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议,禁止任何商业化行为,任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTV
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考