VodHub 是一个完整的视频聚合解决方案,包含两个核心部分:
- 后端 (VodHub): 电影、电视剧、动漫等视频接口聚合服务,转换多个视频源为标准统一输出
- 前端 (VodNext): 视频源聚合播放器,提供分类、搜索、详情、播放等功能
- 📦 开箱即用的接口服务
- ⚙️ 转换多个视频源为标准输出,支持分类、搜索、详情、播放等功能
- 🛡 使用 TypeScript 开发,保持输出接口的一致性
- 📚 提供可直接部署的 Docker 镜像
- 📦 支持 VodHub 标准视频源
- ⚙️ 提供视频分类、搜索、详情、播放等页面
- 🐳 支持 PC、手机端页面自适应
- 🌛 支持一键切换至暗黑模式
- ⚙ 支持自定义网站名称
环境配置文档:Docs
- Node.js >= 24
- PNPM >= 10
# 克隆项目
$ git clone git@github.com:consistent-k/VodHub.git
$ cd VodHub
# 安装依赖
$ pnpm install
# 启动前后端服务
$ pnpm dev启动成功后访问 http://127.0.0.1:3000/setting 进行配置
# 仅启动后端
$ pnpm dev:backend
# 仅启动前端
$ pnpm dev:frontend本地启动 VodHub 服务,配置为 / 即可
部署后的 VodHub 地址,配置为 http://abc.com 即可
以下示例中的
{{vod_site}}为视频源的名称,如360kan等。
# 获取目前支持视频源名称列表
curl --location --request GET 'http://localhost:8888/api/vodhub/namespace'# 通过首页获取分类
curl --location --request GET 'http://localhost:8888/api/vodhub/{{vod_site}}/home'# 按分类获取视频列表
curl --location --request POST 'http://localhost:8888/api/vodhub/{{vod_site}}/category' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": 1,
"page": 1,
"filters": {}
}'# 获取详情
curl --location --request POST 'http://localhost:8888/api/vodhub/{{vod_site}}/detail' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": "{{vod_id}}"
}'# 获取播放地址
curl --location --request POST 'http://localhost:8888/api/vodhub/{{vod_site}}/play' \
--header 'Content-Type: application/json' \
--data-raw '{
"url": "",
"parse_urls": []
}'# 关键词搜索
curl --location --request POST 'http://localhost:8888/api/vodhub/{{vod_site}}/search' \
--header 'Content-Type: application/json' \
--data-raw '{
"page": 1,
"keyword": "钢铁侠"
}'请确保已经安装了 Docker 环境并且配置了 DockerHub 的镜像加速器。
$ docker run -d -p 8888:8888 consistentlee/vod_hub:latest$ docker-compose up -dVodHub/
├── apps/
│ ├── backend/ # 后端服务 (VodHub)
│ │ ├── src/
│ │ │ ├── routes/ # 接口路由
│ │ │ ├── utils/ # 工具函数
│ │ │ └── types/ # 类型定义
│ │ └── package.json
│ └── frontend/ # 前端应用 (VodNext)
│ ├── app/ # Next.js 页面
│ ├── components/ # 组件
│ ├── lib/ # 工具库
│ └── package.json
├── packages/
│ └── shared/ # 共享类型和工具
├── docker-compose.yml
└── package.json
# 安装依赖
pnpm install
# 启动所有服务
pnpm dev
# 类型检查
pnpm typecheck
# 代码检查
pnpm lint
# 代码格式化
pnpm format
# 格式化检查
pnpm format:check
# 提交代码
pnpm commit- 本项目是一个开源的视频聚合解决方案,仅供个人合法地学习和研究使用,严禁将其用于任何商业、违法或不当用途,否则由此产生的一切后果由用户自行承担。
- 本项目仅转换已有视频网站接口为标准统一输出。本项目不直接提供视频源,也不针对任何特定内容提供源,用户应自行判断视频源的合法性并承担相应责任,开发者对用户获取的任何内容不承担任何责任。
- 用户在使用本项目时,必须完全遵守所在地区的法律法规,严禁将本项目服务用于任何非法用途,如传播违禁信息、侵犯他人知识版权、破坏网络安全等,否则由此产生的一切后果由用户自行承担。
- 用户使用本项目所产生的任何风险或损失(包括但不限于:系统故障、隐私泄露等),开发者概不负责。用户应明确认知上述风险并自行防范。
- 未尽事宜,均依照用户所在地区相关法律法规的规定执行。如本声明与当地法律法规存在冲突,应以法律法规为准。
- 用户使用本项目即视为已阅读并同意本声明全部内容。开发者保留随时修订本声明的权利。本声明的最终解释权归本项目开发者所有。




