 haodeandhuangxd-
|
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 |
|
 Wo254992andClaude 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 |
|
lilixu3
|
cdbea1b77d
|
修复韩剧TV S5 搜索请求 (#238)
变更内容:
- 更新韩剧TV S5搜索请求画像与版本头配置
- 统一韩剧TV应用请求头中的User-Agent与版本号
- 去除无效登录头并保持公开仓库可提交的通用设备画像
|
2026-03-18 00:33:46 +08:00 |
|
huangxd-
|
410ff59d61
|
修改弹幕时间偏移配置说明
|
2026-03-18 00:32:56 +08:00 |
|
Elegy233
|
2dac103629
|
修复合并源时同一个源不能参与不同组合并的问题 (#230)
* merge-util.js:巩固过滤集相关函数,修复同一个源不能参与多组合并配置
* bahamut.js:将tmdb智能标题前的标题传给合并工具
解决Fate/strange Fake智能替换成中文别名后无法关联的问题
* bilibili.js:将接口中的org_title条目原名也传给合并工具对比
解决 命运-奇异赝品 黎明低语 无法与英文别名关联
* bahamut.js:修复时间轴取整导致的去重偏差
* merge-util.js:修复执行顺序bug
* merge-util.js:修复合集复用副源bug,调整结果排序为用户配置优先
* common-util.js:清理标题空格的同时清理修饰性符号
修复【我推的孩子】括号带与不带时被过滤掉了
* bahamut.js:去除多余空格
|
2026-03-15 12:58:01 +08:00 |
|
huangxd-
|
c5b7221997
|
新增记住手动选择结果功能新增支持记住集episode/弹幕时间偏移配置/IP黑名单列表配置 (#231)
* 记住手动选择结果功能新增支持记住集episode,下次自动匹配时会对集进行偏移
* 更新README
* 新增IP黑名单列表配置,通过环境变量IP_BLACKLIST配置
* 增加上次匹配剧标题和本次弹幕获取据标题的匹配,防止两者不对应
* 新增弹幕时间偏移配置
* 补充forward插件相关配置
* 增加打印日志
* 修复findIndexById方法没有引用的问题
* 优化lastSelectMap,支持存储不同季
* 优化extractSeasonNumberFromAnimeTitle中尾部阿拉伯数字(如"某某 2" 或 "某某2",但不超过2位)
* 再次优化尾部阿拉伯数字问题
|
2026-03-15 12:57:32 +08:00 |
|
Elegy233
|
9c637a84d6
|
弹弹源tmdb原名搜索的结果不再经过标题过滤工具 (#228)
* dandan.js:tmdb原名搜索的结果不再经过标题过滤工具
* merge-util.js:微调评分数值
|
2026-03-12 23:37:03 +08:00 |
|
huangxd-
|
512b7f36ce
|
推送弹幕标签页和弹幕测试标签页中新增跳转到指定集数的功能 (#229)
* 推送弹幕标签页和弹幕测试标签页中新增跳转到指定集数的功能,解决比如像名侦探柯南这种集数很多的剧,要滑动很久才能定位到集的问题
* 修复两边都渲染后冲突的问题
|
2026-03-12 23:36:31 +08:00 |
|
Elegy233
|
0304dd8b8b
|
标题宽松匹配增加季信息过滤,智能返回用户需要的季应对过滤失准 (#224)
* common-util.js:增加提取季度过滤,应对相似度匹配的失准
并增加严格标题匹配时的例外“年番”、“合集”
* animeko.js:引用common-util工具,删除重合逻辑
* dandan.js:引用common-util工具进行结果过滤,并支持多季场景下的降级搜索
多季场景下的降级搜索:实现搜索“超自然武装当哒当 第二季”能够搜索到“胆大党 第二季”
* merge-util.js:修复偏移时间轴提取错误,优先从p字段提取
* Update merge-util.js
|
2026-03-11 23:41:15 +08:00 |
|
huangxd-
|
77879719cb
|
修复DANMU_OUTPUT_FORMAT默认设置为xml的场景下弹幕测试页获取弹幕提示json解析错误的问题 (#227)
|
2026-03-11 23:40:51 +08:00 |
|
lilixu3
|
8b2e708ebc
|
新增弹幕测试功能 (#223)
* 新增弹幕测试功能
接口调试页面新增「弹幕测试」标签页,包含:
- 自动匹配测试:输入文件名自动匹配并获取弹幕,模拟播放器自动加载流程
- 手动匹配测试:搜索动漫 → 选择番剧 → 选择剧集 → 获取弹幕
- 弹幕统计:弹幕数、时长、高能时刻、平均密度、匹配时长、类型分布
- 弹幕热力图:按时间段可视化弹幕密度分布
- 弹幕列表:支持全部/滚动/顶部/底部过滤,显示颜色和类型标签,懒加载每次100条
- 导出功能:支持导出JSON和XML格式弹幕文件
- 异常时间处理:使用P99分位数剔除异常时间点
- 视图导航优化:搜索结果/剧集详情/弹幕详情逐级切换,带返回按钮和加载动画
* 优化弹幕测试工具栏样式
- 返回按钮文字缩短,避免挤压导出按钮换行
- 导出按钮改蓝底白字,统一风格
- 导出按钮自适应布局
|
2026-03-10 22:58:05 +08:00 |
|
huangxd-
|
80953cea3c
|
修改版本号
|
2026-03-10 22:57:39 +08:00 |
|
Elegy233
|
a656308fc2
|
增加弹弹第三方弹幕源实时拉取功能,用于覆盖掉弹弹服务器内缓存的旧弹幕 (#220)
* dandan.js:增加related接口,实现拉取绑定的第三方数据源
同时传出related接口的偏移值和绑定链接给合并工具的跨源时间轴对齐使用
* dandan-api.js:挂载dandan源传出的相关参数,同时更新源标签的标记方式
* merge-util.js:接收来自dandan源准确的偏移值和链接信息,替换掉低精度计算
* danmu-util.js:基于准确的源标签做更加完美的相关处理
* envs.js:增加弹弹第三方数据源实时拉取开关,默认开启
* systemsettings.js:增加一个默认值为true的变量保持开启状态
* .env.example:增加弹弹第三方数据源实时拉取开关说明
* Add REAL_TIME_PULL_DANDAN option to README
* .env.example:统一弹弹第三方数据源实时拉取说明
* .env.example:将第三方数据源统称为第三方弹幕源
* envs.js:将第三方数据源统称为第三方弹幕源
* README.md:将第三方数据源统称为第三方弹幕源
* merge-util.js:去除已经没有使用的旧函数
* systemsettings.js:REAL_TIME_PULL_DANDAN不再保持true
* dandan.js:related接口根据开关动态请求
只在REAL_TIME_PULL_DANDAN实时拉取开启状态或者启用了MERGE_SOURCE_PAIRS合并功能才请求
* envs.js:实时拉取默认设置为关闭
* .env.example:实时拉取默认设置为关闭
* README.md:实时拉取默认设置为关闭
|
2026-03-04 22:40:15 +08:00 |
|
huangxd-
|
0616a03d86
|
优化hanjutv源代码 (#222)
|
2026-03-04 22:39:46 +08:00 |
|
huangxd-
|
124e72a436
|
hanjutv源增加极速版接口作为兜底 (#219)
* 优化弹幕点赞数显示,修复镂空爱心前数字样式异常;redis包修改成配置后动态引入
* hanjutv源增加tv端接口作为兜底
|
2026-03-03 23:40:32 +08:00 |
|
Elegy233
|
c01df2f483
|
动画源细节优化 (#216)
* animeko.js:提高搜索接口结果数量,并支持翻页
* bahamut.js:支持解析正确的类型
|
2026-03-02 23:50:07 +08:00 |
|
huangxd-
|
0c2d44408a
|
优化弹幕点赞数显示,修复镂空爱心前数字样式异常;redis包修改成配置后动态引入 (#217)
|
2026-03-02 23:49:49 +08:00 |
|
huangxd-
|
5aedb8a15d
|
修复fw插件构建问题
|
2026-03-01 15:59:29 +08:00 |
|
huangxd-
|
b76ccc3de3
|
修改弹幕点赞显示样式
|
2026-03-01 14:45:08 +08:00 |
|
huangxd-
|
667c860e96
|
修改弹幕点赞显示格式
|
2026-03-01 14:41:32 +08:00 |
|
huangxd-
|
b89da2b4f4
|
调整点赞图标🔥与弹幕文本的距离
|
2026-03-01 14:10:22 +08:00 |
|
huangxd-
|
8b7a86ce3f
|
修改点赞图标与弹幕文本的距离
|
2026-03-01 14:03:03 +08:00 |
|
Elegy233
|
ec52b54bd7
|
合并增加基于dandan的跨源时间轴对齐功能,使在dandan平台调整过的弹幕源延迟合并拉取时同步生效 (#210)
* merge-util.js:增加基于dandan的跨源时间轴对齐功能,解决在dandan平台调整过的弹幕延迟合并拉取时没有生效的问题
* dandan-api.js:增加跨源时间轴对齐步骤
* dandan-api.js:去除时间轴对齐迭代产生的非必要函数
|
2026-03-01 13:47:24 +08:00 |
|
Wo254992
|
02f677eba8
|
修复hanjutv分页游标异常导致循环卡住并优化弹幕累加性能 (#209)
* 修复韩剧TV分页游标不前进导致的循环卡住
变更内容:在 getEpisodeDanmu 分页循环中增加 nextAxis <= fromAxis 时的退出条件,防止上游异常游标导致请求无限循环。
* 优化韩剧TV弹幕累加降低内存抖动
变更内容:将 getEpisodeDanmu 中 allDanmus.concat(...) 改为 push(... ) 原地追加,减少分页循环中的数组复制开销。
|
2026-03-01 13:46:54 +08:00 |
|
huangxd-
|
10b2ca89ae
|
支持本地redis缓存配置 (#213)
* 弹幕点赞数改成镂空♡显示,数量使用下标数字,并增加环境变量LIKE_SWITCH开关该功能,默认开启
* 增加hanjutv日志打印
* 修改说明
* 支持本地redis缓存配置
* 增加render环境的判断
* Revert "增加render环境的判断"
This reverts commit 952257895a2705debf079485c8558969b46f986a.
* 修改注释
* 修复cloudflare不支持redis包安装的问题
* 修复cloudflare不支持redis包安装的问题
|
2026-03-01 13:46:28 +08:00 |
|