
LunaTV 配置订阅三步上手3 分钟让播放源自动同步【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议禁止任何商业化行为任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTV部署完 LunaTV它还是没播放源的空壳。本文带你在 3 分钟内用配置订阅功能接入播放源自动同步只走最短路径不展开原理。⚡ 快速上手3 步完成配置订阅1. 打开管理后台在哪里浏览器登录你部署时设置的站长账号即 USERNAME 环境变量对应的账号访问/admin路径。 做什么直接用站长身份登录不需要其他操作。 做完能看到什么页面里有一个配置订阅卡片右上角显示最后更新时间首次是从未更新。页面代码见 src/app/admin/page.tsx。2. 粘贴订阅地址并拉取在哪里配置订阅卡片顶部的订阅URL输入框。 做什么把订阅链接粘进去要求是配置文件经 Base58 编码后通过 HTTP 提供服务的地址点拉取配置按钮。 做完能看到什么弹出配置拉取成功提示解码后的 JSON 配置自动填入下方编辑器最后更新时间刷新。如果按钮一直转圈后报错多半是链接格式不对原因见下文坑位一节。拉取逻辑在 src/app/api/admin/config_subscription/fetch/route.ts。3. 打开自动更新并保存在哪里卡片下方的自动更新开关和保存按钮。 做什么把自动更新拨到开启状态点保存。 做完能看到什么弹出配置文件保存成功回到首页就能看到搜索、热门电影和继续观看内容了。机制速览拉取时到底发生了什么订阅链接本身不神秘提供方把完整 JSON 配置做 Base58 编码挂到 HTTP 地址上。你的实例拉取时服务器端去请求这段文本并解码作为新配置内容返回给页面。// src/app/api/admin/config_subscription/fetch/route.ts 核心两步 const decodedBytes bs58.decode(configContent); const decodedContent new TextDecoder().decode(decodedBytes);白话说先解码、后回填点保存时才会校验 JSON 语法并写入数据库存储方式不支持 localstorage。保存接口见 src/app/api/admin/config_file/route.ts。自动更新开启后定时任务会重新拉取并直接落库无需人工确认。Vercel 部署在 vercel.json 里配置了每天凌晨 1 点触发/api/cron自建 Docker 需要外部定时器定时请求 src/app/api/cron/route.ts 这个路径。高频坑位拉取或保存失败的常见原因坑名现象规避方法用错账号拉取/保存提示权限不足只有站长可以拉取配置订阅退出改用部署时的 USERNAME 站长账号重新登录订阅源未 Base58 编码点拉取直接提示拉取配置失败先用浏览器打开链接应看到一串 base58 文本若直接是 JSON找提供方重新编码本地存储模式保存提示不支持本地存储进行管理员配置把 NEXT_PUBLIC_STORAGE_TYPE 设为 kvrocks、redis 或 upstash 后重新部署手动改坏 JSON保存提示配置文件格式错误请检查 JSON 语法恢复为拉取后的原始内容或补齐漏掉的逗号、括号再保存自建环境没定时任务自动更新开着但最后更新从不变化Vercel 自带触发Docker 需自己加定时器定期请求/api/cron分场景用法单机、多实例、自建订阅单机自用播放源变动不频繁的话建议保持自动更新关闭发现新源时手动拉取一次再保存。好处是订阅链接临时失效时不会在定时任务里把正在用的配置冲掉。可选扩展在 JSON 编辑器里手动加custom_category给导航补几个自定义分类字段说明见 README 的配置文件一节。多实例同步管着好几台实例时让每台都把订阅 URL 指向同一条链接、都开自动更新。改源只在一处修改并重新发布其余实例在下次定时任务后全部跟上不用再逐台粘贴 JSON。自建订阅给别人用把你编辑器里的配置 JSON 做 Base58 编码放到一个可公开访问的 HTTP 地址把链接分享出去即可。README 的订阅一节就是这个说法。配好后用户端能在播放页直接看到多源列表和清晰度点换源就能切换配完这步播放源更新就交给定时任务了。下一步看 README 的配置文件一节把 custom_category 分类补齐。【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议禁止任何商业化行为任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTV创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考