AI摘要

🧾 详细介绍

bili-sync 是一款专为 NAS 用户编写的哔哩哔哩同步工具。基本的工作原理是使用用户填写的凭据定期扫描视频合集、收藏夹等,获取到本地未下载过的内容并保存到本地,维持本地视频库与哔哩哔哩网站的同步。下载的内容包括视频、封面、弹幕、标签与简介信息等,这些文件整体保持与 Emby、Jellyfin 等媒体服务器软件兼容的文件布局,使得目的文件夹可以直接被作为媒体库添加到这些软件中,无需干预自动识别。


✨ 核心亮点

  • 🦀 高性能实现:基于 Rust + Tokio 编写,运行高效、资源占用低,适合长期部署在 NAS 或服务器上
  • 📥 自动同步下载:定期扫描用户的收藏夹和视频合集,自动下载本地未保存的新内容
  • 🧩 丰富的下载内容:支持下载视频文件、封面图、弹幕、标签、简介,甚至 CC 字幕(可转为 SRT 格式)
  • 🖥️ Web 管理界面:内置 WebUI,可远程查看任务状态、管理下载、重置失败任务等
  • 🧠 媒体服务器友好:下载结构兼容 Emby、Jellyfin 等媒体库,支持自动识别与刮削
  • 🔗 原视频链接保留:视频简介中自动附带原始 B 站链接,便于回访与分享
  • 🧰 优雅退出机制:支持 SIGINT/SIGTERM 信号处理,适合自动化部署场景
  • 🧪 错误处理优化:网络异常不计入重试,日志信息更丰富,便于排查问题
  • 🐳 Docker 支持完善:提供官方镜像,支持 Linux/amd64 与 arm64 架构,部署简单

🐳部署指南

以下是使用 Docker Compose 部署 Bili-Sync 的详细步骤,其它部署方式请参考 Bili-Sync说明

🎯 Docker Compose

docker-compose.yml 文件

services:
  bili-sync-rs:
    image: amtoaer/bili-sync-rs:latest
    restart: unless-stopped
    network_mode: bridge
    tty: true
    user: 1000:1001
    hostname: bili-sync-rs
    container_name: bili-sync-rs
    ports:
      - 12345:12345
    volumes:
      - ./config:/app/.config/bili-sync
      - ./BilibiliVideos:/home/amtoaer/HDDs/Videos/Bilibilis/
    # 如果你使用的是群晖系统,请移除最后的 logging 配置,否则会导致日志不显示
    logging:
      driver: "local"

  1. 在飞牛主页面找到 Docker 打开后,切换菜单 Compose -> 新增项目

  1. 创建项目页面根据实际情况定义 项目名称、选择 路径,并把上面 docker-compose.yml 文件内容复制填入 来源 文本框内容。按需修改检查无误后点击 确定 按钮进行部署

  1. 获取 认证Token

  2. 获取 sessdatabili_jctbuvid3dedeuserid
    此教程以 谷歌浏览器(Chrome)为例,其它浏览器获取方式请参考凭据获取流程获取

    • 按 F12 打开开发者工具

    • 在工具窗口上方选择 应用程序 选项卡

    • 在左侧找到【存储/Cookies】,选中任意哔哩哔哩域名,在右侧即可找到对应值,复制出来备用。

    • 获取 ac_time_value

    在工具窗口上方选择 控制台 选项卡,执行下面代码后按 Enter 获取值。

    window.localStorage.ac_time_value


    执行后显示 undefined ,就退出账号再执行命令获取。之后再获取sessdatabili_jctbuvid3dedeuserid


📖使用

  1. 浏览器访问 http://nas-ip:12345
  2. 打开设置页面

  3. 进行必要配置(B站认证)
    此处填写上面获取到的sessdatabili_jctbuvid3dedeuseridac_time_value
  4. 添加视频源订阅
    用户在正确填写“B 站认证”后可以在“快捷订阅”部分查看自己创建的收藏夹、关注的合集与 UP 主一键订阅,也可以在“视频源”页手动添加并管理。

    对于手动添加的视频源,可参考如下页面获取所需的参数:
  5. 收藏夹
  6. 合集 / 列表
  7. 用户投稿
    添加完订阅就无需进行任何干预了,视频下载任务会在后台每隔特定时间(由配置中的“同步间隔”决定)自动运行一次,刷新并下载启用的视频源!

⚠️ 总结

bili-sync是一款哔哩哔哩内容同步助手,可通过用户提供的登录信息,定期扫描视频合集与个人收藏,自动下载本地尚未保存的新内容。下载内容包括视频文件、封面图、弹幕、标签信息及视频简介等,文件结构与 Emby、Jellyfin 等主流媒体服务器高度兼容。也就是说,下载后的内容可直接集成至媒体服务器,无需额外配置即可实现自动识别与智能管理。