huangxd-
028835c2c4
douban源搜索接口增加公开api兜底
2026-04-18 11:58:44 +08:00
Elegy233
59fff265cd
修复 match 接口因为标题清理导致故障 ( #282 )
...
* dandan-api.js:调整标题清理相关调用顺序
* common-util.js:调整标题清理相关调用顺序
* Enhance comment in extractSeasonNumberFromAnimeTitle
Add comment to clarify the process of extracting season number from anime title.
* globals.js 1.18.7
2026-04-14 20:28:51 +08:00
Elegy233
087c136b9b
修复合并工具特殊情况下集映射错误,更新标题匹配使用的正则,修复白日提灯因携带零宽字符导致无结果 ( #279 )
...
* bahamut.js:如果搜索关键词是日语则不经过common-util
获取不到原名信息作为别名所以直接放行
* common-util.js:清理标题时清理()括号
* merge-util.js:修复《一拳超人 第三季》关联时集映射错误
因为巴哈首集是“24.5集”番外集,所以判断错误,现在非整数集也视为番外集,番外集会找番外集去匹配
* common-util.js:清理标题时清理·点
* common-util.js:清理标题更改为白名单模式,使用Unicode区间正则囊括非常完整的文字内容
* dandan.js:使详情接口错误重试一次
* common-util.js:添加零宽字符清理函数
* vod.js:调用零宽字符清理函数,解决“白日提灯%E2%80%8B"搜索无结果
Added a function to sanitize search keywords before making API requests.
2026-04-13 22:57:32 +08:00
huangxd-
38cafc1d34
弹幕偏移百分比模式如果弹幕duration为0,则取最后一条弹幕作为视频时长 ( #281 )
2026-04-13 22:57:03 +08:00
huangxd-
5ce27183f1
修改readme
2026-04-11 14:09:08 +08:00
huangxd-
91cff0da83
修改reademe
2026-04-11 14:03:55 +08:00
Elegy233 and huangxd-
fe4a96f50b
因 related 接口废弃将合并工具的跨源时间轴对齐功能改回本地算法 ( #275 )
...
* merge-util.js:因 related 接口废弃将跨源时间轴对齐功能改回本地算法
天塌了(
* README.md:更新平台列表添加特别感谢栏
* merge-util.js:更新跨源时间轴对齐算法
* dandan-api.js:重写跨源时间轴对齐调用函数
* merge-util.js:精简跨源时间轴对齐算法
* merge-util.js:为弹弹豁免匹配率同时修复缺集导致的集映射错误
修复弹弹因为从零开始的异世界生活第四季因为集刮削错误缺2~4集导致的集映射错误
---------
Co-authored-by: huangxd- <649924757@qq.com >
2026-04-11 14:01:38 +08:00
dyphire
77ecdcf233
跟随弹弹上游 API 变动废弃 related 相关接口功能 ( #274 )
2026-04-11 13:56:01 +08:00
huangxd-
3495835e7c
新增弹幕时间偏移功能以及环境变量DOUBAN_COOKIE ( #276 )
...
* 弹幕偏移支持百分比模式
* 修复偏移配置保存之后不显示源选择的问题
* 增加豆瓣cookie环境变量
2026-04-11 13:55:39 +08:00
Elegy233
59533acfc9
使 match 接口匹配时检查源传入的别名,并优化别名替换相关逻辑 ( #271 )
...
* dandan-api.js:使 match 接口匹配时检查别名
* dandan.js:彻底删除内部api别名替换逻辑,因为别名已经传给需要的工具
* tmdb-util.js:全面优化tmdb智能标题替换逻辑
优先选择与用户传入的关键词相同的别名(https://github.com/huangxd-/danmu_api/pull/270 的拓展)
* envs.js:更新集过滤正则与aliases ai提示
* .env.example:更新集过滤正则
* Update README.md
2026-04-03 22:00:20 +08:00
huangxd-
eace9cfbd8
Merge branch 'main' of github.com:huangxd-/danmu_api
2026-04-03 21:59:38 +08:00
huangxd-
dce8dbbd18
修改小版本
2026-04-03 21:59:26 +08:00
dyphire
e7bdc3a831
360 源添加episodesv2分集获取接口 ( #272 )
2026-04-03 21:59:04 +08:00
Elegy233
b6926712f5
为弹弹源添加别名替换相关逻辑,使不同译名的结果能够参与match匹配 ( #270 )
...
* tmdb-util.js:将关键词清理函数提取为公共函数
* dandan.js:调用tmdb智能别名替换,并增加内部别名智能替换功能
使不同译名的结果能够参与match匹配
2026-04-02 22:50:27 +08:00
dyphire
d89ba7a1c2
提高 match 接口的匹配精度 ( #269 )
2026-04-02 22:50:18 +08:00
dyphire
3e02301b9f
修复 360 源的剧集获取 ( #268 )
2026-04-02 22:50:06 +08:00
dyphire
9fe76afc85
正确兼容弹弹的 url 弹幕获取接口 ( #267 )
2026-04-02 22:49:41 +08:00
huangxd-
afa0eb1c1f
修改小版本号
2026-04-02 22:48:15 +08:00
huangxd-
c049d1c312
修复aiyifan-util.js中部分语法在ios fw中不适配的问题
2026-03-31 23:49:34 +08:00
Wo254992
c2eeeb164b
重构爱壹帆签名工具并优化并发复用 ( #266 )
2026-03-31 22:25:07 +08:00
huangxd-
9bc48f2360
修改小版本号
2026-03-31 22:23:44 +08:00
huangxd-
c8fc8f1f65
修复aiyifan源fw报错的问题
2026-03-30 22:58:31 +08:00
huangxd-
de148bccb4
更新环境变量的说明
2026-03-30 22:29:47 +08:00
haode and huangxd-
2c3f574cd0
动漫标题缓存最大数量可配置化 ( #264 )
...
* Update vercel.json
* Update vercel.json
* Add files via upload
动漫标题缓存最大数量可配置化修改,在某些场景下通过接口获取的标题数会超过100,没有缓存到的标题无法通过id获取到弹幕,增加动漫标题缓存最大数量可配置化修改
---------
Co-authored-by: huangxd- <649924757@qq.com >
2026-03-30 22:27:20 +08:00
lilixu3
3956d80e98
修复爱壹帆源播放列表、视频信息、弹幕接口区域限制问题 ( #263 )
...
app-m10.tripdata.app 对部分地区返回"您所在的区域必须登录",
将 PLAYLIST_API、VIDEO_API、DANMU_API 域名替换为 m10.yfsp.tv
2026-03-30 22:23:34 +08:00
huangxd-
f7fc36f384
更新小版本号
2026-03-30 22:23:12 +08:00
huangxd-
6a715e6372
修复hanjutv分片不可用的问题
2026-03-30 00:20:01 +08:00
Wo254992
b5d41fb42d
重构韩剧TV弹幕源的核心逻辑,优化双链路(韩小圈 HXQ + 极速版 TV)架构的稳定性和代码质量,修复多个实际运行中的 bug ( #261 )
...
* feat(hanjutv): 重构韩剧TV源为双链路架构(韩小圈+极速版)
- 搜索:并行调用 s5(韩小圈)和 TV(极速版)接口,按标题匹配自动合并为 merged 候选,未匹配的保留为独立变体
- 详情/剧集:merged 变体并行拉取双端剧集列表,按集号合并;支持 3 层降级(merged → hxq → tv)
- 弹幕:merged 剧集 ID 编码为 base64url,拉取时按 ref 分别请求并打上细粒度来源标签(韩小圈/极速版)
- 弹幕分页:韩小圈端使用 60s 窗口滑动 + 多 host 容灾,TV 端使用全量范围分页
- 加密:统一 AES-CBC 加密参数,新增 TV 端请求头构建(buildLiteHeaders)和响应解密
- 搜索身份:闭包工厂模式缓存 mobile/tv 请求头,暖身请求实例内只执行一次
- 外层合并:fetchMergedComments 保留韩剧TV内部细粒度标签,仅在缺失时补充源标签
- 点赞阈值:handleDanmusLike 支持韩小圈/极速版变体标签的低阈值判定
- 公共工具:base64url 编解码移至 codec-util,正时间戳归一化移至 time-util
* 将韩剧TV专用函数从通用工具移到hanjutv-util
encodeBase64UrlText、decodeBase64UrlText、normalizePositiveTimestamp
三个函数只有hanjutv-util在用,放在通用工具里会导致部分运行环境
文件体积超限无法加载,移到hanjutv-util作为本地函数
2026-03-29 23:53:50 +08:00
huangxd-
ae4f20c9c9
增加爱壹帆源 ( #262 )
...
* 增加爱壹帆源
* 修复爱壹帆源自动匹配
2026-03-29 23:53:14 +08:00
huangxd-
b4511e501e
优化镜像构建yml ( #258 )
...
* 优化镜像构建yml
* 继续优化镜像构建
2026-03-28 00:04:07 +08:00
Wo254992
ba88bc03a5
fix: 修复匹配与过滤误读全局缓存 ( #257 )
...
- 复现:全局 animes 被旧详情污染时,/api/v2/match 可能把 E42 错配到第45集;开启剧集过滤时,同 animeId 跨源候选也可能被误过滤
- 修复:匹配、bangumi 解析、剧集过滤统一优先使用当前请求详情快照,并补充回归测试
2026-03-27 23:46:54 +08:00
Elegy233
a5fb406596
为dandan实时拉取功能支持related的合并分P格式 ( #256 )
...
* bilibili.js:处理合并分P链接格式
https://www.bilibili.com/combine?cid32908181970=0-583&cid32908250608=0-378&cid32908314947=0-440
* dandan.js:修复实时拉取时b站分p参数被截断,并放行合并分P格式
* merge-util.js:同步更新dandan related 接口对接相关函数
* globals.js:1.17.7
2026-03-27 23:46:38 +08:00
Wo254992
df9696515b
修复快速切集时 lastSearch 竞态导致 offset 写入错误 ( #255 )
...
问题复现:连续看同一部剧的第6集再切第5集时,match请求会覆盖
lastSearchMap中的上下文(按IP只存一条),导致第6集的comment请求
读到第5集的episode信息,算出错误的offset写入lastSelectMap,
后续自动匹配全部偏移。
修复:
- setLastSearch 移到 match 成功后调用,附带 episodeId
- getComment 读取 lastSearch 时校验 episodeId 是否与当前 commentId 一致
- 不一致则跳过 offset 计算,避免写入错误数据
2026-03-25 22:23:06 +08:00
Elegy233
57987959c2
放宽合并工具3D2D的处理,增强API路径前缀智能处理逻辑(适配danmaku-anywhere项目请求),修复链接解析错误占位符字符串 ( #254 )
...
* dandan.js:从tags中提取3D/2D追加到类型
* merge-util.js:放宽没有3D2D标识时的处理
* worker.js:增强API路径前缀智能处理逻辑,适配Danmaku Anywhere项目仅/v2/的请求
旧逻辑面对http://127.0.0.1:9321/********/v2/search/anime会错误补全为http://127.0.0.1:9321/********/api/v2/v2/search/anime
* dandan-api.js:修复了当请求直链 URL 时,API 错误返回占位符字符串
这个问题导致了danmaku-anywhere项目在解析图片时报错,详情:https://github.com/Mr-Quin/danmaku-anywhere/issues/343
2026-03-25 22:20:42 +08:00
huangxd-
e74749b3f9
更新小版本
2026-03-25 22:19:37 +08:00
huangxd-
85771eeb06
优化Tencent源搜索,如果是多语言版本,anime标题增加语言版本
2026-03-22 09:48:43 +08:00
Mr-Quin
9c3efe058e
统一dandan useragent ( #253 )
2026-03-22 08:04:51 +08:00
Elegy233
832d604aed
为合并支持判断3D2D,修复带有不同配音的结果合集判断失误,增加简易的内部特殊条目映射规则 ( #252 )
...
* animeko.js:从tags中提取3D/2D追加到类型
* iqiyi.js:从metaTags中提取3D/2D追加到类型
* tencent.js:从richTags中提取3D/2D追加到类型
* merge-util.js:支持判断3D2D,修复带有不同配音的结果合集判断失误,增加简易的内部特殊条目映射规则
2026-03-22 08:04:32 +08:00
huangxd-
42ae6b8a61
优化Tencent源搜索,补充国粤多语言版本场景下返回多版本
2026-03-22 08:03:47 +08:00
huangxd-
c8b42221aa
回退edgeone相关修改并修复edgeone 405问题 ( #251 )
...
* Revert "修复 EdgeOne token 路由 match 405 (#248 )"
This reverts commit e29c9848bc .
* 修复edgeone 405问题
2026-03-21 00:41:07 +08:00
huangxd-
33a0a37831
修改变量描述
2026-03-20 22:11:40 +08:00
Celestials316
e29c9848bc
修复 EdgeOne token 路由 match 405 ( #248 )
2026-03-20 21:42:10 +08:00
Celestials316
6d587d910e
修复搜索结果超过 100 条时详情与弹幕失效 ( #246 )
...
* 修复搜索缓存详情解析
* 修复搜索缓存详情快照读取与隔离问题
2026-03-20 21:41:37 +08:00
huangxd-
554fc14084
修改小版本号
2026-03-20 21:40:49 +08:00
Wo254992 and Claude Opus 4.6
b267db281d
新增自定义颜色池功能,CONVERT_COLOR为color时支持自定义颜色 ( #243 )
...
- 新增 COLOR_POOL 环境变量,支持自定义弹幕随机颜色池
- 前端新增色轮选色器、随机添加、批量添加弹窗(支持十进制和#hex格式)
- 颜色池样式提取到 components.css.js,JS 中仅保留动态样式
- 不配置时使用默认颜色池,行为与原来一致
- 同步更新 forward-widget、README、.env.example
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-19 22:39:27 +08:00
huangxd-
8e1487409d
兼容ios环境下WebAssembly不存在的场景,适配peekpili搭建本地服务 ( #245 )
2026-03-19 22:38:56 +08:00
Celestials316
7cff1c991b
修复剧集搜索详情丢失 ( #242 )
...
变更内容:为 searchEpisodes 增加请求级详情缓存,避免广义搜索结果被全局 100 条上限裁剪后丢失
变更内容:扩展 searchAnime 的搜索缓存结构,在命中缓存时同步回填详情数据
变更内容:抽取 bangumi 详情构建逻辑并复用,保持 searchAnime 和 searchEpisodes 返回结果一致
2026-03-18 23:39:06 +08:00
Celestials316
faa570273f
DANMU_OFFSET 支持按来源指定弹幕偏移,重构偏移系统为独立模块,配置界面增加快速添加规则,修复模态框滚动问题 ( #241 )
...
* DANMU_OFFSET 支持按来源指定偏移,配置界面增加快速添加规则,修复模态框滚动问题
- DANMU_OFFSET 扩展 @来源 语法,支持针对特定弹幕来源单独设置偏移量
- 查找优先级:带来源规则优先,fallback 到通用规则,层级从集->季->剧名逐级回退
- 配置界面增加"添加规则"按钮,展开快速配置面板(剧名/季/集/来源/偏移秒数)
- 来源列表从后端 ALLOWED_SOURCES 动态加载,支持多选
- 修复所有变量编辑模态框内容过长时顶部无法滚动的问题
* 更新文档:DANMU_OFFSET 补充 @来源 语法说明
- README 功能介绍和环境变量表格补充来源指定格式
- .env.example 补充来源语法注释和示例
* 重构弹幕偏移系统:独立 offset-util 模块,支持合并源按来源分别偏移
- 新建 offset-util.js,集中偏移逻辑(解析/匹配/应用)
- parseOffsetRules 启动时解析一次,缓存到 globals.danmuOffsetRules
- resolveOffset 支持多级路径匹配(集>季>剧)、来源特定/all通配/通用规则优先级
- applyOffset 兼容 p/t/progress/timepoint 多种时间字段格式
- 支持来源别名映射(tencent→qq, iqiyi→qiyi, bilibili→bilibili1)
- 合并源流程:对齐后、合并前按来源分别应用偏移
- 单源流程:convertToDanmakuJson 前应用偏移
- 删除 danmu-util.js 中旧的 parseOffset/getOffset/applyDanmuOffset
* 优化偏移配置界面:inline styles 提取到 CSS,来源标签选中状态改用 class 控制
2026-03-18 23:38:31 +08:00
huangxd-
13fe8519f1
修改小版本号
2026-03-18 23:37:56 +08:00
lilixu3
f04403962f
优化弹幕测试界面的视频时长获取 ( #239 )
...
* 优化弹幕测试页时长获取
变更内容:
- 优先从评论接口和源字段提取测试页视频时长
- 补充不同来源时长回退与测试页展示逻辑
- 更新相关文档与测试用例
* 移除测试页时长界面改动
变更内容:
- 删除接口调试页面中附带时长参数与展示逻辑
- 回退测试页说明文档中的时长处理描述
- 保留评论接口时长能力与相关测试用例
* 恢复接口调试页时长参数
变更内容:
- 恢复接口调试页面中的duration参数与时长展示逻辑
- 恢复UI说明文档中的时长处理描述
- 保持评论接口视频时长能力与测试页联动
* 调整测试页时长展示细节
变更内容:让 comment JSON 的 videoDuration 字段固定排在返回体开头
变更内容:接口调试页在 xml 格式下隐藏附带时长开关并在切换时清空该参数
变更内容:版本号更新为 1.17.1
2026-03-18 00:34:24 +08:00