# bili-sync 是什么？

> [!TIP]
> 当前最新程序版本为 v2.3.0，文档将始终与最新程序版本保持一致。

bili-sync 是一款专为 NAS 用户编写的哔哩哔哩同步工具。

它的基本的工作原理是使用用户填写的凭据定期扫描视频合集、收藏夹等，获取到本地未下载过的内容并保存到本地，维持本地视频库与哔哩哔哩网站的同步。

下载的内容包括视频、封面、弹幕、标签与简介信息等，这些文件整体保持与 Emby、Jellyfin 等媒体服务器软件兼容的文件布局，使得目的文件夹可以直接被作为媒体库添加到这些软件中，无需干预自动识别。

## 使用截图

> [!WARNING]
> 媒体库类型请选择“混合内容”，否则可能导致多页视频无法正常显示。



### 概览
![概览](/assets/overview.webp)
### 详情
![详情](/assets/detail.webp)
### 播放（使用 infuse）
![播放](/assets/play.webp)
### 文件排布
![文件](/assets/dir.webp)

## 功能与路线图

- [x] 使用用户填写的凭据认证，并在必要时自动刷新
- [x] 支持收藏夹与视频列表/视频合集的下载
- [x] 自动选择用户设置范围内最优的视频和音频流，并在下载完成后使用 FFmpeg 合并
- [x] 使用 Tokio 与 Reqwest，对视频、视频分页进行异步并发下载
- [x] 使用媒体服务器支持的文件命名，方便一键作为媒体库导入
- [x] 当前轮次下载失败会在下一轮下载时重试，失败次数过多自动丢弃
- [x] 使用数据库保存媒体信息，避免对同个视频的多次请求
- [x] 打印日志，并在请求出现风控时自动终止，等待下一轮执行
- [x] 提供多平台的二进制可执行文件，为 Linux 平台提供了立即可用的 Docker 镜像
- [x] 支持对“稍后再看”内视频的自动扫描与下载
- [x] 支持对 UP 主投稿视频的自动扫描与下载
- [x] 支持限制任务的并行度和接口请求频率
- [ ] 下载单个文件时支持断点续传与并发下载
