本项目来自LibreSpark大佬
项目地址
https://github.com/senshinya/MoonTV
示例地址
https://tv.tnas.xin

MoonTV
✨ 主要特性
🔍 多源聚合搜索:内置数十个免费资源站点,一次搜索立刻返回全源结果。
📄 丰富详情页:支持剧集列表、演员、年份、简介等完整信息展示。
▶️ 流畅在线播放:集成 HLS.js & VidStack。
❤️ 收藏 + 继续观看:Docker 部署支持 Redis 存储,多端同步进度。
📱 PWA:离线缓存、安装到桌面/主屏,移动端原生体验。
🌗 响应式布局:桌面侧边栏 + 移动底部导航,自适应各种屏幕尺寸。
🚀 极简部署:一条 Docker 命令即可将完整服务跑起来,或免费部署到 Vercel。
👿 智能去广告:自动跳过视频中的切片广告(实验性)
🌐CMS采集站源兼容性
本项目支持标准的苹果CMS V10 API格式。自定义API需遵循以下格式:
搜索接口: https://example.com/api.php/provide/vod/?ac=videolist&wd=关键词
详情接口: https://example.com/api.php/provide/vod/?ac=detail&ids=视频ID
🚀 部署指南
- 打开飞牛NAS
- 打开【Docker】,点击【Compose】
- 击【新增项目】
- 随便输入个项目名称(请不要使用中文),然后点击【路径】
- 击【Docker】文件夹,再点击【新建文件夹】
- 输入一个文件夹名称(请不要使用中文),接着点击【确定】
- 确认没问题之后点击【确定】
- 来源选【创建docker-compose.yml】
复制下面内容,粘贴到【1】的后面
local storage 版本
services: moontv: image: ghcr.io/senshinya/moontv:latest container_name: moontv restart: unless-stopped ports: - '3000:3000' environment: - PASSWORD=your_password # 如需自定义配置,可挂载文件 # volumes: # - ./config.json:/app/config.json:roRedis 版本(推荐,多账户数据隔离,跨设备同步)
services: moontv-core: image: ghcr.io/senshinya/moontv:latest container_name: moontv restart: unless-stopped ports: - '3000:3000' environment: - USERNAME=admin - PASSWORD=admin_password - NEXT_PUBLIC_STORAGE_TYPE=redis - REDIS_URL=redis://moontv-redis:6379 - NEXT_PUBLIC_ENABLE_REGISTER=true networks: - moontv-network depends_on: - moontv-redis # 如需自定义配置,可挂载文件 # volumes: # - ./config.json:/app/config.json:ro moontv-redis: image: redis container_name: moontv-redis restart: unless-stopped networks: - moontv-network # 如需持久化 # volumes: # - ./data:/data networks: moontv-network: driver: bridge- 如果你的服务器是在国内的话,需要使用代理,否则会很慢。
- 我使用的是
http://ghcr.nju.edu.cn如果不能获取数据说明代理过期,需要自己寻找。 - 弄好之后,勾选【创建项目后立即启动】,最后点击【确定】
- 提示【Container moontv Started】说明项目已经开始了,可以把这个黑框【x】掉。
- 这样,项目就创建完成了。
打开浏览器,输入【飞牛ip:3000】
我这里是192.168.1.15:3000
- 我这边配置了密码,进入之后就会有【公告】
- 进入之后就可以开始搜索使用了
🔧 环境变量
- USERNAME redis 部署时的管理员账号
- PASSWORD 默认部署时为唯一访问密码,redis 部署时为管理员密码
- SITE_NAME 站点名称 默认MoonTV
- ANNOUNCEMENT 站点公告 任意字符串 本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。
- NEXT_PUBLIC_STORAGE_TYPE 播放记录/收藏的存储方式 localstorage(本地浏览器存储)、redis(仅 docker 支持) 默认localstorage
- REDIS_URL redis 连接 url,若 NEXT_PUBLIC_STORAGE_TYPE 为 redis 则必填 连接 url 默认为空
- NEXT_PUBLIC_ENABLE_REGISTER 是否开放注册,仅在 redis 部署时生效 true / false 默认false
- NEXT_PUBLIC_SEARCH_MAX_PAGE 搜索接口可拉取的最大页数1-50 默认5
- NEXT_PUBLIC_AGGREGATE_SEARCH_RESULT 搜索结果默认是否按标题和年份聚合
因为流量不会经过NAS,也就不会占用家里的上行带宽。体验真的还不错哦!
想要什么随时搜,也不用担心会撑爆NAS的硬盘空间了!手机端和电脑端体验都不错~
评论 (0)