飞牛番组管家
飞牛追番助手,自动同步飞牛影视观看记录至 Bangumi。

🎯 核心特性
将飞牛影视的观看记录自动同步至 Bangumi追番,以解决飞牛影视缺乏Webhook主动推送功能。
- 智能跨季识别:解决飞牛长篇连载合并与 Bangumi 多季拆分的冲突。
- 现代化UI:自适应网格布局,支持日/夜间模式无缝切换,并提供实时后台日志数据流。
- 数据安全:程序仅读取数据库,零写入操作。
🧭 操作指南
- 授权绑定:在系统配置栏填入 Bangumi Access Token。
- 进度设定:自定义判定“已看完”的最低播放百分比。
- 精准筛选:支持按飞牛影视账号或时间范围过同步观看记录。
- 自动同步:开启自动同步并设定间隔(1分钟~1小时),系统将接管所有同步任务。
🚢 Docker Compose 部署
使用 Docker Compose 方式可快速、优雅地启动服务。
📌 部署准备
💡 快速开始
1. 创建挂载目录与空文件
建立配置文件夹并初始化存储文件:
mkdir -p /vol1/docker/fn-bangumi-sync
cd /vol1/docker/fn-bangumi-sync
touch config.json synced.json
2. 编写部署文件
新建 docker-compose.yml,并填入以下参数:
services:
fn-bangumi-sync:
container_name: fn-bangumi-sync
image: leclerca/fn-bangumi-sync:latest
ports:
- "5000:5000"
volumes:
# 只读挂载飞牛底层数据库
- /usr/local/apps/@appdata/trim.media/database:/db:ro
# 映射本地配置与记忆库
- ./config.json:/app/config.json
- ./synced.json:/app/synced.json
environment:
- TZ=Asia/Shanghai
- DB_PATH=/db/trimmedia.db
restart: unless-stopped
3. 启动并访问
docker-compose up -d
服务启动后,通过浏览器访问 http://NAS的IP地址:5000 进入管理终端。
🖥️ 详细信息显示
- 状态面板:实时输出数据库状态、待同步、上次执行时间。
- 播放进度:自动格式化剧集名称与集数,直观呈现精确到小数点的播放进度。
- 终端显示:集成 EventSource 推送,同步全过程的 API 请求与匹配结果清晰可见。
💻 技术实现
- 轻量容器:基于
Python 3.11-alpine 极简镜像构建,无冗余依赖。
- 高效驱动:
Flask 提供核心路由处理,APScheduler 掌控非阻塞定时任务。
- 干净前端:抛弃繁重框架,采用原生 HTML5/ES6 结合 Jinja2 模板直出。

🔗 项目地址
GitHub 仓库:https://github.com/wabisabi525/fn-bangumi-sync
(如果您觉得好用,欢迎 Star 一下让更多人知道!)