
LunaTV配置订阅一次拉取完成播放源更新【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议禁止任何商业化行为任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTVLunaTV配置订阅能把远端地址上的播放源配置拉取下来直接写入本地实例的配置文件。配置更新频繁或管理多个实例时它可以替代手动逐行编辑配置的做法。配置订阅在 LunaTV 中的角色定位LunaTV 部署完成后实例本身并不带任何影视源管理后台需要手工维护一份配置文件的 JSON 内容它决定哪些下游 API 参与搜索、分类怎么划分。LunaTV配置订阅功能就是针对这份手工维护的操作做的把订阅地址填进后台系统替你完成拉取、解码、回写本地配置这三步。新增源、替换失效源不再需要逐条改字段多个实例指向同一个订阅地址即可保持配置一致。它与手工配置共用同一个保存入口位于管理后台的配置文件区域。操作前确认部署条件确认当前登录账号是站长拉取与保存接口都会校验用户名非站长账号会返回 401。确认部署的存储类型为 redis、kvrocks、upstash 等远程方式本地存储localstorage不支持管理员配置写入。确认服务器能直接访问公网拉取订阅依赖服务端对订阅地址发起请求。确认拿到的订阅地址符合要求其内容应为 Base58 编码后的 JSON 字符串。拉取远端配置的完整流程登录管理后台后在左侧菜单进入配置文件区域。页面顶部是配置订阅卡片包含订阅URL输入框、自动更新开关以及右上角的最后更新时间显示首次配置时这里会显示从未更新。把订阅地址填入输入框点击拉取配置。按钮会先进入转圈的加载态请求完成后页面弹出配置拉取成功提示同时下方配置文件编辑区会被填入解码后的内容。这时值得先浏览一遍内容核对源条目是否符合预期不满意就直接重新拉取不必急着保存。内容确认无误后点击右下方保存。保存成功会提示配置文件保存成功卡片右上角的最后更新时间同步刷新为当前时间。保存前如果顺手打开自动更新开关之后系统会定期自动拉取最新配置cron 任务在服务端启动后立即执行一次之后每小时执行一次。配置生效后可以在前台验证首页每张卡片下方都会标注来源站点继续观看与热门列表都基于当前配置渲染。理解配置订阅的数据流与校验逻辑一次手动拉取的完整链路是页面把订阅地址 POST 给配置订阅拉取接口服务端 fetch 该地址拿到原文做 Base58 解码后返回页面展示。保存动作再 POST 给配置文件接口先做 JSON.parse 格式校验通过后才把配置文件、订阅地址、自动更新开关一并写入管理员配置。核心校验逻辑就是解码这一步const decodedBytes bs58.decode(configContent); decodedContent new TextDecoder().decode(decodedBytes);定时更新与手动拉取走的是同一套校验路径。cron 任务的自动更新逻辑只在订阅地址与自动更新开关都已保存时才会执行fetch、Base58 解码、JSON 校验全部通过才覆盖配置文件并记录 LastCheck 时间。播放页右侧的多源列表就来自配置文件里的视频源条目每个源的码率与响应时间都会实测展示。处理拉取与保存的常见失败现象点击拉取配置返回权限不足只有站长可以拉取配置订阅。原因当前登录账号不是环境里配置的站长账号。处理改用站长账号登录后再操作。现象拉取返回拉取配置失败500。原因Base58 解码失败通常是订阅地址内容并非 Base58 编码比如直接放了明文 JSON。处理用浏览器打开该地址查看原文是明文 JSON 则更换合规的订阅地址或联系发布方重新编码。现象拉取成功但保存时报配置文件格式错误请检查 JSON 语法。原因解码后的内容不是合法 JSON或订阅源编码损坏。处理检查编辑区填入的内容若是乱码说明订阅源本身有问题重新核对地址。现象自动更新开着但配置一直不刷新。原因cron 任务要求订阅地址与自动更新开关都已保存才触发缺一项即跳过。处理检查管理后台两项是否都已保存再观察最后更新时间是否按小时推进。基础流程之外的三个扩展方向发布自己的订阅源把管理员配置做 Base58 编码后放到一个可公开访问的地址其他站长就能订阅你实例上的源配置。多实例同步多台 LunaTV 部署指向同一订阅地址并开启自动更新配置变更在一处发生各实例自动跟进。配合数据备份管理后台提供数据导出与恢复入口应用较大变更前先导出一份备份出问题可以回滚。下一步从订阅到配置治理跑通订阅流程后可以花时间读一遍配置文件结构弄清哪些字段控制视频源、哪些控制自定义分类这样每次订阅更新时能看懂变化。后续如果需要维护多套源配置也可以了解数据导出与恢复流程把配置纳入版本管理。【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议禁止任何商业化行为任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTV创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考