前言
Bili Sync:一款专为 NAS 用户编写的哔哩哔哩同步工具,自动下载哔哩哔哩收藏内容,格式兼容 Emby、Jellyfin 等媒体服务器,可直接添加为媒体库自动识别。
功能与路线图
· 使用用户填写的凭据认证,并在必要时自动刷新
· 支持收藏夹与视频列表/视频合集的下载
· 自动选择用户设置范围内最优的视频和音频流,并在下载完成后使用 FFmpeg 合并
· 使用 Tokio 与 Reqwest,对视频、视频分页进行异步并发下载
· 使用媒体服务器支持的文件命名,方便一键作为媒体库导入
· 当前轮次下载失败会在下一轮下载时重试,失败次数过多自动丢弃
· 使用数据库保存媒体信息,避免对同个视频的多次请求
· 打印日志,并在请求出现风控时自动终止,等待下一轮执行
· 提供多平台的二进制可执行文件,为 Linux 平台提供了立即可用的 Docker 镜像
· 支持对“稍后再看”内视频的自动扫描与下载
· 支持对 UP 主投稿视频的自动扫描与下载
· 支持限制任务的并行度和接口请求频率
· 支持单个文件的分块并行下载
· 支持使用 Web UI 配置,查看并管理视频、视频源
准备
这里先提前说一下怎么获取 bilibili 认证信息,分别需要获取:SESSDATA,bili_jct,buvid3,dedeuserid 和 ac_time_value 这 5 个参数。浏览器使用无痕打开 bilibili 首页
登录账号,按 F12 进入开发者工具
在控制台输入下面命令,获取 ac_time_value 的值
window.localStorage.ac_time_value
点击顶部切换,应用程序 –> Cookie
获取 bili_jct,buvid3,dedeuserid 和 SESSDATA 的值
🐳部署容器
使用 Docker Compose一键部署(推荐)
services:
bili-sync:
image: amtoaer/bili-sync-rs:latest
container_name: bili-sync
user: 0:0
ports:
- 12345:12345
volumes:
- /vol1/1000/docker/bili-sync/config:/app/.config/bili-sync
- /vol1/1000/docker/bili-sync/bilibili:/bilibili
restart: unless-stopped
参数说明 user:用户权限设置(根据实际情况设置,不设置默认 root) /app/.config/bili-sync(路径):存储程序配置的目录 /app/.config/bili-sync/upper_face(路径,可选):存储演员头像 /bilibili(路径):创建一个存放视频的目录
TIP:
初次启动需要一些时间,提示 CONFIG 的报错也是正常现象
点击启动后,需要先查看日志查看信息,生成的 token 等等需要用到
使用
浏览器中输入 http://NAS的IP:12345 就能看到界面
来到设置,输入日志获取的 Token 进行认证
切换到“B 站认证”,按要求填写之前获取的参数
就可以愉快使用了