5944298f107b596f98d0fff8297e199de747f669
* feat: 添加扫码登录功能,支持生成二维码并轮询登录状态 * feat: 增强扫码登录功能的测试,完善二维码生成与状态轮询的文档注释 * refactor: 后端改动之:1)拆分 login 到 credential 中;2)扫码登录和刷新凭据时复用相同的 extract 函数;3)精简注释。 * refactor: 前端改动之:1)扫码在单独的弹窗页处理;2)不同 status 下采用相同布局,避免状态变化导致布局跳动 * format --------- Co-authored-by: zkl <i@zkl2333.com>
简介
Note
点击此处查看文档
bili-sync 是一款专为 NAS 用户编写的哔哩哔哩同步工具,由 Rust & Tokio 驱动。
效果演示
管理页
媒体库概览
媒体库详情
播放(使用 infuse)
文件排布
功能与路线图
- 使用用户填写的凭据认证,并在必要时自动刷新
- 支持收藏夹与视频列表/视频合集的下载
- 自动选择用户设置范围内最优的视频和音频流,并在下载完成后使用 FFmpeg 合并
- 使用 Tokio 与 Reqwest,对视频、视频分页进行异步并发下载
- 使用媒体服务器支持的文件命名,方便一键作为媒体库导入
- 当前轮次下载失败会在下一轮下载时重试,失败次数过多自动丢弃
- 使用数据库保存媒体信息,避免对同个视频的多次请求
- 打印日志,并在请求出现风控时自动终止,等待下一轮执行
- 提供多平台的二进制可执行文件,为 Linux 平台提供了立即可用的 Docker 镜像
- 支持对“稍后再看”内视频的自动扫描与下载
- 支持对 UP 主投稿视频的自动扫描与下载
- 支持限制任务的并行度和接口请求频率
- 支持单个文件的分块并行下载
- 支持使用 Web UI 配置,查看并管理视频、视频源
参考与借鉴
该项目实现过程中主要参考借鉴了如下的项目,感谢他们的贡献:
- bilibili-API-collect B 站的第三方接口文档
- bilibili-api 使用 Python 调用接口的参考实现
- danmu2ass 本项目弹幕下载功能的缝合来源
Description
Languages
Rust
52.8%
Svelte
39.5%
TypeScript
6.3%
CSS
0.6%
Python
0.3%
Other
0.3%





