AI摘要:Bangumi-syncer是一个自动同步Plex/Emby/Jellyfin与Bangumi的工具,可以让用户在观看新番后自动更新Bangumi上的观看状态。该工具独立运行,通过Webhook接收播放平台的通知,然后调用Bangumi API进行同步。支持自定义Webhook、Tautulli、Plex Webhooks、Emby通知和Jellyfin插件等多种同步方式。项目已经开源,后续计划支持Docker部署和多账号同步等功能。
让你的Plex/Emby/Jellyfin与Bangumi自动同步!
背景
自从搭建自己的Plex媒体库已经过去近3年时间,去年年初也重新拾起了Bangumi记录自己的ACGN生活,在每个季度追番过程中一直有个想法:如果在Plex里看完了一集后能自动同步标记到Bangumi就好了。为此我曾多次全网尝试搜索类似的解决方案,除了jellyfin-plugin-bangumi可以在Jellyfin平台实现与Bangumi同步打格子的功能外,并没有适用于Plex的配套方案。等待一年后,我决定自己自己做一个同步工具。
简介
同步工具独立运行,类似于外部扩展一样的存在。当平台在播放完成后通过Webhook通知到Bangumi-syncer,再由Bangumi-syncer调用Bangumi Api,实现在客户端看完后自动同步打格子的功能。
项目主页:
安装
Windows
请保证Python版本3.7以上,并安装以下依赖
pip install requests fastapi pydantic uvicorn[standard]- 下载 zip并解压到任意文件夹。 发布页
- 双击
start.bat,无报错即可 - 如果你希望修改默认端口号,可以用文本编辑器打开
start.bat,修改--port 8000为--port 你的自定义端口号
Docker
调试中,即将支持
配置
- 修改config.ini,根据注释说明,填写
username、access_token、single_username三项
使用
方式一:自定义Webhook
- 运行Bangumi-syncer
在观看平台完成播放后,构建以下json格式的Webhook
{ "media_type": 媒体类型(目前写死episode), "title": 中文名, "ori_title": 原名(取不到就给空), "season": 季度, "episode": 集数, "release_date": 发布日期(取不到第一集的给当前集数的也行,格式YYYY-MM-DD), "user_name": 用户名(同步发起方的用户名) }比如
{ "media_type": "episode", "title": "我心里危险的东西", "ori_title": "僕の心のヤバイやつ", "season": 2, "episode": 12, "release_date": "2023-04-01", "user_name": "SanaeMio" }- 将以上json发送到
http://{ip}:8000/Custom,ip根据本机情况填写 - 播放完成后,查看
控制台日志或log.txt是否同步成功
方式二:Tautulli
(默认您已将Plex与Tautulli绑定完成,以下内容只需要设置一次)
- 运行Bangumi-syncer
- 打开Tautulli控制面板,右上角
Settings->Notification Agents->Add a new notification agent-> 选择Webhook
- 在弹出页面的
Configuration中的Webhook URL填写http://{ip}:8000/Custom,ip根据本机情况填写
Triggers勾选Watched
Conditions建议填写,以减少Webhook请求次数。这里我限制了用户名和单集的时候才会触发Webhook。
第一个条件是限制用户名,改成自己的。第二个条件是限制媒体类型为单集,写死为episode。Condition Logic填写为{1} and {2},表示两个条件同时满足时才触发。
Data中展开Watched,在JSON Data中填写如下通知模版,然后点击右下角Save保存设置
{"media_type": "{media_type}", "title": "{show_name}", "ori_title": " ", "season": "{season_num}", "episode": "{episode_num}", "release_date": "{air_date}", "user_name": "{username}"}- 在Plex播放完成后,观察
控制台日志或log.txt是否同步成功
方式三:Plex Webhooks
(默认您的账号已拥有Plex Pass,以下内容只需要设置一次)
- 运行Bangumi-syncer
- 打开Plex控制面板,右上角
设置->Webhooks->添加 Webhook
- 填写网址为
http://{ip}:8000/Plex,ip根据本机情况填写,点击保存修改 - 在Plex播放完成后,查看
控制台日志或log.txt是否同步成功
方式四:Emby通知
- 运行Bangumi-syncer
- 打开Emby控制面板 ->
应用程序设置->通知->添加通知-> 选择Webhooks
- 名称随意填写,URL填写
http://{ip}:8000/Emby,ip根据本机情况填写,请求内容类型选择application/json,Events里只勾选标记为已播放,将媒体库事件限制为根据自己情况,建议只勾选包含动画的库,最后点击储存 - 在Emby播放完成 或 手动标记为已播放后,查看
控制台日志或log.txt是否同步成功
方式五:Jellyfin插件
- 运行Bangumi-syncer
- 打开Jellyfin控制台 ->
插件->目录-> 拉到最下面找到点进Webhook-> 选择8.0.0.0版本,点击Install安装此插件然后 重启服务器
- 打开Jellyfin控制台 ->
插件->我的插件-> 点进Webhook。Server Url里输入你的Jellyfin地址,点击Add Generic Destination
- 展开下方的
Generic,Webhook Name随便填,Webhook Url输入http://{ip}:8000/Jellyfin,ip根据本机情况填写。Notification Type只选中Playback Stop,Item Type只选中Episodes。Template填写如下模版,然后点击Save保存设置
{"media_type": "{{{ItemType}}}","title": "{{{SeriesName}}}","ori_title": " ","season": {{{SeasonNumber}}},"episode": {{{EpisodeNumber}}},"release_date": "{{{Year}}}-01-01","user_name": "{{{NotificationUsername}}}","NotificationType": "{{{NotificationType}}}","PlayedToCompletion": "{{{PlayedToCompletion}}}"}- 在Jellyfin播放完成后,查看
控制台日志或log.txt是否同步成功
计划
✅ 支持自定义Webhook同步标记
✅ 支持Plex(Tautulli)同步标记
✅ 支持指定单用户同步
✅ 适配Plex原生Webhook(需要Plex Pass)
✅ 适配Emby通知
✅ 适配Jellyfin(需要jellyfin-plugin-webhook插件)
⬜️ 支持Docker部署
⬜️ 支持多账号同步
⬜️ ……
总结
做了这个小工具后终于满足了我追番期间看完自动打格子的需求,终于可以更加优雅愉快的看番了。同时,这也是我第一个开源项目,通过做这个项目,学习并熟悉了Github Actions自动化流程,真的是很便利呢。虽然自己并不是专业的Python开发者,但借助以往魔改真寻机器人的经验及现代AI的辅助,竟也很快完成了开发工作,不得不感叹现在AI进步的速度以及对工作生活的影响之大。










请问支持对以观看番剧剧集打格子吗
Pyrron 09-30
目前是没有的,您可以描述下您的需求,后续我可以添加这个功能
早喵 10-07 回复 @Pyrron
在设置里设定特定的库,然后syncer对库中以观看动画做批量同步处理
Pyrron 10-07 回复 @早喵
请求制作docker容器版安装
jacksen168 05-26
搁久了给忘了docker上还跑不起来来着...最近会看下
早喵 05-26 回复 @jacksen168
许愿: 也能联系矿神做个群晖nas套件版就好了 [wink]~
jacksen168 05-27 回复 @早喵
docker问题已经修复了,简单测了下功能ok,README更新了群晖教程是ai写的,不确定是否准确,如果有问题可以提Issues

因为我手里没有群晖,不太了解矿神套件是个什么流程,如果直接用docker能实现其实也不是非得套件(懒狗发言
早喵 05-30 回复 @jacksen168
其实都差不多,群晖内置docker容器,docker能用就行。群晖套件只是方便一点而已(点一下安装就行了,好像不止一点[哭笑])
jacksen168 05-30 回复 @早喵
真棒!
bnqrvviwww 2024-11-20
早喵生活好精致,没有任何规划的摸鱼达人路过
八城十八 2024-05-02