27 Commits
Author SHA1 Message Date
huangxd- afc8b8119f chore: 更新 README 项目结构说明并调整 forward 测试用例参数以同步文档与测试数据
在 README 项目结构中补充 .pr_agent.toml、pr_agent.yml 和 icons.js 的说明;将 forward 测试的 sourceOrder 从 hongguo 改为 douban,并更新测试标题为“早春晴朗”,使文档记录与新增配置/资源一致,测试样例保持最新。
2026-10-03 07:12:39 +08:00
huangxd- 13e88bec25 优化移动端系统配置操作按钮布局,红果源支持提取并显示短剧年份信息 (#411)
* feat(forward): 优化缓存管理,支持版本控制和分段缓存

- 引入缓存schema版本管理,避免旧版本缓存数据污染
- 添加分段缓存前缀、TTL及空重试最小间隔,提升缓存灵活性
- 使用内存缓存(Map)减少重复存储读取
- 重构getCaches逻辑,增加加载状态标识避免重复初始化
- 抽取parseForwardCacheValue统一解析校验,增强健壮性
- 缓存版本变更时自动清理旧数据,确保数据一致性

* style: 更新lavender主题配色并调整UI主题选项顺序

更新lavender主题样式,采用渐变背景和全新配色方案(蓝紫到粉紫渐变),使界面更鲜明;同时调整UI_THEME环境变量及内部主题列表中lavender的顺序,确保各配置保持一致。

* fix(ui): 优化移动端系统配置操作按钮布局

* feat(hongguo): 支持提取并显示短剧年份信息

- 新增 extractYearFromTimestamp 工具函数,从多种时间戳字段中解析年份
- 在搜索结果和剧集详情中集成年份提取,填充 anime 对象的 year 字段
- 修改 animeTitle 格式,在短剧名称后追加 (年份) 以提升识别度
- 补充 album_info 等备用数据源,增强解析健壮性
- 修复多视频详情接口响应结构兼容性问题,避免数据丢失
2026-08-01 12:55:06 +08:00
huangxd- c4d2951eb5 新增红果短剧源 (#394)
* feat: 新增红果短剧源支持

- 在 README 和配置示例中添加红果短剧(hongguo)源,扩展弹幕获取来源
- 更新 SOURCE_ORDER、PLATFORM_ORDER、MERGE_SOURCE_PAIRS 等配置项的可选值
- 新增 hongguo.js 源文件,完善项目文档和目录结构说明

* fix: 支持通过红果播放链接获取弹幕

* feat: 添加红果短剧全集合并选项,支持按集号顺序合并所有集弹幕

- 新增环境变量 `HONGGUO_MERGE_ALL_EPISODES`,默认为 false,启用后将红果短剧所有集的弹幕按剧集顺序合并为一集返回,每集弹幕时间累加前面各集时长,剧集列表显示为“全集”
- 修改缓存键生成逻辑,当启用合并时在缓存键后追加标识,避免与未合并缓存冲突
- 新增 `parseHongguoSeriesId`、`isHongguoSeriesId` 等工具函数用于识别红果系列 ID
- 更新 README 和 `.env.example` 文档说明新配置项

* test: 增强 forward-widget 测试流程的健壮性与剧集匹配逻辑

- 注释掉 storage 模拟中的调试日志,减少测试输出干扰
- 增加进程退出码设置,测试失败时正确返回非零状态
- 新增搜索结果为空时的异常抛出,避免后续空引用
- 优化剧集选择:优先按集数精确匹配,回退到数组索引,增加匹配失败提示
- 新增弹幕分片选择:优先选择包含 450 秒左右的分片,否则取中间时间点
- 增加对分片列表和弹幕列表为空时的异常检查,确保链路完整性
- 调整输出日志,明确显示所选剧集、分片和请求时间点,便于调试

* test: 更新 forward-widget 测试用例参数

- 调整测试数据中的 episode、sourceOrder 和 title 值
- 新增 hongguoMergeAllEpisodes 配置项用于测试
- 更新测试场景以覆盖新逻辑

* feat(forward): 支持debug构建并添加真机远程日志回传

- 新增 `--debug` 构建参数,生成 `logvar-danmu.debug.js` 供真机调试使用
- debug 版本将 `httpGet/httpPost` 替换为带日志回传的调试实现
- 实时回传 handler 执行、请求详情、耗时、异常及 console 输出到服务端终端和 `/api/logs`
- 敏感信息(Cookie、token、API key)在回传前自动脱敏,且回传失败不影响主流程
- 更新 README,补充 Forward 真机调试步骤和使用说明
2026-07-26 20:56:32 +08:00
Elegy233 ee15f5871c feat: 前端新增覆盖全项目的日志筛选分类系统 (#335)
* feat: 前端新增覆盖全项目的日志筛选分类系统

基于项目架构建立三级日志标签体系(编排层/工具层/源层),
覆盖 50 个文件。

=== 前端日志分类引擎 (logview.js + components.css.js) ===
- 新增 getLogCategory 标签分类引擎,支持标签提取、归类与续行上下文继承
- ISO 时间戳与 HH:MM:SS 格式精确过滤,避免误杀数字开头标签(如 360kan)
- 续行 _inherit_ 机制:无标签行自动继承上一行分类
- normalizationMap 归一化映射:变体标签统一收束至标准分类
- 标签筛选按钮 UI 按 system → utils/cache/merge → 源 三层分组排序

=== 后端标签规范化 ===
- sources/ 20 个源文件:弹幕提取、搜索函数、JSON 响应等全部 log 调用补全源标签
- utils/ 12 个工具文件:以 [Utils] [Name] 格式统一,保留 [Cache][Merge] 独立标签
- apis/dandan-api.js 采用 [system] [SubName] 层级格式:
  子类别覆盖 Duration / executeSourceHandlers / searchAnime / LogVar-API /
  Episodes / matchAnime / Spillover / getBangumi / Offset / YearFilter /
  Match / Bangumi / SegmentComment
- apis/env-api.js 4 处 console.error 改用 log() 纳入日志缓冲区
- configs/handlers/ 8 个文件补全 [system] [Server] 标签
- worker.js 补全 [system] [Server] / [Utils] [Rate Limit] / [Utils] [IP Blacklist]
- forward/forward-widget.js 补全 [Forward],删除重复 console.log
- node-functions/index.js console.log → log() 统一纳入日志系统
- TMDB 标签拆分:sources/tmdb.js 保持 [TMDB],utils/tmdb-util.js 使用 [Utils] [TMDB]
- fetchMergedComments 合并拉取路径补全源级获取弹幕日志

=== 基础设施 ===
- http-util.js 新增 sourceLogContext (AsyncLocalStorage) 跨异步日志上下文追踪
- http-util.js 新增 toLogSourceName() 集中映射函数(360→360kan, imgo→mango)
- http-util.js 诊断续行移除重复标签前缀
- 额外季数检索改为并行 Promise.all
- 前端 JSON 续行切割修复:HH:MM:SS 时间戳识别 + 无标签行自动继承

=== 标签层级 ===
系统层:[system] [Server]             [AI]
工具层:[Utils] [Name]                 [Cache] [Merge]
源层:  [360kan][vod][bilibili][tencent][youku][iqiyi]
        [mango][migu][renren][hanjutv][bahamut][dandan]
        [sohu][leshi][xigua][maiduidui][aiyifan][animeko]
        [Douban][TMDB][custom][other]
插件层:[Forward]

* 回退node-functions/index.js
2026-06-06 12:16:03 +08:00
huangxd- ca05231b51 SOURCE_ORDER 默认源排序修改为douban,360,renren,hanjutv 2026-05-31 12:51:36 +08:00
huangxd- e851d7495d 修复最近bangumi-data继承导致fw插件不可用的问题 (#297)
* fw插件删除bangumi-data-util.js的代码导入

* fw中删除bangumi-data-util引用语句

* GitHub默认需配置ENABLE_HF_SYNC为true才开启sync_hf.yml

* 修改readme
2026-05-02 10:50:10 +08:00
huangxd- 3495835e7c 新增弹幕时间偏移功能以及环境变量DOUBAN_COOKIE (#276)
* 弹幕偏移支持百分比模式

* 修复偏移配置保存之后不显示源选择的问题

* 增加豆瓣cookie环境变量
2026-04-11 13:55:39 +08:00
huangxd- ae4f20c9c9 增加爱壹帆源 (#262)
* 增加爱壹帆源

* 修复爱壹帆源自动匹配
2026-03-29 23:53:14 +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- 13fe8519f1 修改小版本号 2026-03-18 23:37:56 +08:00
huangxd- 410ff59d61 修改弹幕时间偏移配置说明 2026-03-18 00:32:56 +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
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
huangxd- 0153ebc929 增加埋堆堆源并增加ai匹配 (#197)
* 增加埋堆堆源

* match自动匹配接口系只能ai匹配功能,需根据自身使用模型配置AI_BASE_URL/AI_MODEL/AI_API_KEY/AI_MATCH_PROMPT四个环境变量

* 增加ai连通性测试按钮

* 优化ai match自动匹配

* hanjutv增加弹幕点赞数显示
2026-02-23 22:27:27 +08:00
huangxd- 6b7588d18e 环境变量ENABLE_EPISODE_FILTER更名为ENABLE_ANIME_EPISODE_FILTER,同时修复ENABLE_EPISODE_FILTER开启的情况下搜索接口返回500的问题 (#191)
* 修复ENABLE_EPISODE_FILTER开启的情况下搜索接口返回500的问题

* 环境变量ENABLE_EPISODE_FILTER更名为ENABLE_ANIME_EPISODE_FILTER
2026-02-13 22:59:35 +08:00
huangxd- 6ea819744c 添加剧名过滤规则环境便来给你ANIME_TITLE_FILTER,用于按正则表达式对剧名进行过滤,适用于过滤一些不需要的剧集 (#190)
* 添加剧名过滤规则环境便来给你ANIME_TITLE_FILTER,用于按正则表达式对剧名进行过滤,适用于过滤一些不需要的剧集,需开启ENABLE_EPISODE_FILTER

* fw插件如果启用了搜索关键字繁转简,则进行转换
2026-02-12 21:30:01 +08:00
huangxd- a6a0babd22 增加环境变量ANIME_TITLE_SIMPLIFIED,在搜索时将繁体剧名标题自动转换为简体,适用于繁体标题搜索 (#187)
* 修复搜索到的标题中带有括号导致自动匹配季不正确的问题

* 增加环境变量ANIME_TITLE_SIMPLIFIED,在搜索时将繁体剧名标题自动转换为简体,适用于繁体标题搜索,默认值:false(不转换)

* 接口调试ui界面上的/api/v2/search/episodes接口增加episode,用于指定集
2026-02-09 23:22:24 +08:00
huangxd- 2ad2d5fa1a 支持咪咕源并增加请求记录标签页 (#186)
* 增加咪咕源

* 完善咪咕源,包括从豆瓣源获取咪咕弹幕

* 修改弹幕源简介

* EPISODE_TITLE_FILTER环境变量不再应用于剧标题过滤,只对集标题生效

* 增加处理简繁同源场景,比如吃->喫;注意->註意,实际不用转换

* 增加请求历史记录

* 增加请求记录ui界面

* 删除清空记录按钮

* 将请求记录的参数改为请求body体

* 对record.interface进行解码

* 请求参数为空的清空下不显示请求体

* 在没有请求体的情况下虚线也不显示

* 增加todayReqNum全局变量,用于记录今日请求数量

* 在UI界面显示今日请求总数

* 修改README

* 修复云部署的服务配置redis后请求记录还是0的问题
2026-02-08 23:16:26 +08:00
huangxd- ced30a767f 修改forward插件中的剧集标题过滤规则示例 2026-02-01 23:02:41 +08:00
huangxd- 6ca1398563 合并弹幕颜色环境变量和繁简字体转换环境变量 (#172)
* 删除CONVERT_COLOR_TO_WHITE环境变量,合并保留CONVERT_COLOR

* 删除环境变量DANMU_SIMPLIFIED和DANMU_TRADITIONAL,合并为DANMU_SIMPLIFIED_TRADITIONAL,弹幕简繁体转换设置:default(默认不转换)、simplified(繁转简)、traditional(简转繁)
2026-01-29 00:19:21 +08:00
huangxd- 4fd7ccf412 增加简体转繁体开关 (#169)
* 增加简体转繁体开关

* 修改readme和小版本号

* 修改readme

* 修改缩进问题
2026-01-27 23:39:31 +08:00
huangxd- 90b15f5379 新增西瓜视频源 (#168)
* 暂时增加xigua源

* 更新xigua源

* 完成西瓜视频的搜索

* 增加西瓜视频源

* 删除西瓜视频test文件
2026-01-26 23:58:48 +08:00
huangxd- 3fe044bcb7 添加乐视源 (#155) 2026-01-17 00:03:37 +08:00
huangxd- a7392ee394 增加sohu源 (#130)
* 补充README

* 增加搜狐视频源

* 替换URLSearchParams

* 增加搜狐弹幕分片并发请求

* 修复docker场景不存在.env时自动创建的问题

* 修改版本号

* 修改docker-image构建flow条件

* 修改镜像构建触发条件

* 修复sohu源buildQueryString缺失的问题
2026-01-04 21:32:04 +08:00
huangxd- 0b72288f57 增加剧名映射表,.env不存在的情况下自动生成 (#127)
* 手机端UI缩小body内间距

* 修复了移动端UI系统配置多选元素不能拖动的问题

* 修复移动端UI系统配置多选不能删除元素的问题

* 在Node和Docker环境下,如果config目录下没有.env和config.yaml,则自动从.env.example拷贝一份生成.env

* 添加剧名映射表

* 增加ui配置界面的剧名映射表配置

* 修改小版本号

* 修复空间ui css
2026-01-02 15:03:06 +08:00
huangxd- f199f69d8b 支持自定义弹幕源 (#121)
* 解决api配置反代后的ui路径问题

* ui修改body和header背景色

* 修复segmentcomment接口调试时format选择xml不生效的问题

* Revert "修复segmentcomment接口调试时format选择xml不生效的问题"

This reverts commit 997a101cb0537d95ebdb62e9f1267af7e94475a9.

* 修复分片弹幕请求xml还是返回json的问题

* 支持自定义弹幕源

* 修复在反代场景下api端点显示

* 修复导航栏标签切换问题

* 修复iqiyi源的弹幕emoji不显示的问题

* 完善readme中的项目结构

* 修改小版本号
2025-12-28 11:02:50 +08:00
huangxd- 3022f14fdf Feature: 支持分片弹幕接口并增加一键导出forward弹幕插件 (#118)
支持分片弹幕接口

/api/v2/comment 请求时支持定义 segmentflag=true 参数,用于请求弹幕分片列表
/api/v2/segmentcomment 通过comment接口返回体中的Segment类JSON数据获取单独一个分片的弹幕数据
增加一键导出forward弹幕插件,使用命令 node build-forward-widget.js

修复youku弹幕里color是字符串导致返回的格式错误的问题
2025-12-24 22:38:36 +08:00