[!info] Bili-Sync 简介
bili-sync 是一款专为 NAS 用户编写的哔哩哔哩同步工具。它的基本的工作原理是使用用户填写的凭据定期扫描视频合集、收藏夹等,获取到本地未下载过的内容并保存到本地,维持本地视频库与哔哩哔哩网站的同步。
下载的内容包括视频、封面、弹幕、标签与简介信息等,这些文件整体保持与 Emby、Jellyfin 等媒体服务器软件兼容的文件布局,使得目的文件夹可以直接被作为媒体库添加到这些软件中,无需干预自动识别。
Bili-Sync Docker 部署
Step 1 : 创建相关目录
创建一个文件夹,用于保存配置文件和 docker-compose.yml
文件。在改文件夹下创建 config
子文件夹用于存放配置文件,记住该文件夹位置,用于填写下文中 ${你希望存储程序配置的目录}
项
[!cite]+ 例如我的目录:
Docker/ └─ BiliSync/ └─ config/
再创建一个文件夹,用于保存视频文件。同时记住改文件夹位置,用于填写下文中 ${你希望存储视频的目录}
项
[!cite]+ 例如我的目录:
Media/ └─ BiliBili/
Step 2 : 创建 Docker Compose
配置 Docker Compose 文件模板:
services:
bili-sync-rs:
image: amtoaer/bili-sync-rs:latest
restart: unless-stopped
network_mode: bridge
# 该选项请仅在日志终端支持彩色输出时启用,否则日志中可能会出现乱码
tty: true
# 非必需设置项,推荐设置为宿主机用户的 uid 及 gid (`$uid:$gid`)
# 可以执行 `id ${user}` 获取 `user` 用户的 uid 及 gid
# 程序下载的所有文件权限将与此处的用户保持一致,不设置默认为 Root
user: 1000:1000
hostname: bili-sync-rs
container_name: bili-sync-rs
# 程序默认绑定 0.0.0.0:12345 运行 http 服务
# 可同时修改 compose 文件与 config.toml 变更服务运行的端口
ports:
- 12345:12345
volumes:
# 将 ${你希望存储程序配置的目录} 替换为你刚刚创建的用于存放配置文件的目录
- ${你希望存储程序配置的目录}:/app/.config/bili-sync
# metadata/people 正确挂载才能在 Emby 或 Jellyfin 中显示 UP 主头像
# 右边的目标目录不固定,只需要确保目标目录与 bili-sync 中填写的“UP 主头像保存路径”保持一致即可
# 由于飞牛影视目前不支持人物功能,故可暂先不做设置
- ${Emby 或 Jellyfin 配置下的 metadata/people 目录}:/app/.config/bili-sync/upper_face
# 接下来可以挂载一系列用于保存视频的目录,接着在 bili-sync 中配置将视频下载到这些目录即可
- ${你希望存储视频的目录}:${稍后在 bili-sync 中设置的存放视频目录}
[!cite]- 例如我的配置:
services: bili-sync-rs: image: amtoaer/bili-sync-rs:latest restart: unless-stopped network_mode: bridge tty: true user: 1000:1000 hostname: bili-sync-rs container_name: bili-sync-rs ports: - 12345:12345 volumes: - /vol3/1000/Docker/BiliSync/config:/app/.config/bili-sync - /vol3/1000/Media/BiliBili:/media
配置完成后保存为docker-compose.yml
文件,并将该文件保存至上文创建的用于存放配置文件的目录
[!cite]+ 例如我的目录:
Docker/ └─ BiliSync/ ├─ config/ └─ docker-compose.yml
桌面打开Docker,点击侧栏 Compose -> 新增项目
项目名称 填写
bili-sync-rs
路径 选择上文创建的用于用于保存配置文件和
docker-compose.yml
文件的目录
此时会弹窗 “所选的的路径已包含 docker-compose 配置文件”,点击 “确定” 即可。此时系统会自动导入 Compose 文件
[!cite] 例如我的实践:
点击 “确定” 创建后启动该 Compose
Step 3 : 获取auth_token
创建完成后点击侧栏 容器 -> ... -> 运行日志
查看容器日志,获取 auth_token
注意: 该 auth_token 信息仅在首次运行时打印,保存, 后面用得到。
进行初步配置
Step 1 : 授权验证
浏览器中输入 http://<NAS的IP>:12345
访问 Bili-Sync 后台界面
点击左侧边栏底部 “设置” -> 输入上文日志中获取的 auth_token
,进行验证
认证后就能设置基本设置、 B站认证、视频质量、弹幕渲染、高级设置等功能
Step 2 : B站验证
登录B站首页,并按 F12
打开开发者工具。
点击顶栏 应用
选项卡,并在左侧选中 存储 > Cookies > 任意一个域名
,找到 sessdata
、bili_jct
、buvid3
、dedeuserid
对应的4个值,依次保存。
``
点击顶栏 控制台
选项卡,粘贴下面命令获得ac_time_value
的值,若让输入“ 允许粘贴”便按照提示操作,将获取到的值保存。
window.localStorage.ac_time_value
返回 Bili-Sync 后台界面
点击左侧边栏底部 “设置” -> “B站认证”,输入前文获取的五个参数值,并点击 “保存配置”
初步使用指南
Part 1 : 配置下载收藏夹视频
前文进行 Docker Compose 文件配置时候,进行了如下映射,记住 ${稍后在 bili-sync 中设置的存放视频目录}
- ${你希望存储视频的目录}:${稍后在 bili-sync 中设置的存放视频目录}
点击左侧边栏 "快捷订阅 > 我创建的收藏夹”,选择目标收藏夹,点击 “+订阅”
在本地保存路径中填写 ${稍后在 bili-sync 中设置的存放视频目录}\自定义子目录
[!cite]+ 例如我的实践:
[!note]
也可以在左侧边栏 "内容管理 > 视频源” -> “收藏夹” 中手动添加收藏夹ID获取方式如图:先选中对应的收藏夹,地址栏复制fid
Part 2 : 配置下载关注的up主视频
点击左侧边栏 "快捷订阅 > 我关注的up主”,选择目标up主,点击 “+订阅” 并填入路径地址即可
[!note]
也可以在左侧边栏 "内容管理 > 视频源” -> “用户投稿” 中手动添加up主ID获取方式如图:先进入对应up主空间,地址栏复制id或者复制个人资料卡的 “UID” 选项
Part 3 : 配置合集下载
视频合集和视频列表虽然在哔哩哔哩网站交互上行为类似,但在接口层级是两个不同的概念,程序配置中需要对两者做出区分。
目前 B 站绝大部分内容都是视频合集(Season),视频列表(Series)是古早的功能,现在已经不常见了。
配置形式与区分方法
新版本 b 站网页端已经对两种类型做了初步整合,将需要的参数展示在了视频合集/视频列表的 URL 中,不再需要手动查看接口。URL 的路径格式为:
/{mid}/lists/{id}?type={season/series}
点开你想要订阅的视频合集/视频列表详情,对照查看 URL 即可获取所需参数。
视频合集
类型为 合集(Season)
,用户 ID 为 521722088
,合集 ID 为 1987140
。
视频列表
类型为 列表(Series)
,用户 ID 为 521722088
,列表 ID 为 387214
。
Part 4 : 视频下载进度监看
通过左侧边栏 “总览 > 日志” 可查看下载情况
通过做侧边栏 “内容管理 > 视频” 也可查看下载进度
完成下载之后在配置的文件夹中即可看到视频文件
影视库设置
Part 1 : 飞牛影视设置
在飞牛应用中心安装影视,设置可访问文件夹,包含 ${你希望存储视频的目录}
![[Pasted image 20250823082545.png]]
进入飞牛影视,创建媒体,选择内容类型为“电影”。“媒体文件夹” 中一定要包含 ${你希望存储视频的目录}
返回影视首页,等待挂削即可
评论区