字
字节笔记本
2026年2月16日
打造你的私人 Netflix!TMDb 智能刮削 + 全网聚合 + 极速播放
API中转
¥120
本文介绍冬瓜TV(E视界增强版),一个基于 Node.js 和 Vue 3 的现代流媒体聚合播放器。该项目集成了 TMDb 元数据和 30+ 个影视资源站点,提供智能搜索、全网聚合、实时测速等功能,让你轻松打造私人 Netflix 体验。
项目简介
冬瓜TV(E视界增强版)是由 kk爱吃王哥呆阿龟头 设计编写、ednovas 优化部署流程的开源视频聚合平台。相比原版 dongguaTV,本作进行了全面重构和升级,在 UI/UX 上做了颠覆性改进,提供了 Netflix 级别的观影体验。
截至目前,该项目在 GitHub 上已获得 492+ Stars 和 611+ Forks。
核心特性
1. 双引擎数据驱动
- TMDb (The Movie Database):提供高质量的电影/剧集元数据,包括海报、背景图、评分、简介、演职员表
- CMS 聚合源 (Maccms):可集成多个自定义第三方资源站 API,自动进行全网测速,智能过滤失效源
2. 智能搜索与聚合
- 实时流式搜索 (SSE):采用 Server-Sent Events 技术,搜索结果边搜边显,即时反馈
- 智能关键词匹配:自动生成搜索变体,同时搜索中英文名,大幅提高命中率
- 自动英中翻译:检测到英文搜索词时,自动通过 TMDB 获取中文译名并一起搜索
- SQLite 永久缓存:内置高性能 SQLite 数据库缓存,支持无限存储,热搜词秒级响应
3. 沉浸式播放体验
- 影院模式:全新设计的播放详情页,采用暗色系沉浸布局,支持剧集网格选择
- 智能线路测速:支持用户端直连测速和服务器代理测速,真实反映视频可用性
- 自动故障转移:播放失败时自动切换到下一个可用线路,无需手动操作
- 投屏支持:集成 DLNA/AirPlay 本地投屏功能
- 智能广告过滤:自动检测并过滤 M3U8 流中的广告分段
4. 大陆用户优化
- 智能 IP 双重检测:采用 Cloudflare Trace + ipapi.co 双重检测机制,自动切换到 TMDB 反代模式
- 本地资源优先:核心依赖库均本地化部署,彻底解决 CDN 劫持或加载缓慢问题
- 一键安装脚本:支持交互式配置 API Key、反代地址、运行端口
5. 多端支持
- Android App:基于现代 Web 技术封装,支持沉浸式状态栏,体验原生级流畅
- PWA 支持:支持添加到主屏幕,即点即用
- TV 模式:一键开启遥控器导航模式,适配智能电视/盒子
技术栈
| 类别 | 技术 |
|---|---|
| 前端 | Vue.js 3 (CDN), Bootstrap 5, FontAwesome 6, DPlayer, HLS.js |
| 后端 | Node.js, Express, Axios |
| 数据源 | TMDb API v3, 48+ Maccms CMS APIs |
| 部署 | Docker, Vercel, PM2, 宝塔面板 |
| 缓存 | SQLite / JSON / Memory |
界面升级亮点
相比原版,UI/UX 做了颠覆性改进:
| 功能区域 | 原版体验 | 增强版体验 |
|---|---|---|
| 首页视觉 | 简单的列表罗列 | Netflix 风格 Hero 轮播:全屏动态背景、高斯模糊遮罩、Top 10 排名特效 |
| 导航栏 | 固定顶部 | 智能融合导航:初始透明,滚动变黑;分类点击自动平滑滚动定位 |
| 搜索框 | 顶部固定位置 | 动态交互搜索栏:初始占满全屏,下滑自动吸顶并缩小为"胶囊"悬浮 |
| 榜单浏览 | 有限的静态列表 | 无限滚动:20+ 个细分榜单,支持向右无限加载 |
| 启动体验 | 页面分块加载 | 优雅启动屏:应用级启动画面,资源加载完成后丝滑过渡 |
安装部署
前置要求
- Node.js >= 18
- TMDb API Key(必需)
一键安装(推荐)
bash
curl -fsSL https://raw.githubusercontent.com/ednovas/dongguaTV/main/install.sh | bashDocker 部署
bash
# 基础启动
docker run -d -p 3000:3000 \
-e TMDB_API_KEY="your_api_key_here" \
--name donggua-tv \
--restart unless-stopped \
ghcr.io/ednovas/dongguatv:latestVercel 一键部署
配置说明
1. 获取 TMDb API Key
- 访问 TMDb 注册并登录
- 进入 API Settings 申请 API Key
- 应用类型选择 "Developer",用途填写 "Personal learning project"
2. 配置采集源
编辑 db.json 文件,添加 Maccms V10 (JSON格式) 接口:
json
{
"sites": [
{
"key": "unique_key1",
"name": "站点名称1",
"api": "https://...",
"active": true
}
]
}3. 大陆用户配置反代
由于 TMDB 在大陆无法直接访问,需要部署 Cloudflare Workers 反代:
- 登录 Cloudflare Dashboard
- 创建 Worker,命名为
tmdb-proxy - 复制项目中的
cloudflare-tmdb-proxy.js内容到编辑器 - 部署后获取 URL,填入
.env文件:
env
TMDB_PROXY_URL=https://tmdb-proxy.your-name.workers.dev高级功能
全局访问密码
在 .env 中设置密码,保护站点不被公开访问:
env
ACCESS_PASSWORD=your_secure_password多用户模式
支持多个密码,每个密码代表一个独立用户,拥有独立的观看历史:
env
ACCESS_PASSWORD=admin_password,user1_pass,user2_pass广告过滤
内置智能广告过滤模块,自动检测并过滤 M3U8 视频流中的广告分段,支持:
- 百度联盟、腾讯广点通
- 阿里妈妈、字节穿山甲
- 爱奇艺、芒果 TV 等贴片广告
项目链接
- GitHub 仓库:https://github.com/EdNovas/dongguaTV
- 演示网站:https://ednovas-test.vercel.app
- NodeSeek 原帖:https://www.nodeseek.com/post-545203-1
免责声明
本项目仅作为 Node.js 和 Vue 3 的学习练手项目开源,不内置任何有效的影视资源采集接口。使用者需自行寻找合法的 Maccms V10/JSON 格式的采集接口,并遵守相关法律法规。
分享: