折腾笔记

折腾笔记

群晖NAS-TOOL消息推送之微信(自动检索下载,以及控制程序运行)

2022-08-10

前言

本篇文章是上篇文章NAS-TOOL影视搜索、下载、搜刮观看一条龙完全指南进阶教程,目的是为了实现在微信中通过给发送电影或者电视剧的关键字来实现资源下载以及通过微信控制nas-tool的各种服务运行。
由于微信官方限制,2022年6月20日后创建的企业微信应用需要有固定的公网IP地址并加入IP白名单后才能接收到消息,使用有固定公网IP的代理服务器转发可解决该问题。

前期准备

  • 已经部署好NAS-TOOL并且已经可以正确运行
  • 具有一台公网IP的vps服务器
  • NAS或者部署设备有公网IP地址(如果没有可以参考的我之前写的Frp内网穿透教程)

云服务器操作

1、登录腾讯云控制面板,点击右上角的更多操作→重装系统。

image-1660135271254

2、本次教程中会使用到Docker,所以这里我们直接安装Docker基础镜像文件,这样服务器就直接具备了docker基础环境,选择centos7.6-Docker20,勾选同意协议,点击确定。(重装系统需要微信授权,这里针对的是新购买的或者闲置并且没有重要服务和数据的服务器,如果有部署其他服务的一定要不这么操作)

image-1660135522517

3、 重置服务器root密码。

ssh重置密码

4、 使用SSH工具登陆云服务器,这里我是用的工具是FinalShelll。

image-1660135838573

安装npm

1、在服务器中创建npm目录,并进入安装npm目录。

mkdir npm
cd npm

image-1660136675372

2、使用wege工具下载安装包(wget命令如果不存在,请先安装wget:yum install -y wget)

wget https://nodejs.org/dist/v16.16.0/node-v16.16.0-linux-x64.tar.xz

image-1660137002499

3、使用tar命令解压下载好的安装包node-v16.16.0-linux-x64.tar.xz。

tar xvJf node-v16.16.0-linux-x64.tar.xz

image-1660137061699

4、因为已经完成了文件的解压,没用的安装包可以直接删除了。

rm -rf node-v16.16.0-linux-x64.tar.xz

image-1660137142478

5、使用vi编辑器配置环境变量,输入 【vi /etc/profile】,使用键盘方向案件移动移动到显示的代码的最后面,然后按键盘的字母【i】按键,进入编辑模式,将下面两行代码粘贴到最下面。

export NODE_HOME=/root/npm/node-v16.16.0-linux-x64
export PATH=$PATH:${NODE_HOME}/bin

image-1660137573686

6、点击键盘的【ESC】按键退出编辑模式,然后输入【:wq】保存退出,退出后会返回到root页面。

image-1660137679205

7、输入下面命令保存变量环境。

source /etc/profile

image-1660137769323

8、输入下面命令检测npm是否正确安装。

node -v
npm -v

image-1660137837693

10、npm环境安装成功,输入cd退出npm目录,然后进行Nginx Proxy Manager的安装。

Nginx开源可视化代理管理器安装( Nginx Proxy Manager)

什么是 Nginx Proxy Manager ?
      Nginx Proxy Manager 是用于管理 Nginx 代理主机的 Docker 容器,具有简单、强大的界面。它使您可 以轻松地转发到您在家里或其他地方运行的网站,包括免费的 SSL,而无需对 Nginx 或 Letsencrypt 了解太多。

1、在服务器中创建Nginx目录,并进入nginx目录中。

mkdir nginx
cd nginx

image-1660136371506

2、在nginx目录中创建docker-compose.yaml文件。

vi docker compose.yaml

image-1660138652116
3、按下键盘的【i】,然后粘贴以下代码(作用是部署两个docker镜像一个为nginx的面板一个是数据库)。

version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql

image-1660138481674
PS:请根据自身选择合适的镜像,这里演示的为汉化版本。

  • ‘jc21/nginx-proxy-manager:latest’ 为官方镜像
  • ‘chishin/nginx-proxy-manager-zh:latest’ 为官方镜像的汉化版本

image-1660138431886

4、输入【:wq】保存退出。

image-1660138633267

5、输入下面命令部署nginx-proxy-manager。

docker-compose up -d

image-1660139182427

6、这时候可以用过服务器的ip:81来访问面板了 。

image-1660139338856

7、初次使用可以请按照要求更改用户名和密码。

image-1660139436822

Nginx微信代理服务设置

1、登录nginx反向代理面板,点击主机→代理服务。

image-1660179969489

2、域名:填写vps的域名或者ip地址,协议填写http****,转发主机ip:写nas-tool的访问地址,转发端口是nas-tool的访问端口,默认为3000,因为我在路由器中将 3000映射为62136,所以我这里使用62136端口。

image-1660181011627

3、点击高级选项卡,在自定义nginx中粘贴一下代码,然后点击保存。

location /cgi-bin/gettoken {
  proxy_pass https://qyapi.weixin.qq.com;
}
location /cgi-bin/message/send {
  proxy_pass https://qyapi.weixin.qq.com; 
}

image-1660180858385

4、保存以后会在代理服务中显示,请一定要核对格式和我的一样,不要有出现有两个http:http这种情况。(为了大家看的清楚,这里我不在对关键元素打码,但是我会对个人域名和重要信息进行审查元素修改,图片中的某些ip和域名并非是我的,大家看关注格式即可)

image-1660186961081

5、Nginx微信代理服务设置完成。

企业微信的注册

看到这里大家都蒙了为啥企业微信注册还要写,回复因为有人问所以就要写,毕竟我很细。

1、百度搜索企业微信,注意鉴别官网。

image-1660182257164

2、进入官网,点击中心部分的立即注册。

image-1660182572423

3、企业信息随意填写或者和我保持一样即可,管理员信息如实填写即可。

image-1660182831260

4、出现注册成功,点击右上角的企业登录。

image-1660182948630

企业微信设置

1、进入企业微信控制面板,点击应用管理。

image-1660182987926

2、在自建的模块中选择创建应用。

image-1660183031031

3、头像随意上传一个,应用名称自定义。

image-1660183202536

4、选择成员将自己的微信选择上,然后点击创建应用。

image-1660183268603

5、因为需要的参数过多,这里为了避免出现错误,请在桌面新建一个文本文档(记事本)保存接下来我提到的每一个内容。(一定要这么做,因为在进行某一项操作的时候无法返回查看参数,退出会造成相关参数变化)以下两项获取成功后粘贴到文本文档中。

image-1660184916420

6、点击我的企业,页面最下面将企业ID也保存到文档中。

image-1660185221401

7、进入创建的应用,点击企业可信IP。

image-1660185370088

9、将VPS的IP添加到列表中,然后点击确定。

image-1660185711133

10、进入创建的应用,在功能模块中找到接收消息选项,点击设置API接收。

image-1660183381507

11、按照图片上的信息填写数据,这时候我们如果点击保存会报错(openapi回调地址请求不通过),需要先将相关信息配置到nas-tool中,将接收URL、token、key三个信息保存到记事本中,然后最小化这个页面不要关闭,不要关闭,不要关闭

image-1660205782779

12、现在记事本中已经有了如下的信息。一共6个没个都会需要,保持步骤6中页面的最小化,在完成NAS-TOOL的设置后,在对企业微信进行设置。

image-1660205593537

NAS-TOOL设置

1、登录NAS-TOOl工具,点击消息通知→微信。

image-1660184036706

2、将记事本中的文本,对应的粘贴到nas-tool的微信配置框中,一定要完整粘贴不要留空格之类的,输入完成点击确定,重启nas-tool、重启nas-tool、重启nas-tool。

image-1660205568210

3、然后回到【企业微信设置】步骤11的窗口,点击保存,出现保存成功,完成了此项配置。

image-1660206158438

4、再次打开nas-tool→消息通知→微信,点击测试,显示测试成功。

image-1660206453522

5、微信创建的程序也会弹出测试消息字样。

image-1660206492532

6、NAS-TOOL微信端设置完毕。

微信功能菜单完善

默认创建的应用菜单栏只是一个单纯的消息框,可以通过简单的配置来增加常用功能。(这里为了方便截图展示,使用的企业微信电脑版本,手机效果和电脑版本相同)

1、进入创建的应用(影视库),点击功能菜单中的【 自定义菜单】。

image-1660207201215

2、点击添加主菜单。

image-1660207246709

3、弹出的对话框,主菜单内容名称为【下载】,菜单内容为发送消息,然后点击左下角的【添加子菜单】

image-1660207357565

4、子菜单内容为【PT下载转移】菜单内容选择发送消息,内容写【开始进行PT下载转移,请稍后…】

image-1660207572213

5、按照上面这种模式我们继续添加两个子菜单【PT删种】【RSS订阅】。

image-1660207798548

6、点击保存,效果如下。

image-1660207842823

7、在按照以上步骤添加主菜单,然后再主菜单中添加子菜单,最终效果如下,然后点击发布。

image-1660208068478

8、重新打开一下创建的程序,菜单目录已经同步。

image-1660208159229

NAS-TOOL使用展示和功能。

1、通过消息框发送一个电影,可以得到正确的响应。

image-1660206840471

2、回复序列号,可以正确的搜索资源到并自动下载。

image-1660206912634

3、通过下面的菜单功能可以快速实现功能。

image-1660208365186

4、登录nas-tool也可以看到实时的日志,证明微信的操作有效果。

image-1660208550995

frp穿透配置NAS-TOOL

使用frp穿透方式如果服务器已经有了固定的ip,那么就不需要在配置反向代理,请根据我下面的提示做出相应修改即可。

1、首先在frpc.ini中增加nas-tool的配置信息,并且可以通过frp穿透的方式访问nas-tool。

image-1660211484316

2、企业微信中,在功能菜单中将URL更换为frp访问地址后面加上/wechat

image-1660211692480

3、在微信中修改为nas-rool的frp访问链接,就是步骤2中去掉/wechat。

image-1660211968046

4、其他步骤和代理方式配置相同。

常见问题及解决办法

docker一键安装脚本(适用于Ubuntu、CentOS、Debian)

curl -sSL https://get.daocloud.io/docker | sh    #(centos)

docker-Compose 安装

1、下载二进制安装文件v2.9.0为版本号可以自行修改。

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.9.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2、将可执行权限应用于二进制文件:

 sudo chmod +x /usr/local/bin/docker-compose

3、创建软链:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

4、测试是否安装成功:(出现版本号为安装成功)

docker-compose --version

企业微信配置的时候出现openapi回调失败

image-1660206261212

1、首先检查代理服务器配置是否和我配置的格式相同,尤其是加不加http等。

image-1660209320416

2、配置好nas-tool的微信通知后是否进行了重启操作,可以尝试使用群晖docker页面进行重启操作。

image-1660209406985

3、尝试直接访问ip地址查看是否反向代理成功,直接点击反向代理配置中的域名。

image-1660209480999

4、国内服务器请尝试使用ip,不要使用域名。

5、尝试访问 http://ip/wechat正常情况下应该和我的界面相同。

image-1660210244580

以上五点如果都和我相同,那么应该没什么问题了,如果有不同的请在仔细看一遍教程,我今天按照教程重新部署了5遍,把握遇到的问题,已经相关讨论组遇到的问题都解决了,如果还不行请在评论区讨论。

总结

这次教程算是上一篇《NAS-TOOL影视搜索、下载、搜刮观看一条龙完全指南》的进阶补充,知道内容应该不少,但是没有想到零零总总写了这么多,对于总体环境的部署到企业微信的注册,再到nas-tool的配置、frp的补充,最后是可能出现一些问题的解决办法,希望能给大家帮助,如果大家有啥感兴趣的也可以评论说说,我后期写啥就看你们想看啥了,本期教程结束,咱们下篇再见。