环境变量
25/31
部署平台
标准部署
API版本
v1.8.0
系统状态
运行正常
API 地址
持久化存储
未启用
📝 未配置持久化存储,数据仅保存在内存中(重启后丢失)
限流配置
未启用
🔓 未启用请求限流
缓存策略
🔍 搜索: 10 分钟 | 💬 弹幕: 10 分钟
弹幕处理
♾️ 不限制数量 |
🇨🇳 繁转简 |
格式: JSON
最近匹配信息
最新 5 条
暂无匹配历史
最近播放与匹配成功的记录将显示在此
快速导航
环境配置
关于系统
环境变量配置
TOKEN
自定义API访问令牌,使用默认87654321可以不填写
••••••••
OTHER_SERVER
兜底第三方弹幕服务器,当所有平台都获取失败时使用,默认api.danmu.icu
https://api.danmu.icu
VOD_SERVERS
VOD影视采集站列表,格式:名称@URL,名称@URL...(多个用逗号分隔)
听风@https://gctf.tfdh.top,金蝉@https://zy.jinchancaiji.com
VOD_RETURN_MODE
VOD返回模式:all(返回所有站点结果)/ fastest(仅返回最快响应的站点),默认all
fastest
VOD_REQUEST_TIMEOUT
VOD单个请求超时时间(毫秒),默认10000(10秒)
10000
BILIBILI_COOKIE
B站Cookie,用于获取完整弹幕数据(最少需要SESSDATA字段)
••••••••••••••••••••••••
YOUKU_CONCURRENCY
优酷弹幕请求并发数,默认8,最高16(并发数越高速度越快但资源消耗越大)
16
SOURCE_ORDER
数据源优先级排序,影响自动匹配时的搜索顺序(如:bilibili,iqiyi,youku)
dandan, tencent, youku, iqiyi, imgo, bilibili, renren, hanjutv, sohu, letv, bahamut
PLATFORM_ORDER
弹幕平台优先级,优先返回指定平台的弹幕数据
默认值
EPISODE_TITLE_FILTER
剧集标题正则过滤表达式,用于过滤预告、花絮等非正片内容
(特别|惊喜|纳凉)?企划|合伙人手记|超前(营业|vlog)?|速览|vlog|reaction|纯享|加更(版|篇)?|抢先(看|版|集|篇)?|抢鲜|预告|花絮(独家)?|特辑|彩蛋|专访|幕后...
BLOCKED_WORDS
弹幕屏蔽词列表,过滤包含指定关键词的弹幕(多个词用逗号分隔)
/.{20,}/,/^\d{2,4}[-/.]\d{1,2}[-/.]\d{1,2}([日号.]*)?$/,/([a-zA-Z\u4e00-\u9fa5])\1{2,}/,/\s/,/[0-9]+\....
GROUP_MINUTE
弹幕合并去重时间窗口(分钟),相同内容在该时间内只保留一条,默认1
1
PROXY_URL
代理/反代地址,用于访问巴哈姆特和TMDB(支持混合配置,如:bahamut=proxy1,tmdb=proxy2)
未配置
DANMU_SIMPLIFIED
是否将繁体弹幕转换为简体中文(主要用于巴哈姆特),默认true
已启用
TMDB_API_KEY
TMDB API密钥,用于将外语标题转换为中文标题,提升巴哈姆特搜索准确度
••••••••••••••••••••••••
UPSTASH_REDIS_REST_URL
Upstash Redis服务URL,用于持久化存储防止冷启动数据丢失(适用于Vercel/Netlify等平台)
未配置
UPSTASH_REDIS_REST_TOKEN
Upstash Redis访问令牌,需要配合UPSTASH_REDIS_REST_URL一起使用
未配置
DATABASE_URL
数据库连接URL,支持本地SQLite(file:/path/to/db)和Cloudflare D1(libsql://xxx),用于持久化存储缓存和配置数据
未配置
DATABASE_AUTH_TOKEN
数据库认证令牌,远程数据库(如Cloudflare D1)需要配置,本地SQLite文件可不填
未配置
RATE_LIMIT_MAX_REQUESTS
限流配置:同一IP在1分钟内允许的最大请求次数,默认3(防止滥用)
0
ENABLE_EPISODE_FILTER
手动选择接口(select)是否启用集标题过滤,默认false
已启用
LOG_LEVEL
日志级别:error(仅错误)/ warn(警告+错误)/ info(全部日志),默认info
info
SEARCH_CACHE_MINUTES
搜索结果缓存时间(分钟),减少重复搜索请求,默认1
10
COMMENT_CACHE_MINUTES
弹幕数据缓存时间(分钟),减少重复弹幕获取,默认1
10
DANMU_LIMIT
弹幕数量限制,-1表示不限制,其他数字为最大返回条数
-1
WHITE_RATIO
白色弹幕占比(0-100),-1表示不转换颜色,其他值表示将指定比例弹幕转为白色
70
DANMU_OUTPUT_FORMAT
弹幕输出格式:json(JSON格式)/ xml(Bilibili XML格式),默认json
json
STRICT_TITLE_MATCH
严格标题匹配模式:仅匹配剧名开头或完全匹配,过滤不相关结果,默认false
已禁用
TITLE_TO_CHINESE
在match接口自动匹配时,是否将外语标题转换成中文标题(需配合TMDB_API_KEY使用),默认false
已禁用
REMEMBER_LAST_SELECT
是否记住用户手动选择结果,优化后续自动匹配准确度,默认true
已启用
MAX_LAST_SELECT_MAP
最后选择映射的缓存大小限制,默认100条(超出后会删除最旧的记录)
100
关于弹幕 API
v1.8.0
GitHub 仓库
项目简介
🎬 弹幕 API 是一个强大的多平台弹幕聚合服务,支持从哔哩哔哩、爱奇艺、优酷、腾讯视频、芒果TV、巴哈姆特等主流视频平台获取弹幕。
✨ 提供智能标题匹配、弹幕去重过滤、繁简转换、格式转换等实用功能,适用于各类视频播放器集成。
🚀 支持多种部署平台,包括 Cloudflare Workers、Vercel、Netlify 等,并提供 Redis/SQLite/D1 持久化存储方案。
核心功能
🎯 多平台弹幕聚合
• 哔哩哔哩:支持完整弹幕获取(需配置Cookie)
• 爱奇艺:支持番剧和电影弹幕
• 优酷:支持高并发弹幕获取
• 腾讯视频:支持番剧弹幕
• 芒果TV:支持综艺和电视剧弹幕
• 巴哈姆特动画疯:支持繁体弹幕(可自动转简体)
• VOD 采集站:支持自定义影视采集站接入
🔍 智能匹配系统
• 支持文件名智能解析和标题匹配
• 支持外语标题自动转中文(需配置TMDB)
• 支持记住用户手动选择结果
• 支持剧集标题正则过滤
🎨 弹幕处理增强
• 智能去重:按时间窗口合并相同弹幕
• 内容过滤:支持屏蔽词列表
• 繁简转换:自动转换繁体弹幕
• 颜色处理:支持白色弹幕占比调整
• 位置转换:可将顶部/底部弹幕转为滚动
• 数量限制:支持限制返回弹幕数量
• 格式输出:支持 JSON/XML 双格式
💾 持久化存储
• Upstash Redis:适用于 Serverless 平台
• SQLite:本地文件存储
• Cloudflare D1:云端 SQLite
• 配置热更新:支持运行时修改配置
🛡️ 性能与安全
• IP 访问限流防滥用
• 智能缓存减少重复请求
• 代理支持绕过地域限制
• 管理后台密码保护
API 接口文档
搜索番剧
GET
/api/v2/search/anime?kayword={关键词}
参数:
• anime: 番剧名称(必填)
示例:
• anime: 番剧名称(必填)
示例:
/api/v2/search/anime?anime=进击的巨人
搜索剧集
GET
/api/v2/search/episodes?anime={番剧名}&episode={集数}
参数:
• anime: 番剧名称(必填)
• episode: 集数(必填)
示例:
• anime: 番剧名称(必填)
• episode: 集数(必填)
示例:
/api/v2/search/episodes?anime=进击的巨人&episode=1
智能匹配
POST
/api/v2/match
请求体:
功能:
• 自动解析文件名(支持网盘命名、特殊格式)
• 智能匹配番剧和集数
• 支持中/英文标题(需配置 TMDB_API_KEY)
• 支持 @语法指定平台优先级(如:赴山海 S01E28 @qiyi)
• 支持带年份格式(如:爱情公寓.ipartment.2009.S03E05)
支持的命名格式:
• 标准格式:
• 网盘格式:
• 英文格式:
• 带年份格式:
• 平台优先:
{"fileName": "[Nekomoe kissaten][Attack on Titan][01][1080p].mp4"}功能:
• 自动解析文件名(支持网盘命名、特殊格式)
• 智能匹配番剧和集数
• 支持中/英文标题(需配置 TMDB_API_KEY)
• 支持 @语法指定平台优先级(如:赴山海 S01E28 @qiyi)
• 支持带年份格式(如:爱情公寓.ipartment.2009.S03E05)
支持的命名格式:
• 标准格式:
进击的巨人 S01E01• 网盘格式:
无忧渡.S01E01.2160p.WEB-DL.H265.DDP.5.1• 英文格式:
Blood.River.S01E05• 带年份格式:
爱情公寓.ipartment.2009.S03E05.H.265.25fps.mkv• 平台优先:
赴山海 S01E28 @qiyi
获取弹幕
GET
/api/v2/comment/{commentId}?format={json|xml}
参数:
• commentId: 弹幕ID(必填)
• format: 输出格式(可选,默认json)
或使用URL方式:
• commentId: 弹幕ID(必填)
• format: 输出格式(可选,默认json)
或使用URL方式:
/api/v2/comment?url={视频URL}&format=xml
获取番剧信息
GET
/api/v2/bangumi/{animeId}
参数:
• animeId: 番剧ID(必填)
返回:番剧详细信息和所有剧集列表
• animeId: 番剧ID(必填)
返回:番剧详细信息和所有剧集列表
查看日志
GET
/api/logs?format={text|json}&level={info|warn|error}
参数:
• format: 输出格式(可选,默认text)
• level: 日志级别过滤(可选)
• limit: 返回数量限制(可选)
• format: 输出格式(可选,默认text)
• level: 日志级别过滤(可选)
• limit: 返回数量限制(可选)
技术栈与架构
运行环境
支持平台:
• Cloudflare Workers(推荐)
• Vercel Serverless Functions
• Netlify Functions
• 其他支持 Node.js 的平台
语言与框架:
• JavaScript (ES Modules)
• Web Standards API
• Fetch API / Node HTTP
持久化方案
Upstash Redis
• 适用于 Serverless 平台
• HTTP REST API 访问
• 全球边缘节点
SQLite 本地存储
• 适用于 VPS/Docker 部署
• 零配置开箱即用
• 支持文件持久化
Cloudflare D1
• 云端 SQLite 数据库
• 与 Workers 深度集成
• 自动备份和同步
前端技术
• 原生 JavaScript(无框架依赖)
• Chart.js 数据可视化
• 现代化玻璃态 UI 设计
• 响应式布局支持移动端
• CSS Grid / Flexbox 布局
• 深色/浅色主题切换
核心依赖
数据获取:
• @upstash/redis (Redis客户端)
• node-fetch (HTTP 请求)
• libsql (SQLite 客户端)
数据处理:
• opencc-js (繁简转换)
• 内置弹幕去重算法
• 智能标题匹配引擎
使用指南
快速开始
1️⃣ 配置环境变量
在"环境配置"页面设置必要的环境变量:
• TOKEN: 自定义API访问令牌(可选)
• BILIBILI_COOKIE: B站Cookie获取完整弹幕
• TMDB_API_KEY: TMDB密钥用于标题转换
2️⃣ 配置持久化存储(可选)
• Upstash Redis: 配置 UPSTASH_REDIS_REST_URL 和 TOKEN
• SQLite: 配置 DATABASE_URL (本地部署)
• Cloudflare D1: 绑定 D1 数据库
3️⃣ 开始使用
配置完成后即可通过 API 接口获取弹幕数据
常见问题
Q: 如何获取B站Cookie?
A: 登录 bilibili.com 后,按F12打开开发者工具,在 Application → Cookies 中找到 SESSDATA 字段,至少需要复制该字段的值。
Q: 为什么要配置持久化存储?
A: Serverless 平台会定期清理内存,配置持久化可以保存配置、缓存和用户选择记录,避免冷启动后数据丢失。
Q: 如何修改管理员密码?
A: 点击右上角密钥图标,输入旧密码后设置新密码。首次登录默认账号密码均为 admin。
Q: 弹幕数量太多怎么办?
A: 在环境配置中设置 DANMU_LIMIT 参数限制返回数量,推荐设置为 3000-8000 条。
Q: 支持哪些视频平台?
A: 目前支持哔哩哔哩、爱奇艺、优酷、腾讯视频、芒果TV、巴哈姆特动画疯,以及自定义 VOD 采集站。
性能优化建议
• 配置 Redis/数据库启用持久化缓存
• 适当增加缓存时间(SEARCH_CACHE_MINUTES)
• 启用"记住最后选择"功能提高匹配准确度
• 设置访问限流防止恶意请求
• 优酷弹幕建议并发数设为8(平衡速度和资源)
• 开启弹幕简化和去重减少数据量
贡献与支持
开源协议
MIT License
本项目采用 MIT 开源协议,您可以自由地:
• 使用:个人或商业用途均可
• 修改:根据需求定制功能
• 分发:分享给其他人使用
• 二次开发:基于此项目创建衍生项目
唯一要求:保留原作者版权声明
参与贡献
欢迎提交 Issue 和 Pull Request!
贡献方式:
• 报告 Bug 或提出功能建议
• 完善文档和使用说明
• 提交代码修复或新功能
• 分享使用经验和部署教程
项目地址:
https://github.com/huangxd-/danmu_api
致谢
感谢以下项目和服务:
• 弹弹Play API 提供基础弹幕数据
• Upstash 提供 Redis 云服务
• Cloudflare 提供 Workers 和 D1 服务
• TMDB 提供影视数据库 API
• 各视频平台提供弹幕数据源
• 所有贡献者和使用者的支持
搜索源优先级配置
💡 拖拽调整搜索源顺序,关闭的源不会被使用。排序越靠前优先级越高
弹幕平台优先级配置
💡 拖拽调整弹幕平台顺序,关闭的平台不会返回弹幕。自动匹配时优先返回靠前平台的弹幕
VOD 影视采集站管理
💡 VOD 采集站用于搜索影视资源,可自由添加和删除。内置采集站不可删除
性能对比分析
高级配置
VOD 返回模式
fastest
fastest 模式响应更快但结果较少,all 模式结果完整但可能有重复
VOD 请求超时
10000
5秒
15秒
30秒
单个 VOD 站点的请求超时时间,建议 10-15 秒
配置说明
📚 搜索源说明
• 360: 360影视搜索源(独立源,非 VOD)
• VOD: VOD 影视采集站集合
• 其他源: TMDB、豆瓣、腾讯、优酷、爱奇艺等
🎬 弹幕平台说明
• 配置后自动匹配时会按顺序优先返回对应平台弹幕
• 如果不配置,则返回第一个满足条件的平台
• 关闭的平台不会返回弹幕数据
📡 VOD 采集站说明
• 用于搜索影视资源和获取播放链接
• 支持添加自定义采集站
• fastest 模式适合快速响应,all 模式适合完整结果
弹幕获取测试
💡 自动解析文件名 (如: 藏海传 S01E01) 或粘贴视频链接
弹幕预览
0 条
💬
暂无弹幕数据
输入番剧名称或视频链接开始测试
搜索缓存
0
弹幕缓存
0
存储状态
检查中
缓存数据浏览
Redis 连接状态
检查中...
正在检测 Redis 连接...
数据库连接状态
检查中...
正在检测数据库连接...
最后选择记录
0 条
未启用或无数据