今天无意中看到一个开源项目,喜欢追剧的可以上。作者的项目介绍写得非常详细,所以我就直接转发作者的内容吧。
NAS媒体库资源自动搜刮整理工具
文章目录[隐藏]
- NAS媒体库资源自动搜刮整理工具
今天无意中看到一个开源项目,喜欢追剧的可以上。作者的项目介绍写得非常详细,所以我就直接转发作者的内容吧。
项目开源地址:https://github.com/jxxghp/nas-tools
NAS媒体库资源自动搜刮整理工具
Docker源:https://hub.docker.com/repository/docker/jxxghp/nas-tools
TG交流:https://t.me/nastool_chat
功能:
1、PT自动下载
-
通过订阅PT站RSS以及配置过滤关键字,实现PT资源自动检索追新,可用于快速累积媒体库资源、追剧、追未出资源的电影等,支持qBittorrent或transmission客户端。
-
在豆瓣发现想看的电影进行标记,系统自动在各PT站检索资源并添加下载【开发中】。
2、媒体识别和重命名
-
PT下载完成的资源自动识别是电影还是电视剧,自动识别真实名称,通过【复制】或【硬链接】的方式转移到Emby/Plex媒体库目录并重命名,搭建Emby/Plex 100%识别的完美媒体库(支持国产剧集)。PT下载目录保持不动可继续保种,也可设置保种时间定时自动删种(仅建议复制模式下使用)。
-
支持对目录进行监控,目录下新增了文件时,自动识别媒体信息并【复制】或【硬链接】到媒体库并重命名。
3、消息服务
- 支持ServerChan、微信、Telegram等消息通知服务, 运行状态推送消息到手机上,比如新增加了PT下载、硬链接完成等。甚至还能在手机上控制服务运行。
4、其它
- PT站自动签到,电影预告片搜刮和下载(已有电影的预告片、热门预告片),Emby播放状态通知(需要在Emby中配置webhook插件)等等,不需要的可以在配置中关掉。
更新日志
2022.2.21
- 支持qbittorrent、transmission两种PT客户端(强烈推荐使用qb),注意新加了配置项:pt->pt_client
2022.2.19
- 增加存量资源整理工具及说明,支持复制或者硬链接方式将已有的存量资源批量整理成媒体库
2022.2.18
- 配置文件由ini调整为yaml,配置方式更简洁,使用最新版本需要转换一下配置文件
- 增加配置文件检查与日志输出
安装
1、Docker
jxxghp/nas-tools:latest
docker push jxxghp/nas-tools:latest
2、本地运行
python3.8版本
python3 -m pip install -r requirements.txt
nohup python3 run.py -c ./config/config.yaml &
3、群晖套件
仅适用于dsm6,要先安装python3套件(版本大于3.7)。
https://github.com/jxxghp/nas-tools/releases
配置
1、申请相关API KEY
-
在 https://www.themoviedb.org/ 申请用户,得到API KEY:rmt_tmdbkey。
-
在 https://work.weixin.qq.com/ 申请企业微信自建应用(推荐),获得corpid、corpsecret、agentid,扫描二维码在微信中关注企业自建应用;或者在 https://sct.ftqq.com/ 申请 Server酱SendKey:sckey;或者在Telegram中申请自建机器人,获得:telegram_token(关注BotFather生成机器人)、telegram_chat_id(关注getuserID拿到ID)。
-
申请PT站用户,至少要有1个不然没法玩。点PT的RSS图标获取RSS链接,注意项目标题格式只选中标题,不要勾选其它的,以免误导识别。
2、配置文件
-
确定是用【复制】模式还是【硬链接】模式:复制模式下载做种和媒体库是两份,多占用存储(下载盘大小决定能保多少种),好处是媒体库的盘不用24小时运行可以休眠;硬链接模式不用额外增加存储空间,一份文件两份目录,但需要下载目录和媒体库目录在一个磁盘分区或者存储空间。两者在媒体库使用上是一致的,按自己需要在[pt]rmt_mode按说明配置。
-
参考 config/config.yaml的配置示例进行配置,填入申请好的相关API KEY,以及媒体库电影、电视剧存储路径、PT站RSS信息、qBittorrent/transmission信息等等,示例文件中有详细的说明。
-
docker:需要映射/config目录,并将修改好后的config.yaml放到配置映射目录下;需要映射WEB访问端口(默认3000);需要映射媒体库目录及PT下载目录、ResilioSync目录到容器上并与配置文件保持一致。
-
群晖套件:在套件安装界面中设置配置文件路径,比如:/homes/admin/.config/nastool/config.yaml,并将修改好的配置文件放置在对应路径下。
3、设置Emby
- 在Emby的Webhooks插件中,设置地址为:http(s)://IP:3000/emby,勾选“播放事件”和“用户事件(建议只对管理用户勾选)“
- 按以下目录结构建立文件夹,并分别设置好媒体库(二级目录可选,不想分类的可关闭)。
电影
精选 华语电影 外语电影
电视剧
国产剧 欧美剧 日韩剧 动漫 纪录片 综艺 儿童
预告
4、配置ResilioSync(可选)
- 安装resiliosync软件,配置好神KEY(主KEY:BCWHZRSLANR64CGPTXRE54ENNSIUE5SMO,大片抢先看:BA6RXJ7YOAOOFV42V6HD56XH4QVIBL2P6,也可以使用其他的Key),同步目录注意要配置到本程序的监控目录中。
5、配置微信应用消息及菜单(可选)
如果只是使用消息接受服务,则配置好配置文件中的[wechat]前三个参数就可以了,如果需要通过微信进行控制,则需要按如下方式配置:
-
配置微信消息服务:在企业微信自建应用管理页面-》API接收消息 开启消息接收服务,URL填写:http(s)://IP:3000/wechat,Token和EncodingAESKey填入配置文件[wechat]区。
-
配置微信菜单控制:有两种方式,一是直接在聊天窗口中输入命令或者PT下载的链接;二是在https://work.weixin.qq.com/wework_admin/frame#apps 应用自定义菜单页面按如下图所示维护好菜单(条目顺序需要一模一样,如果不一样需要修改config.py中定义的WECHAT_MENU菜单序号定义),菜单内容为发送消息,消息内容为命令。 命令与功能的对应关系:
命令 功能 /rss RSS下载 /ptt PT文件转移 /ptr PT删种 /pts PT签到 /hotm 热门预告 /mrt 预告片下载 /rst ResilioSync同步
6、整理存量媒体资源(可选)
经过以上步骤整套程序就已经搭完了,不出意外所有新下载的资源都能自动整理成完美的媒体库了。但是之前已经下载好的资源怎么办?按下面操作,把存量的媒体资源也整理到媒体库里来。
- Docker版本,宿主机上运行以下命令,nas-tools修改为你的docker名称,/xxx/xxx修改为需要转移的媒体文件目录。
docker exec -it nas-tools /bin/bash python3 /nas-tools/rmt/media.py -c /config/config.yaml -d /xxx/xxx
- 群晖套件版本,ssh到后台运行以下命令,同样修改配置文件路径以及/xxx/xxx修改为需要转移的媒体文件目录。
/var/packages/py3k/target/usr/local/bin/python3 /var/packages/nastool/target/rmt/media.py -c /volume1/homes/admin/.config/nastool/config.yaml -d /xxx/xxx
- 本地直接运行的,cd 到程序根目录,执行以下命令,/xxx/xxx修改为需要转移的媒体文件目录。
python3 rmt/media.py -c config/config.yaml -d /xxx/xxx
使用
-
WEB UI界面,可以修改配置、手工启动服务
-
手机端通知和控制界面,实时接收程序运行状态,控制服务运行(输入命令或者点击菜单)
-
效果(这些分类都是程序自动维护的)
TODO
- 接入豆瓣自动拉取关注电影、电视剧
- PT站资源全局检索(目前依赖RSS订阅,仅支持增量发布内容)
本文摘自:https://wp.gxnas.com/11859.html,感谢原作者