2023.11.23 更新

手上有些不用的小鸡想着可以搭nps的穿透服务端,这样相当于可以搭建个公益的微信代理给大家用,微信应用这个没有门槛的,大家自己按步骤也能轻松搞定,有需要的可以留言

nastools介绍

nastools是一款通过用户的一系列配置,实现管理个人影音库资源站,智能化观影体验的媒体库管理工具,它能实现媒体库管理、资源搜索、资源刮削、媒体库整理、资源站点管理、pt刷流、电影电视剧自动订阅等一系列功能。由于外界原因,原作者已停更,有新作者在原有基础上进行优化维护。

nastools安装

第一个镜像就是我在用的镜像,第二个是已经提更的,建议还是第一个

其他的按照图中配置即可

这边说下目录的问题,config目录去你的docker存储空间单独为nastools建一个就行,然后创建一个config的文件夹映射到容器的/config,至于/nastools-new,我是为了方便识别,这个目录汇总存放的是下载目录和最后整理输出的媒体目录,在emby篇中有提到NAS折腾日记(三)影音库三部曲のEmby - 微光|照亮你的灵感之路~~ (flyecho.fun)

前置目录设置:

其他的继续按照图中去配置

 

环境变量中需要注意的就是这两个,如果配置为true,那么当github上有新版本发布时,重启容器就可以自动更新,坏处就是万一不完善的版本你更新了,就可能会有些没发现的问题。

nastools配置详解

所有配置结束,点击完成,容器会自动启动,此时访问 nas的ip:3000,就可以进入后台,默认账户名和密码是是admin/password

基础配置

首先我们去TMDB注册一个账号,拿到api 秘钥,如果已有的跳过。

https://www.themoviedb.org/

我记得有时候会报错,Meet my personal audiovisual needs and enrich my leisure life,直接吧这个贴简介就行,然后我们到概览就能拿到秘钥了

接着我们来到nastools的基础设置将api的秘钥填入

我知道你要问这个主题,这是出自药丸论坛chint大佬,将文章中的css和js下载填入上图中的自定义css中刷新即可。【魔改nastool主题】全透明化nt! - invites.fun

 

基础配置中还有些配置按照图去配即可,有不明白为什么的可以咨询会 一 一 解答。

其他的保持默认即可,不选演员中文是因为有时会导致演员图片刮削不出来

 

下载器配置

在左侧菜单找到下载器,然后新增我们的下载器qbitorrent,127.0.0.1就是本地,端口账号密码根据自己的填就行

目录这里如果之前基础设置没有去改分类策略,就能选到详细的分类,这样做的好处在emby篇中提到过就是首页分类清晰,适合多人观看的时候选自己适合的,你只要在emby中设置正确了对应的媒体目录,在nastools订阅或者下载的时候他会自动帮你下载在对应的目录去,这样在后面做目录同步的时候也能做到分类清晰,最后在emby中也能在正确分类中展示,就没有必要每次下载还需要手动去设置下载目录。

最后记得测试下。

 

媒体库配置

在菜单栏我们找到媒体服务器,添加emby

emby需要的api key在emby的控制台就能找到,生成一个就行。

首页同步媒体库

这样做的好处是你可以在首页查看最近的媒体文件和播放记录,也能在后续下载中让nastools知道哪些是已经存在于媒体库的,继而跳过下载。

站点配置

这个应该是门槛比较高的一个配置了,在左侧找到站点管理,从站点维护添加自己的pt站点,

至于怎么着cookie,打开你的网站按F12,然后刷新下页面,找到php结尾的哪个请求,在请求头里面的那一串就是cookie

这里下载设置我在下载器里新建了一个我的下载,规定一些做种时间,方便后面定时删种根据状态去删除种子。

 

这个版本是支持一些bt站的,在索引器中就能看到。当然你也可以nas中部署一个jacket,然后安装一个jacket的插件去连接,也能有很多的bt站可用,但是bt站的质量层次不齐,很多都是外站,匹配速度很不友好,所以我没有用。

目录同步

这里说下为什么用硬链接,硬链接就像一个小区有南门和北门,南门在download目录,北门在media目录,一般我们下载完资源都需要刮削规范他的命名以及下载一些海报图之类的,但是重命名会影响做种,所以就要用硬链接,南门和北门删掉一个并不影响你进入小区(读取媒体文件),都删除媒体文件才会删除,空间才会释放,所以用硬链接主要为了做种的同时不影响观影。

 

至此,你可以添加种子下载,然后看nastools能不能正常的刮削然后目录同步,然后看emby库能不能正常展示播放(一般是同步完成后4-5分钟)。

插件配置

插件起始我用的并不多,在菜单栏的插件->插件市场你可以选取自己需要的插件进行安装配置

使用流程

可以搜索自己想要的资源,也可以在探索中浏览。

这里如果点击爱心就是添加订阅,会进入订阅队列,几分钟后就会开始搜索资源自动下载,如果是电视剧,在新的集更新时他也会自动帮你下载入库,真正做到无痛追剧。

 

常见问题

我怎么搜不到资源?

首先查看你的索引器有没有勾选你自己的站点,另外你有没有添加站点,然后就是确认,这资源站点是不是就是没有,比如院线上映中的电影。所以如果你是新入库的,不建议用自动订阅等功能,因为你没有足够的站点去支撑的你媒体搜索,另外就是你有没有足够的上传量去支撑你的下载,因为pt都是考核分享率的,所以刚开始我们只要用好他的刮削和目录同步就行,站点我们慢慢收集养成。

 

站点去哪搞?能发邀请么

你可以去贴吧、论坛等地方去求一些基础的站点,或者直接捐入,好点的站点都需要你有数据才可以,不然别人也不敢邀请你,还有就是一些普通站点逢年过节都会开放注册,大站要么你的数据足够号,要么就自己捐入吧。

 

我可发一些基础的站点的邀请,不过要求你得有nas(看到这的一般都有吧)。一些大站、不可说也有,数据说话,要求较高。

 

媒体目录转移失败怎么回事?

首先确定下设置的时候,下载目录和媒体目录有没有跨盘,最好放到一个文件夹下。如果是网络问题导致,因为他转移之前会先去通过tmdb去识别,网络问题也会导致失败。这个去DNS测试站,找对应网址下国内最快的地址,然后添加host就行了https://dnschecker.org/

 

emby没有海报墙或演员图

还是网络问题,用上面的dns工具找几条最快的dns地址,修改host添加这几个域名的新的dns

www.themoviedb.org
api.themoviedb.org
image.tmdb.org
api.thetvdb.com

 

拓展功能

方糖消息通知

方糖是一个非常易用的消息推送工具https://sct.ftqq.com/

注册后我们就能拿到我们的key。然后再在设置->消息通知中新增一个通知,选择Server酱,将我们的key填入,我们就能在手机端收到对应的通知啦,比如订阅的自动下载,入库的完成。当然你也可以用pushplus,还能一对多,但是我用微信推送,方糖只是为了有时看微信代理是不是挂了。

微信交互

这应该是体验最好的nastools推送了,他能实现消息推送,手机交互直接订阅下载电影剧集,刮削、同步媒体库等,如果你配置了openai的key,他还能充当ai机器人(回复太慢被我弃用)。

微信的交互功能非常不错,很适合给父母和对象追剧用,不用登录到网页搜索添加订阅的复杂操作。

 

实现的准备工作

1.一台vps或云服务器,有公网ipv4即可

2.个人企业微信并创建了一个应用

你可能会问,我nas有公网ipv4,行不行?可以但是会麻烦,因为微信应用里要填api回调地址,那个是ip,公网ipv4一眼个人的都是会变的,变一次你就带去改一次配置,不嫌麻烦的可以这么搞,不过现在ipv4不好申请,我就没有,电信不给。

 

服务器能选择有很多

  • 阿里云

  • 腾讯云轻量

  • 华为云

  • AWS

  • 谷歌云

  • VULTR

  • CLOUDCONE

  • RackNerd

  • .......

有几十一年的也有几百一年的,阿里现在搞活2g2c的只要99一年还能续费3次,其他的做消息准发代理的话最低配就行。RackNerd最便宜的70多一年,起始我们买了服务器不光就能做消息转发,后面会教你部署更多好玩的项目,比如微信ai机器人,给对象每日推送纪念日早安问候等等。

企微应用注册

注册地址: work.weixin.qq.com.

我们回到nastools,看微信推送需要的设置

第一个企业ID

第二、第三个我们需要创建一个我们的企业应用

secret会发送到你的手机上,这样我们就获得了应用id和应用secret。

 

这样前3个参数都有了。然而还不够。

NASTool 需要调用企业微信的 API,推送消息到企业微信,但由于企业微信有IP白名单的限制,我们需要有一个固定的公网IP去访问微信的API,这就需要我们搭建一个微信的API代理服务。

同时,如果想要完成交互,微信还需要向 NASTool 发送消息,这就需要让我们的 NASTool 在公网可以访问到,这就需要我们来搭建一个内网穿透服务。其中的内网穿透你可以用NPS用NPS搭建内网穿透 - 微光|照亮你的灵感之路~~ (flyecho.fun)

这里我用frpc穿透

代理服务搭建

使用xshell或者finalshell登录到你的服务器

安装Docker

Centos执行

# 先更新一下服务器
yum update -y

# 安装依赖
sudo yum install -y yum-utils

# 添加 docker 源
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 安装 docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动 docker
sudo systemctl start docker

# 设置 docker 开机启动
sudo systemctl enable docker

 

Ubuntu 和 Debian 系统执行

# 更新系统
sudo apt-get update

# 安装依赖
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

# 添加 Docker GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 更新 APT 软件包缓存
sudo apt-get update

# 安装 docker
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动 docker
sudo systemctl start docker

# 设置 docker 开机启动
sudo systemctl enable docker

 

启动服务

我们在服务器上新建一个属于你的文件夹然后本地创建2个文件frps.ini和docker-compose.yaml

docker-compose.yaml内容,9080即最后我们要用的微信代理的端口

version: '3'
services:
  wxapi:
    image: razeencheng/wxapiproxy:latest
    restart: always
    container_name: wxapi
    ports:
      - 9080:80
  frps:
    image: snowdreamtech/frps:0.46.0
    restart: always 
    container_name: frps
    network_mode: host
    volumes:
      - ./frps.ini:/etc/frp/frps.ini

frps.ini:

[common]
bind_port = 7000

# 开启面板
dashboard_port = 7500
dashboard_user = frpdash
dashboard_pwd = jr2zjgialwo8525

# token
token = 8wq78jguwkJhf5Kteo

 

  • bind_port: 客户端来连接的端口,可以不修改;

  • dashboard_port: 监控面板的访问端口,可以不修改;

  • dashboard_user,dashboard_pwd: 访问监控面板BasicAuth的用户名密码,建议修改;

  • token: 客户端连接鉴权用的,建议修改;

然后将这两个文件上传到服务器的同一文件夹下

执行命令

docker compose up -d

 

然后我们用docker ps查看下两个容器的状态

接着你需要去你的服务器控制台放行以下端口:

  • 7000: frp 服务端口

  • 7500: frp 面板端口

  • 3000: nastool 访问端口

  • 9080: 微信代理端口

国内云服务商的话就是安全组

可以看到,用服务器ip:9080已经可以访问微信代理服务

客户端部署

我们在本地新建一个frpc.ini文件

[common]
# 服务端IP&端口
server_addr = 你服务器的IP
server_port = 7000

# Token
token = 8wq78jguwkJhf5Kteo

[nastool]
type = tcp
local_ip = 127.0.0.1
local_port = 3000
remote_port = 3000

这个文件的意思就是制定你的服务器为frp的服务端,端口和token就是我们之前配置的,穿透的端口服务是nastool的3000端口,远端端口可以和本地的不一致。

 

然后在nas里拉取 registry.cn-hangzhou.aliyuncs.com/yanded/frpc:latest 镜像,官方的也可以我之前用了有问题所以用了这一个,然后在docker文件夹下穿件frp文件夹,将上面的ini文件上传上去,配置网络为host,存储空间映射ini文件,启动docker,穿透应该就成功了

接着我们访问服务器ip:7500,输入之前配置用户名密码,进入TCP隧道就能看到穿透的端口已在线

至此第四个参数就是 http://你的服务器Ip:9080/

配置可信IP

回到企业微信的应用

将生产的Token和AESkey填入第五、第六个参数中,然后保存,微信应用中的接收消息服务器配置填入 http://你的服务器IP:3000/wechat

然后保存

这样微信回调nastools就通了,要想nastools发送消息到微信我们还差最后一步

配置完成后nastools的微信消息配置界面点击测试,提示测试成功,至此就可以流畅的用微信进行交互订阅啦。

在企业微信后台,“我的企业 > 微信插件 > 邀请关注” 中,让其他人用微信扫描这个二维码就可以加入你的企业,不用下载企业微信,直接在微信也能用你的应用进行订阅影视啦。

至于自定义菜单,参考我的配置就行了

最后希望大家搭建成功,遇到问题都可以咨询,看到都会回复~~