在 Cloudflare 平台上完备部署 GitHub 项目 MoonTV 实现免费追剧流程

[复制链接]
发表于 3 天前 来自手机 | 显示全部楼层 |阅读模式
🎬 MoonTV 是一个开箱即用的、跨平台的影视聚合播放器。它基于 Next.js 14 + Tailwind CSS + TypeScript 构建,支持多资源搜刮、在线播放、收藏同步、播放记录、当地/云端存储,让你可以随时随地畅享海量免费影视内容。
仓库地址:https://github.com/senshinya/MoonTV
  

✨ 功能特性



  • 🔍 多源聚合搜刮:内置数十个免费资源站点,一次搜刮立即返回全源效果。
  • 📄 丰富详情页:支持剧集列表、演员、年份、简介等完备信息展示。
  • ▶️ 流畅在线播放:集成 HLS.js & ArtPlayer。
  • ❤️ 收藏 + 继续观看:支持 Redis/D1 存储,多端同步进度。
  • 📱 PWA:离线缓存、安装到桌面/主屏,移动端原生体验。
  • 🌗 响应式布局:桌面侧边栏 + 移动底部导航,自顺应各种屏幕尺寸。
  • 🚀 极简部署:一条 Docker 下令即可将完备服务跑起来,或免费部署到 Vercel 和 Cloudflare。
  • 👿 智能去广告:自动跳过视频中的切片广告(实验性)
1. Fork 仓库并同步主仓库


  • 登录 GitHub 后访问 MoonTV 官方仓库 → 点击 Fork 到你的账号下。

  • 若官方有更新,可在你 fork 的仓库页面利用 Sync fork 功能保持同步(GXNAS博客)。


2. 在 Cloudflare Pages 上创建部署项目


  • 登录 Cloudflare 控制台 → 转至 Pages → Create project

  • 选择你 fork 后的 GitHub 仓库作为项目源。



  • 设置构建下令为:
    1. pnpm install --frozen-lockfile && pnpm run pages:build
    复制代码
    框架选择 “None”,构建输出目次设置为:
    1. .vercel/output/static
    复制代码




  • 首次部署乐成后必要进入设置,将兼容性标志设置为 nodejs_compat,并新增 PASSWORD 密钥(变量和机密下),而后重试部署。



   假如不设置密码,会有如下提示,以是还是设置一下密码

  
4. 外网访问

根据以上步调部署完成后就可以通过生成的免费域名反问了,不外这个域名很可能被墙。

5. 设置自界说域名实现国内访问


  • 点击自界说域–>设置自界说域。

  • 这里设置托管在Cloudflare上的域名,可以参考这里获取和托管域名:https://blog.csdn.net/loutengyuan/article/details/149096491?spm=1011.2415.3001.5331

  • 设置好域名后点击激活域,几分钟后就可以访问了。

6. 可选:利用 Cloudflare D1 数据库实现跨设备数据同步

启用 D1 支持后,MoonTV 可以把播放记录、收藏等存储在数据库中,而非仅当地浏览器。

  • 在 Cloudflare 控制台 -> Storage & Databases → D1,创建一个新数据库。
  • 实行自由 ID 初始化脚本(通常在 README 或项目文件夹中的 D1初始化.md)来创建表结构和初始化数据(GitHub)。
  • 添加环境变量:
    1. NEXT_PUBLIC_STORAGE_TYPE = d1
    2. USERNAME = <管理员用户名>
    3. PASSWORD = <管理员密码>
    复制代码
  • 重新部署完成后,即可访问 /admin 页面管理用户,并开启注册功能或停用注册(GitHub, GXNAS博客)。

7. 后续维护与更新同步



  • 在 GitHub 中开启 .github/workflows/sync.yml 自动同步 upstream 更新。
  • 利用 GitHub「Sync fork」功能手动同步主仓库。
  • 每次同步后都必要重新构建部署。
  • 可通过 config.json 自界说更多站点设置,例如公告、站点名称、搜刮页数等变量(GitHub)。

小贴士 / 注意点



  • 构建输出目次 .vercel/output/static
    即利用于 Cloudflare Pages 也不要修改。
  • 构建下令必要利用 pnpm 环境;如你截图中利用 npm 或 yarn,也可以替换为对应下令。
  • 若页面无法革新内容,可能是 Cloudflare EdgeOne 与 MoonTV 不兼容的问题,建议优先接纳 Pages + nodejs_compat 标志部署(GitHub, GitHub)。
  • OrionTV 可作为电视端客户端利用,MoonTV 可作为厥后端数据源功能,可后续扩展此支持(老E的博客)。
  • 假如你截图中展示了 config.json 的具体字段(如 Douban 代理、搜刮页数等),请将其直接加入 Fork 仓库后同步至云端部署。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表