🚀MoonTV 完整部署教程|免费搭建影视聚合平台!支持 Cloudflare Pages + 自动更新 + 多资源接口

####

fm

MoonTV 是一个基于 Next.js 构建的影视聚合搜索和播放平台,支持多家资源站的聚合内容,拥有简洁的前端、自动适配的播放接口、移动端优化,适合部署在 Cloudflare Pages 上,无需服务器、数据库或中转后端,即可免费运行。

本教程将手把手教你在 Cloudflare Pages 上部署自己的 MoonTV,并介绍其特色功能如:深色模式、PWA、聚类搜索等。

🧰 在正式部署前,你需要准备以下内容:

项目 说明
✅ GitHub 账号 用于 Fork 项目并自动部署代码(https://github.com)
✅ Cloudflare 账号 用于 Pages 免费部署和绑定自定义域名(https://dash.cloudflare.com)
🌐 自定义域名(可选) 如果你希望使用自己的域名,如 tv.hans.com,可提前注册好

一、MoonTV Cloudflare Pages 快速部署指南

1️⃣ Fork 项目


2️⃣ 创建 Cloudflare Pages 项目

  1. 登录 Cloudflare,进入「Workers & Pages」> Pages
  2. 点击 导入现有Git存储库,选择 Connect to Git
  3. 授权你的 GitHub 仓库,选择刚刚 Fork 的 MoonTV 项目
  4. 填写构建信息:
项目 设置内容
Build command pnpm install --frozen-lockfile && pnpm run pages:build
Output folder 保持空白
Framework preset 选择 None

3️⃣ 添加环境变量(推荐设置)

点击 Pages 项目 > 设置 > 变量和机密,添加以下变量:

名称 示例值 说明
PASSWORD 123456 启用访问密码
SITE_NAME Hans影视库 页面标题
ANNOUNCEMENT 本站仅提供影视信息搜索服务 公告栏说明
NEXT_PUBLIC_STORAGE_TYPE localstorage 必须填写此项,否则出错
NEXT_PUBLIC_ENABLE_REGISTER false 静态部署不建议开启注册
NEXT_PUBLIC_SEARCH_MAX_PAGE 10 搜索最大页数
NEXT_PUBLIC_AGGREGATE_SEARCH_RESULT true 聚合同名搜索结果

设置完成后,回到 Overview 页面,点击 重试部署 以使环境变量生效。

4️⃣绑定自定义域名(可选但推荐)

将你的站点绑定到自己的域名,如 tv.hans.com,更专业好记!

🔧 步骤如下:

  1. 打开 你的项目 → 点击「自定义域」

  2. 输入托管到CloudFlare域名」绑定即可


二、配置资源站接口(config.json)

打开你的仓库,修改根目录下的 config.json 文件,添加或替换资源站:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"cache_time": 7200,
"api_site": {
"ffzy": {
"api": "http://ffzy5.tv/api.php/provide/vod",
"name": "非凡影视"
},
"zuid": {
"api": "https://api.zuidapi.com/api.php/provide/vod",
"name": "最大资源"
},
"ikun": {
"api": "https://ikunzyapi.com/api.php/provide/vod",
"name": "iKun资源"
}
}
}

常用免费资源推荐:

名称 接口地址
极速资源 https://jszyapi.com/api.php/provide/vod
非凡影视 http://ffzy5.tv/api.php/provide/vod
魔爪资源 https://mozhuazy.com/api.php/provide/vod
卧龙资源 https://wolongzyw.com/api.php/provide/vod
最大资源 https://api.zuidapi.com/api.php/provide/vod
无尽资源 https://api.wujinapi.me/api.php/provide/vod

📌 Tips:

  • 建议选择资源质量高、更新快、可访问性强的源
  • 每次修改后直接 Commit 到 main 分支,Cloudflare Pages 会自动构建更新

三、功能亮点展示

1️⃣ 深色模式(护眼模式)

  • 默认根据系统自动适配亮/暗主题

  • 优先使用上一次用户选择的记录(本地缓存)

  • UI 统一美观,夜晚观影更护眼
    image-20250710063333831


2️⃣ PWA 原生应用体验

  • 支持安装为桌面/手机 App
  • 离线访问主页、收藏夹、播放历史等缓存内容
    IMG_47644B0E6D8B-1

3️⃣ 搜索结果聚类(降低心智负担)

  • 默认按“标题+年份”聚合结果
  • 一目了然,避免重复资源混乱
    image-20250710063421245

4️⃣播放器内核更换为 VidStack

  • 相比 ArtPlayer 更稳定、支持更强弹幕控制

  • 完善适配移动端手势,播放体验更佳


5️⃣ 实验性功能:跳过片头广告

  • 默认开启(可通过环境变量关闭)
  • 有效跳过资源站点注入的片头广告段落

image-20250710063602929


四、MoonTV 与 LibreTV 的区别

特性 MoonTV LibreTV
前端框架 Next.js + App Router Vue + Element UI
播放器 VidStack DPlayer
聚合能力 支持资源搜索、播放、收藏、记录 聚焦于播放(无聚类)
UI 体验 现代、移动优化、深色、PWA 简洁经典
同步更新 支持 GitHub Actions 自动同步 手动设置

MoonTV 是一个轻量、开源、聚合、多源影视搜索平台,适合喜欢轻部署、简约 UI、功能清晰的用户。通过 Cloudflare Pages + GitHub Actions 实现零服务器、自动更新,非常适合个人使用或分享。

如果你喜欢本项目,欢迎:

  • Star ⭐ 项目支持作者:MoonTV 仓库
  • 分享给你的朋友
  • 提出改进建议,共建更好开源项目!