ByteNoteByteNote

字节笔记本

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+ Stars611+ 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 | bash

Docker 部署

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:latest

Vercel 一键部署

Deploy with Vercel

配置说明

1. 获取 TMDb API Key

  1. 访问 TMDb 注册并登录
  2. 进入 API Settings 申请 API Key
  3. 应用类型选择 "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 反代:

  1. 登录 Cloudflare Dashboard
  2. 创建 Worker,命名为 tmdb-proxy
  3. 复制项目中的 cloudflare-tmdb-proxy.js 内容到编辑器
  4. 部署后获取 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 等贴片广告

项目链接

免责声明

本项目仅作为 Node.js 和 Vue 3 的学习练手项目开源,不内置任何有效的影视资源采集接口。使用者需自行寻找合法的 Maccms V10/JSON 格式的采集接口,并遵守相关法律法规。

分享: