Skip to content

Releases: amtoaer/bili-sync

v2.1.2

21 Jul 15:55
Compare
Choose a tag to compare

该版本:

  1. 实现 wbi 签名逻辑,现在合集、视频下载接口的请求参数会添加签名,这应该能够缓解风控问题;
  2. 更新文档,加入“工作原理”小节,较为详细地解释了程序的运行逻辑;
  3. 移除一些未使用的代码,更新依赖。

What's Changed

  • chore: 更正许可证文件名错误 by @A1ca7raz in #141
  • feat: 为合集接口实现 wbi 签名 by @amtoaer in #140
  • feat: 为下载视频接口加入 wbi 签名 by @amtoaer in #143
  • refactor: 移除不必要的标记和代码块,统一 use 格式 by @amtoaer in #144
  • docs: 添加"工作原理"小节 by @amtoaer in #135

New Contributors

Full Changelog: v2.1.1...v2.1.2

v2.1.1

11 Jul 10:36
Compare
Choose a tag to compare

该版本:

  1. 修复少数情况下视频合集、视频列表下载时判断“上一次处理到的位置”无法命中的问题;
  2. 支持稍后再看的扫描与下载,使用方法详见在线文档。

What's Changed

  • fix: 修复 exist_labels 可能判断错误的问题 by @amtoaer in #132
  • feat: 支持稍后再看的扫描与下载 by @amtoaer in #131

Full Changelog: v2.1.0...v2.1.1

v2.1.0

05 Jul 15:05
Compare
Choose a tag to compare

本次更新,用户可感知的变更:

  1. 将文档整理至单独的文档页面以避免 README 中平铺的篇幅限制,后续文档内容会与最新的程序版本保持一致
  2. 引入了视频合集和视频列表的下载(详情可点击上面的文档查看)

用户无感知的变更:

  1. 大范围重构代码、调整代码结构,现在代码应该会易读一些(希望有佬给提提 PR)
  2. 配置 cargo release 实现一键发版

What's Changed

  • chore: 修改项目路径结构,使用 workspace 组织包 by @amtoaer in #118
  • refactor: 引入 clap 处理环境变量和命令行参数 by @amtoaer in #119
  • ci: 对处于 draft 状态的 PR 禁用 workflow by @amtoaer in #123
  • build: 更新依赖 by @amtoaer in #125
  • feat: 大范围重构,支持视频合集下载 by @amtoaer in #97
  • fix: 修复重构引入的若干 bug by @amtoaer in #126
  • docs: 全局修改描述,在文档中加入版本信息并在发版时自动替换 by @amtoaer in #128

Full Changelog: v2.0.7...v2.1.0

v2.0.7

01 Jun 03:13
c4db12b
Compare
Choose a tag to compare
  1. 每次扫描收藏前都调用一个简单接口检查登录状态,避免匿名用户走到后续流程,下载到 480p 的低清晰度视频。
  2. 支持在配置文件中自定义 NFO 文件中采用的视频时间。
    可选值有两个:favtime 代表加入收藏夹的时间,pubtime 代表视频发布的时间。默认使用 favtime:
    image
  3. 修复某些视频分页的 cid 过大导致的数值溢出。
    image

What's Changed

  • Update README.md - compose中指定user,附加简要说明 by @ky0utarou in #102
  • feat: 每次执行前检查登录状态,避免凭据失效导致的非预期行为 by @amtoaer in #112
  • ci: 使用较旧的 nightly 版本以避免语言修改导致的编译失败 by @amtoaer in #113
  • feat: 支持自定义 NFO 文件中的视频时间,可选加入收藏夹的时间、视频发布的时间 by @amtoaer in #114
  • fix: 修复类型错误导致的数值溢出 by @amtoaer in #115

Full Changelog: v2.0.6...v2.0.7

v2.0.6

05 May 10:02
e5e5b07
Compare
Choose a tag to compare

该版本修复了如下问题:

如果视频已经下载完并成功合并,但视频下载状态还未保存至数据库中时程序被中断,继续运行时程序会尝试重新下载该视频并合并。
由于此时 ffmpeg 检测到目标文件已存在,需要手动在命令行中输入 'Y' 才能继续。但由于程序不会进行 stdin 操作,因此 ffmpeg 会卡在“是否 overwrite” 的询问无法继续运行。
该版本为 ffmpeg 的调用添加了 -y 参数,当目标文件已存在时默认进行覆盖,不会再询问。

What's Changed

  • fix: 修复当目标文件已存在时 ffmpeg 卡住的问题 by @amtoaer in #99

Full Changelog: v2.0.5...v2.0.6

v2.0.5

03 May 05:04
cd2bd9c
Compare
Choose a tag to compare
  1. 替换日志库,现在日志的时间将读取本地时间,而非固定为 UTC 时间。
  2. 调低并发下载量与 read_timeout 值,尝试缓解下载速度慢时出现的阻塞现象。

What's Changed

  • Dockerfile - 保留tzdata by @ky0utarou in #91
  • chore: 使用 tracing 替换 env_logger by @amtoaer in #93
  • chore: 减少并发下载量与 read_timeout 值 by @amtoaer in #96

New Contributors

Full Changelog: v2.0.4...v2.0.5

v2.0.4

29 Apr 05:57
e732e7d
Compare
Choose a tag to compare

What's Changed

  • feat: 放宽数据库连接池的连接数和获取时间,避免 time out 错误 by @amtoaer in #87

Full Changelog: v2.0.3...v2.0.4

v2.0.3

28 Apr 16:14
Compare
Choose a tag to compare

手写的 ChangeLog

该版本主要引入了一个功能,额外拷贝一份 poster 作为 fanart,方便 emby 官方客户端或一些第三方程序使用该图作为背景。
然而,已经下载过的视频不会触发这个拷贝过程,因此我写了一个简单的 python 脚本来对已有的视频做这个操作,该脚本位于源码仓库的 scripts/2.0.3_add_fanart.py,使用方法:

python 2.0.3_add_fanart.py <path1> <path2> ...

脚本内注释有对脚本的更多说明。


以下是 emby 官方 web 端的效果图,可以看到 emby 会读取 fanart 作为详情页的背景图:

What's Changed

  • refactor: 为 serde_json::Value 实现 validate trait,避免重复代码 by @amtoaer in #82
  • feat: 拷贝一份 poster 作为 fanart 使用 by @amtoaer in #84
  • build: 添加 justfile,方便本地构建镜像 by @amtoaer in #85

Full Changelog: v2.0.2...v2.0.3

v2.0.2

26 Apr 12:02
0958893
Compare
Choose a tag to compare

What's Changed

  • fix: 修复 filter option 未使用的问题 by @amtoaer in #80
  • style: 尽量使用绝对路径引入包 by @amtoaer in #81

Full Changelog: v2.0.1...v2.0.2

v2.0.1

25 Apr 15:47
aa9d8c9
Compare
Choose a tag to compare

手写 changelog 好累啊,下个版本看看能不能安排一个自动生成(悲

fix

  • 配置文件存在但格式错误将不会再覆盖为默认配置,而是提示错误信息(#71
  • 定位并解决了一个风控的判断错误,并为请求设置超时时间,避免长时间阻塞(#77
  • 修复程序第一次执行时生成的默认配置文件中不存在 credential 的问题(#78

feat

  • 支持在模板中截断文本,避免路径过长(#73
    • 语法为: { truncate 占位符 要截断的长度 },如 { truncate title 5 } 指截取 title 的前 5 个字符。注意此处的字符是指 char 而非 byte,无论是中文还是英文、数字、特殊符号均作为一个 char 处理
  • 支持 scan-only 参数,开启该参数后将仅向数据库中写入视频信息而跳过下载流程(#76
    • 可通过将环境变量 SCAN_ONLY 设置为一个非空值,或指定 --scan-only 命令行参数启用
    • 该功能主要用于手动从 1.0 迁移,具体迁移思路请参考该评论

chore

  • 该版本开始设置默认的日志等级为 info(#75
    • 此前未在程序内进行额外指定,默认仅会打印 error
    • 该变动主要影响非 docker 版,docker 内已经默认设置了 RUST_LOG 环境变量