Skip to content

Release v3.4.32

Choose a tag to compare

@github-actions github-actions released this 02 Oct 10:00
· 8 commits to master since this release

这一版主要解决「新集已经下好、却要等很久才出现在媒体库里」的问题:OSR 写完文件后会直接通知 Emby / Jellyfin / Plex 只扫描对应目录,随后提前对账一轮,订阅几分钟内就显示已入库。另外新增资源搜索页、下载器剩余空间告警(自动删种可以按剩余空间触发),字幕体检可以一键找带中字的版本。

✨ 新增功能

  • 新文件入库后通知媒体服务器刷新(媒体服务器配置里按台开启,默认关闭)。
    • 以前的现象:OSR 写完 .strm、重命名、刮削之后从不通知媒体服务器,新文件要等它自己的定时扫描才出现;订阅的「已入库」也跟着晚,最多要等 10 分钟一轮的对账。
    • 现在:打开「新文件入库后通知刷新媒体库」后,STRM 生成、重命名、刮削完成、清理产物删掉文件,都会通知这台服务器只扫描对应的目录。文件先攒 30 秒、按目录合并后再发,一季几十集只算一处;同一个库里目录太多时直接刷整个库。
    • 开了刮削的文件,等 NFO 和图片写完才通知。先通知的话,媒体服务器会抢在 NFO 写好之前联网匹配,之后写入的 NFO 要等下一次元数据刷新才生效。
    • 删除文件时,空的季目录、剧目录会被一并回收,所以通知的是最近一个还存在的上级目录,媒体服务器重扫时会把已经不在的条目移出库。
    • 路径映射:OSR 容器里的路径和媒体服务器看到的路径不同时(比如 /data/media 对 /media),每行填一条 OSR路径 => 媒体服务器路径。映射写错时媒体服务器照样返回成功、什么都不做,所以加了「检查路径映射」按钮:逐条列出 STRM 输出目录、重命名目标目录分别落在哪个媒体库,保存前就能看出对不对。
  • 通知发出后提前对账一轮。 等媒体服务器扫完目录(默认 3 分钟)就提前跑一轮入库对账,「下载完成 → 订阅显示已入库」从最多十几分钟缩短到几分钟。同一批新集只多跑一轮;正好碰上定时对账在跑时会稍后重试,刚对过账就跳过。
  • 资源搜索页(PT 追剧 → 资源搜索)。
    • 不用先建订阅,按关键词直接搜全部站点(可以只选部分站点),看站上有什么版本。
    • 结果不按过滤规则淘汰,会被全局过滤规则挡掉的会标出原因(比如「分辨率不在白名单」,鼠标悬停可以看到实际值和阈值),正好用来回答「为什么我订了却没自动下」。可以只看规则会放行的。
    • 每条结果可以「转订阅」:跳到订阅页,自动打开建订阅弹窗并用解析出的片名搜好 TMDb。
    • 管理员可以「直接下载」:推给选定的下载器,保存路径跟订阅推送一样按智能分类决定。直接下载不进下载记录,OSR 不追踪它的进度,也不下发 H&R 分享限制(推送弹窗里写明了);想被追踪就用「转订阅」。
  • 下载器剩余空间告警。
    • 下载器卡片上显示剩余空间(每 15 分钟读一次)。
    • 下载器设置里可以填「剩余空间告警线」:低于时进首页待办、并发通知。通知只在刚低于、持续低位每满一天、恢复这三个时刻各发一次。
  • 自动删种可以按剩余空间触发。 下载器的自动删种设置里新增「仅在剩余空间低于 X GB 时删种」:空间够时不删;不够时从最大的辅种组开始删,腾够就停。规则里只删种子、不删文件的组腾不出空间,不计入腾出量。读不到剩余空间时一个都不删。删种预览里会写明「剩余空间充足,暂不删除」「前面的组已腾够空间」等原因。
  • 字幕体检可以一键「找中字版本」。
    • 国内字幕源基本都停了,媒体服务器的字幕插件搜不出东西;而 PT 站上同一集几乎总有带中字的发布。
    • 字幕体检里缺中字的作品后面多了「找中字版本」:按集搜全部站点,只要这一集的单集资源、且标题或描述带中字标识(CHS / CHT / 中字 / 简繁英 / 双语等,与「外语片需中字」过滤是同一套判断),照常过过滤规则后择优,走洗版通道推送,下完自动换上。
    • 旧版本不会自动删除,新旧两份会同时存在,与洗版一样需要手动清理。
    • 一次最多处理 6 集;每集结果分开显示:已推送中字版、站上没有中字版、被过滤规则挡掉、没搜到、暂不能换(不是已入库状态)、推送失败。

🐛 Bug Fixes

无

⚙️ Improvements

  • 首页待办新增「下载器空间不足」一项,排在「下载器离线」之后。
  • 洗版推送没成功时,会把具体原因带回给用户,与匹配日志里的是同一句话(目前「找中字版本」在用)。

📦 Breaking Changes

无

📝 Notes

  • 本版新增三个数据库迁移脚本:20260812(媒体服务器表新增 library_notify、path_mapping 两列)、20260813(新增「资源搜索」菜单)、20260814(下载器表新增 free_space_warn_gb、auto_delete_free_below_gb 两列)。启动时自动执行,不需要手动跑 SQL。
  • 新功能的开关默认都是关的,升级后行为不变:媒体服务器的「入库后通知刷新」要逐台打开;下载器的告警线与「按空间删种」默认为空。
  • 新增可调配置(application.yml):pt.library.early-sync-delay-seconds(通知后多久提前对账,默认 180 秒,0 关闭)、pt.downloader.space-check-minutes(剩余空间检查间隔,默认 15 分钟)。
  • 开启刷新通知后,建议先点一次「检查路径映射」。STRM 输出目录如果只是重命名的来源、本身不在媒体库里,显示「不在任何媒体库下」是正常的。
  • 剩余空间:qBittorrent 从 sync/maindata 读(旧版本可能没有这个字段),Transmission 需要 2.80 以上,且下载器上配置的保存路径要在 Transmission 那台机器上真实存在。读不到时卡片显示「未读取」,不会告警,也不会按空间删种。
  • Plex 的媒体库刷新目前只在模拟环境验证过,用 Plex 的话欢迎反馈结果。

Full Changelog: v3.4.31...v3.4.32