1221 字
6 分钟
为你的观影部署一个弹幕服务器danmu_api
什么是 danmu_api
danmu_api
是一个开源的 JS 弹幕 API 服务端项目 ,目标是让任何人都能方便地部署一个弹幕接口服务器。它支持直接获取多个视频平台(如爱奇艺、优酷、腾讯视频、芒果 TV、“哔哩哔哩”等)的弹幕,不需要事先下载弹幕文件。相比另一款弹幕服务 misaka_danmu_server 来说 部署起来更加轻便简单。如果你只有轻量的需求,也许这个更加合适。这里先看danmu_api 部署吧
主要特性包括:
- 与弹弹play(一个弹幕播放器)兼容,支持它的搜索、详情查询、弹幕获取接口。
- 支持日志记录,能查看最近的操作日志。
- 多种部署方式:本地、Docker、Vercel、Cloudflare、EdgeOne 等。
- 环境变量可配置,支持一些选项来切换行为,如 token、使用哪个第三方弹幕服务器兜底、并发数、cookie 等。
- 使用 JavaScript(Node.js)编写。
Waiting for api.github.com...
Waiting for api.github.com...
功能概览
从 README 的内容来看,它提供以下 API 接口和功能: GitHub
功能 | 接口示例 | 用途/备注 |
---|---|---|
搜索动漫 | GET /api/v2/search/anime?keyword=${queryTitle} | 根据关键字查找动漫作品。 GitHub |
关键字匹配动漫 | POST /api/v2/match | 用于自动匹配,给定关键词找到对应的动漫。 GitHub |
搜索剧集 | GET /api/v2/search/episodes | 搜索所有匹配剧集信息。 GitHub |
获取动漫详情 | GET /api/v2/bangumi/:animeId | 得到指定动漫的详细数据。 GitHub |
获取弹幕评论 | GET /api/v2/comment/:commentId?withRelated=true&chConvert=1 | 获取某条评论的弹幕内容,支持相关评论和字符转换。 GitHub |
日志 | GET /api/logs | 最近日志(最多 500 行),包括 info 和 error 级别的输出。 GitHub |
功能对比
功能 | danmu_api | misaka_danmu_server |
---|---|---|
基本弹幕抓取 + API 提供 | ✅ | ✅ |
接口兼容性(弹弹play API 或其它播放器) | 是,兼容弹弹play等接口。 | 是,兼容 dandanplay API 规范,也兼容播放器自定义接口(token 路由等)。 |
媒体库 / 元数据匹配 | —— (比较轻) | ✅ 支持媒体库管理 + TMDB、TVDB、Bangumi、Douban、IMDb 等元数据整合。 |
Web 管理界面 | —— | ✅ 提供 Web UI,可以管理弹幕库、搜索源、分集、Token 等。 |
自动同步 / Webhook 集成 | —— | ✅ 支持 Sonarr, Radarr, Emby 等媒体服务器通过 Webhook 通知自动导入弹幕。 |
日志 / 历史 /调试 | danmu_api 有日志接口等 | misaka_danmu_server 有日志 +后台任务状态监控 + 系统设置等界面管理。 |
多源配置 / 搜索源优先级 | 有一些配置环境变量,可以切换来源 | 更丰富:可以在 Web UI 中配置多个搜索源、启用/禁用、优先级等。 |
安全性 / API 授权 | danmu_api 有 token 配置等 | misaka 的 Token 授权体系更完备,并且有管理界面;还有权限控制与账户系统。 |
部署
Vercel 部署 (最推荐的)
一键部署
一般我们推荐fork仓库去手动部署,而不是通过官方提供的一键部署,这样无法自动拉取更新
- 设置环境变量:部署后,在 Vercel 仪表板中:
- 转到你的项目设置。
- 在“Environment Variables”部分添加
TOKEN
变量,输入你的 API 令牌值。 - 保存更改并重新部署。
- 示例请求:
https://{your_domian}.vercel.app/87654321/api/v2/search/anime?keyword=子夜归
设置域名
一定要套域名,默认的Vercel域名即使你选择了香港也是默认被墙/减速的状态。
设置环境变量 Token
当然,这步你可以部署拉取的时候就设置,这里是为了以后如果修改修改Token.
更新函数运行地区
默认会在美国,对CN速度一般,你需要根据自己的需求更换地区。但是如果你和我一样,不是pro。你只能选择一个地区。
你需要先取消美国的,然后点击香港的,再redeploy。
Docker 部署
-
拉取镜像:
docker pull logvar/danmu-api:latest -
运行容器:
docker run -d -p 9321:9321 --name danmu-api -e TOKEN=your_token_here logvar/danmu-api:latest- 使用
-e TOKEN=your_token_here
设置TOKEN
环境变量。
services:danmu-api:image: logvar/danmu-api:latestcontainer_name: danmu-apiports:- "9321:9321"environment:- TOKEN=your_token_here # 请将your_token_here 替换为实际的 Token 值restart: unless-stopped # 可选配置,容器退出时自动重启(非必需,可根据需求删除)- 或使用docker compose部署。
- 使用
-
测试 API: 使用
http://{ip}:9321/{TOKEN}
访问上述 API 接口。如果你需要域名,你可以接入cdn,回源设置你这个IP和端口套上就行。
API 使用
支持 forward/senplayer/hills/小幻/yamby/eplayerx/afusekt 等支持弹幕API的播放器。
以senplayer
为例:
- 获取到部署之后的API地址,如
http://192.168.1.7:9321/87654321
,其中87654321
是默认token,如果有自定义环境变量TOKEN,请替换成相应的token - 将API地址填入自定义弹幕API,在
设置 - 弹幕设置 - 自定义弹幕API
- 播放界面点击
弹幕按钮 - 搜索弹幕
,选择你的弹幕API,会根据标题进行搜索,等待一段时间,选择剧集就行。
注意:小幻在填写API的时候需要在API后面加上/api/v2
,如https://{your_project}.vercel.app/87654321/api/v2
为你的观影部署一个弹幕服务器danmu_api
https://catcat.blog/deploy-danmu_api.html