主要功能如下:
1、管理和刮削存量影音库资源,将已有的存量资源识别和重命名,批量整理成媒体库;
2、新增下载资源进行硬链接转移,实现PT保种及媒体库刮削两不误;
3、PT站点管理及指标信息整合;
4、本地影视库资源洗版;
5、通过Nastoo主页,豆瓣或者企业微信等通道,直接在手机上控制订阅和模糊搜索影视资源,自动下载,自动刮削入库;
6、其他功能。
准备工作
完整的Nastools功能,需要以下外部接口或服务支持,因此下面的准备工作可以提前做,也可以在部署好之后再申请,并补充到Nastools页面。
1、申请TMDB API KEY;
2、部署Jellyfin/Emby/Plex;
3、安装Transmision或者qbittorrent;
4、部署jackett或者prowlarr;
5、申请消息通道wechat、serverchan、telegram、bark其中一个即可;
6、申请OpenSubtitles帐号或者部署ChineseSubFinder(推荐)
7、最好有一个PT站,也可以使用公共的BT站。
NASTOOLS搭建
使用docker compose搭建
新建docker-compose.yaml
文件如下,并以命令docker-compose up -d
启动。
version: "3.8"
services:
nas-tools:
image: hsuyelin/nas-tools:latest
ports:
- 3000:3000 # 默认的webui控制端口
volumes:
- ./config:/config # 冒号左边请修改为你想保存配置的路径
- /你的媒体目录:/你想设置的容器内能见到的目录 # 媒体目录,多个目录需要分别映射进来,需要满足配置文件说明中的要求
environment:
- PUID=0 # 想切换为哪个用户来运行程序,该用户的uid
- PGID=0 # 想切换为哪个用户来运行程序,该用户的gid
- UMASK=000 # 掩码权限,默认000,可以考虑设置为022
- NASTOOL_AUTO_UPDATE=false # 如需在启动容器时自动升级程程序请设置为true
- NASTOOL_CN_UPDATE=false # 如果开启了容器启动自动升级程序,并且网络不太友好时,可以设置为true,会使用国内源进行软件更新
#- REPO_URL=https://ghproxy.com/https://github.com/hsuyelin/nas-tools.git # 当你访问github网络很差时,可以考虑解释本行注释
restart: always
network_mode: bridge
hostname: nas-tools
container_name: nas-tools
参数说明
- 正常情况下,如果设置了
NASTOOL_AUTO_UPDATE=true
,重启容器即可自动更新nas-tools程序。 - 设置了
NASTOOL_AUTO_UPDATE=true
时,如果启动时的日志提醒你 "更新失败,继续使用旧的程序来启动...",请再重启一次,如果一直都报此错误,请改善你的网络。 - 设置了
NASTOOL_AUTO_UPDATE=true
时,如果启动时的日志提醒你 "无法安装依赖,请更新镜像...",则需要删除旧容器,删除旧镜像,重新pull镜像,再重新创建容器。 - 如在使用诸如emby、jellyfin、plex、qbittorrent、transmission、deluge、jackett、sonarr、radarr等等的docker镜像,请保证创建本容器时的PUID/PGID和它们一样。
- 在docker宿主上,登陆媒体文件所有者的这个用户,然后分别输入
id -u
和id -g
可获取到uid和gid,分别设置为PUID和PGID即可。 PUID=0
PGID=0
指root用户,它拥有最高权限,若你的媒体文件的所有者不是root,不建议设置为PUID=0
PGID=0
。- 硬链接映射关系图
Nas-tools软件配置
浏览器输入http://IP:3000,即可打开nastools主页,默认用户名admin,默认密码password
进入主页后,右上角小猫咪那里就是项目主页,请大家尽量都去学习一下,主页对项目的介绍非常完善了。同时好多功能和部署问题在wiki也有详细的解决办法;同时主页也有群组信息,大家可以加入兴趣组沟通学习。群组里面解决问题效率比较高。
主页进入后还看不到数据,现在开始进行参数配置。
配置比较容易出错,可以慢慢调整,注意查看配置参数说明。配置更改后无反应则需要重启Docker生效。
界面参数调整参考下面步骤:
基础设置
文件转移模式说明
目前支持三种模式:
复制:复制模式下载做种和媒体库是两份,多占用存储(下载盘大小决定能保多少种),好处是媒体库的盘不用24小时运行可以休眠
硬链接:硬链接模式不用额外增加存储空间,一份文件两份目录,但需要下载目录和媒体库目录在一个磁盘分区或者存储空间
软链接:软链接模式就是快捷方式,需要容器内路径与真实路径一致才能正常使用。
映射关系说明:
下载软件的下载路径 | link是硬链接的文件夹 |
---|---|
/mnt/nastool/movie | /mnt/link/movie |
/mnt/nastool/tv | /mnt/link/tv |
/mnt/nastool/anime | /mnt/link/anime |
就是需要保证两边的目录结构是相同的
硬链接里面的文件夹是用来添加到Emby、Jellyfin和Plex里面进行刮削的,也是用来添加到ChineseSubFinder下载字幕的文件夹。
目录同步
源目录:你的NASTOOLS容器映射的媒体目录
目的目录:link目录的路径
把所有目录都添加进来
媒体库配置
这里配置的是你媒体目录,也就是emby或者其他播放器配置的资源库目录 ;媒体目录也是你要创建硬链接的地方,也就是前面建立的link文件里里面的文件夹。
link里面的movie,tv以及anime文件夹不需要手动去创建,目录同步的时候会自动创建的。
按照上面目录同步的link文件夹把媒体库添加进来:
注意:硬链接不能跨盘,也不能跨映射目录,比如你设置了video的文件夹, 那么你针对video里的所有硬链接必须在这个video文件夹下。简单来说你硬链接的时候绝对路径前两级目录必须保持一直不然会硬链接失败。
媒体服务器
媒体服务器用来下载检查控重,媒体库展示等功能,是一个比较核心的接口。我这边选择了jellyfin服务器,部署过程不再扩展,只说明下配置的过程。
打开jellyfin的web页面,在控制台,拉到最后,有一个API密钥的选项
点击加号添加一个API,添加成功之后把API复制下来
然后到Nastool的媒体服务器这里,选择jellyfin,填入jellyfin的访问地址
和申请的API KEY
即可。
索引器
配置Jackett
使用docker compose搭建
version: '3.8'
services:
aria2:
image: 'linuxserver/jackett:latest'
container_name: jackett
restart: always
network_mode: bridge
ports:
- '9117:9117'
environment:
- HOME=/root
- LANG=en_US.UTF-8
- LANGUAGE=en_US.UTF-8
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- TERM=xterm
- XDG_CONFIG_HOME=/config
- XDG_DATA_HOME=/config
volumes:
- /mnt/jackett/config:/config #映射配置文件
- /mnt/jackett/downloads:/downloads #下载目录,如果只是用来索引不需要在jackett下载资源的话这个目录可以不用管
登录管理页面:http://yourip:9117
jackett添加索引资源
按照这样筛选,把中文的公共索引添加上
添加完索引之后,把API KEY复制下来
插件市场,安装jackett插件
打开配置:
填入地址和API KEY
勾选上立即运行一次,然后就可以了。
下载器配置
下载器顾名思义,就是将命中的订阅资源,推送给下载器进行下载,这里选择一个你常用的下载器即可,只能选择配置一个。
注意,此处下载器的目录是在nastool上面订阅的影视资源通过下载器自动下载后存储的目录。
字幕
ChineseSubFinder,中文字幕下载功能很强大,推荐使用
部署了字幕下载之后,就可以在目录同步的同时,把字幕也下载好。
使用docker-compose搭建
version: '3.8'
services:
chinesesubfinder:
image: allanpk716/chinesesubfinder:latest
volumes:
- /mnt/chinesesubfinder/config:/config # 冒号左边请修改为你想在主机上保存配置、日志等文件的路径
- /home/XXXX/XXXX/link/movie:/media/link/movie # 请修改为你的媒体目录,冒号右边可以改成你方便记忆的目录,多个媒体目录需要分别映射进来
- /home/XXXX/XXXX/link/电视剧:/media/link/tv
- /home/XXXX/mv/link/番剧:/media/link/fanju
- /home/XXXX/mv/movie:/media/movie
- /home/XXXX/mv/番剧:/media/fanju
- /home/XXXX/mv/电视剧:/media/tv
- /mnt/chinesesubfinder/browser:/root/.cache/rod/browser # 容器重启后无需再次下载 chrome,除非 go-rod 更新
environment:
- PUID=0 # uid
- PGID=0 # gid
- PERMS=true # 是否重设/media权限
- TZ=Asia/Shanghai # 时区
- UMASK=022 # 权限掩码
restart: always
network_mode: bridge
hostname: chinesesubfinder
container_name: chinesesubfinder
ports:
- 19035:19035 # 从0.20.0版本开始,通过webui来设置
- 19037:19037 # webui 的视频列表读取图片用,务必设置不要暴露到外网
logging:
driver: "json-file"
options:
max-size: "100m" # 限制docker控制台日志大小,可自行调整
搭建完之后访问http://yourip:19035
按强行停止,然后进入配置中心
添加电影目录
进入进阶设置,拉到最下面,输入TMDB API
然后进入字幕源设置,按照提示注册帐号,然后提取API KEY输入进去
最后进入实验室
把API勾选上,然后把API KEY复制下来
插件市场,安装chinesesubfinder插件
打开配置:
设置路径映射,就是你在管理页面设置的电影目录
豆瓣设置
插件市场,安装豆瓣同步插件
打开配置:
cookie获取就不说了,百度一下就一大堆,选上立即运行一次,然后后面就自动同步了.
这里设置以后,豆瓣找到相关资源后,点一个想看,nastool就会自动同步过来,同时帮你从配置的站点找资源下载,下载好以后发消息通知。如果没有资源,则自动添加一个订阅,进行监控,找到为止。
常见问题:
1、无法识别集数信息、订阅电视剧只下了部分就自动删除订阅了
推荐使用jackett做为索引器,prowlarr的api不会返回副标题,会导致种子命名不规范的情况下无法通过副标题拉取集数信息,从而将实际单集或多集的资源识别为整季。
2、微信/Telegram搜索/订阅剧集时提示已全部存在与实际不符
emby api的bug,emby设置中媒体库搜刮器不要勾选TVDB的数据库,全量刷新媒体库
Emby、Jellyfin中媒体库高级设置中不要开启显示缺失的集
3、TMDB连接失败
一般都是网络问题,需要想办法解决外网连接问题。最简单的就是修改host。
4、企业微信通道添加不成功
由于微信增加了限制,6月20日之后创建的企业微信应用,需要将公网IP添加到白名单IP列表中,否则无法正常发送微信消息(最新代码增加了日志输出,日志信信息显示为:not allow to access from your ip)。
2 comments
大佬,nastool 豆瓣插件 开启了豆瓣同步,填了ID\ 同步wish\ 同步近期动态、填了cookie,点击确定后,实时日志记录 豆瓣同步方式是全量同步,然后nastool的订阅管理里面没有任何数据,请问是怎么回事呢
你试一下绑定之后点一个想看?