主要功能如下:
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 -uid -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)。

Last modification:April 24th, 2024 at 01:45 pm
如果觉得我的文章对你有用,请随意赞赏