mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-10-31 12:45:41 +08:00
- apprise:urls 含令牌,改为 secret_field;secret_field 支持 default_factory,可声明列表 / 字典秘密字段
- run-command:stderr 改为自建管道边读边丢,只保留最后 2000 字节;完成仍只看 proc.wait(),结束后给读取 0.5 秒再关闭管道
- run-command:{files} 按原始路径列表展开,含换行的路径不再拆成两个参数
- 通知:插件渠道 extra 里的已声明字段与内置渠道一样展开 $VAR
- slack:只在 HTTP 400 invalid_blocks 时退回纯文字重试,其它失败不重发
- onebot:先发文字,再单独发海报;结果只看文字,去掉重试
- strm-writer:media_root 为 "/" 时正确映射完整路径
STRM 写入(示例插件)
种子整理完成后,为每个正片写一个 .strm。把 STRM 目录加入 Emby / Jellyfin 媒体库,再把媒体文件放到网盘或对象存储,客户端播放时直接从该地址读取,不经过媒体服务器。演示:
@subscribe(TorrentOrganized.kind):只处理kind == "media"的文件- 投递为「至少一次」:内容相同就不重写,
.strm的修改时间不变 - 文件操作放进
asyncio.to_thread,不阻塞事件循环
配置
| 字段 | 示例 | 说明 |
|---|---|---|
| 媒体根目录 | /downloads/Bangumi |
下载器中要去掉的路径前缀(与事件路径同为下载器视角)。不在其下的文件被跳过并记录警告;填 / 时保留完整路径 |
| STRM 目录 | /downloads/STRM |
写入 .strm 的目录,是 AutoBangumi 看到的路径 |
| 地址前缀 | http://nas:8096/media/ |
拼在相对路径前。含 :// 时,路径的每一段做百分号编码(空格变为 %20);不含时(如本地路径 /mnt/cloud/)原样拼接 |
例:正片 /downloads/Bangumi/A/Season 1/A S01E01.mkv,按上表配置写入 /downloads/STRM/A/Season 1/A S01E01.strm,内容为 http://nas:8096/media/A/Season%201/A%20S01E01.mkv。
前缀以 / 结尾时直接拼接相对路径;插件不补 /。字幕不写 .strm。
安装
cp -r examples/plugins/strm-writer config/plugins/local/
在「设置 → 插件」中开启「允许未签名插件」,启用并填写三个字段。
测试
cd examples/plugins/strm-writer && uv run pytest
对应 issue:#428