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)编写。
huangxd-
/
danmu_api
Waiting for api.github.com...
00K
0K
0K
Waiting...
l429609201
/
misaka_danmu_server
Waiting for api.github.com...
00K
0K
0K
Waiting...

功能概览#

从 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_apimisaka_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仓库去手动部署,而不是通过官方提供的一键部署,这样无法自动拉取更新

image-20250923105842186

image-20250923105907900

image-20250923105014843

  • 设置环境变量:部署后,在 Vercel 仪表板中:
    1. 转到你的项目设置。
    2. 在“Environment Variables”部分添加 TOKEN 变量,输入你的 API 令牌值。
    3. 保存更改并重新部署。
  • 示例请求:https://{your_domian}.vercel.app/87654321/api/v2/search/anime?keyword=子夜归

设置域名#

一定要套域名,默认的Vercel域名即使你选择了香港也是默认被墙/减速的状态。 image-20250923105150433

设置环境变量 Token#

当然,这步你可以部署拉取的时候就设置,这里是为了以后如果修改修改Token.

image-20250923105243534

更新函数运行地区#

默认会在美国,对CN速度一般,你需要根据自己的需求更换地区。但是如果你和我一样,不是pro。你只能选择一个地区。

你需要先取消美国的,然后点击香港的,再redeploy。

image-20250923105418518

Docker 部署#

  1. 拉取镜像

    docker pull logvar/danmu-api:latest
  2. 运行容器

    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:latest
    container_name: danmu-api
    ports:
    - "9321:9321"
    environment:
    - TOKEN=your_token_here # 请将your_token_here 替换为实际的 Token 值
    restart: unless-stopped # 可选配置,容器退出时自动重启(非必需,可根据需求删除)
    • 或使用docker compose部署。
  3. 测试 API: 使用 http://{ip}:9321/{TOKEN} 访问上述 API 接口。如果你需要域名,你可以接入cdn,回源设置你这个IP和端口套上就行。

API 使用#

支持 forward/senplayer/hills/小幻/yamby/eplayerx/afusekt 等支持弹幕API的播放器。

senplayer为例:

  1. 获取到部署之后的API地址,如 http://192.168.1.7:9321/87654321 ,其中87654321是默认token,如果有自定义环境变量TOKEN,请替换成相应的token
  2. 将API地址填入自定义弹幕API,在设置 - 弹幕设置 - 自定义弹幕API
  3. 播放界面点击弹幕按钮 - 搜索弹幕,选择你的弹幕API,会根据标题进行搜索,等待一段时间,选择剧集就行。

image-20250923110203319

注意:小幻在填写API的时候需要在API后面加上/api/v2,如https://{your_project}.vercel.app/87654321/api/v2

为你的观影部署一个弹幕服务器danmu_api
https://catcat.blog/deploy-danmu_api.html
作者
猫猫博客
发布于
2025-09-23
许可协议
CC BY-NC-SA 4.0