NAS折腾记(9): NASTool与微信交互,微信发送消息远程下载电影【多图】 | 您所在的位置:网站首页 › 外网访问nastools › NAS折腾记(9): NASTool与微信交互,微信发送消息远程下载电影【多图】 |
在上一期中,我们搭建好了 NASTool, 可以在 NASTool 中开心的订阅搜索下载一条龙,这期我们更进一步,实现 NASTool 与微信的交互。让我们在微信上远程发指令给家中的 NASTool,实现消息推送和远程下载。 首先,我们看到 NASTool > 消息通知,新增消息通知这边,看到微信主要需要6个配置项。 我们下面来配置这个6个选项。 准备工作#搭建 NASTool#前面的文章/视频中有完整的教程,可以参考 -> 群晖安装 NASTool 实现影音半自动化 注册企业微信#注册地址: work.weixin.qq.com. 输入相关信息,手机号获取验证码,同时用微信扫码,按提示操作就可以注册成功。 注册成功后,默认自己还没有加入组织(奇怪的设定),需要到“我的企业”中邀请自己加入。然后需要下载企业微信,在企业微信中确认加入组织。 这样企业微信就注册好了。 购买云服务器#云服务器选择有很多,如 阿里云腾讯云华为云AWSlinodevultr各家云对于新用户也有一些优惠,这里就不做推荐。需要注意的是,国内的都需要实名认证。账户的注册就不多说,打开网站根据引导就能完成了。 然后就可以购买云服务器了,如果你是新用户,可以去选择一些优惠的服务器。我这里没新账号,我就做个常规购买的展示,分享一下选择配置时需要注意的几点。 如下图: 付费模式:长期用的话,一般包年包月比较划算;地区:可以选择离自己比较近的,延迟会低点;实例类型:按需选择CPU和内存大小,如果只是做代理,搭建内网穿透,最小的(1核512MB内存)就够了;镜像:不懂的话,选CentOS7.9,好找资料==;存储:按需选择,如果只是做代理,最小即可;网络:选择默认设置就可以;公网IP:这一定得勾上IPv4; 计费模式的选择取决于你流量大小。实际体验下来,如果流量不大,选择“按使用流量”计费,价格更优惠,一个月流量也就几毛钱。带宽按需选择;安全组:可以勾选上22端口,方便一会SSH连接;一会后面设置的时候,还会涉及到安全组的修改;登录凭证:如果你会设置SSH密钥,推荐使用密钥;这里为了演示方便,我先使用密码,选择root,设置好登陆密码,这个密码就会一会ssh登陆会用到,别忘记了!实例名称:随意,可不修改;后面点下一步,下一步,选择时长,付钱就好了。 最后在“云服务器 ECS”中就可以看到我们购买的机器,在IP地址那里,可以看到公网的IPv4地址已经分配好了。 等服务器初始化好,我们就可以SSH连接了。 到这里我们环境准备好了。我们继续配置。 配置前3个参数#进入企业微信,在我的企业 > 企业信息中,最下面可以看到企业ID, 这就是我们的第1个参数,企业ID。 在应用管理 > 自建 中创建应用,如下图: logo,名字和介绍随便写,选择部门/成员把自己加进去。 创建成功后,点击打开应用,第2、3个参数,即应用ID和应用Secret都有了。 应用Secret点击查看会提示发送到企业微信中, 点击发送,到企业微信App 中可以查看。 企业微信App中可以看到相关信息,查看即可获取。 这样前3个参数都有了。然而还不够。 NASTool 需要调用企业微信的 API,推送消息到企业微信,但由于企业微信有IP白名单的限制,我们需要有一个固定的公网IP去访问微信的API,这就需要我们搭建一个微信的API代理服务。 同时,如果想要完成交互,微信还需要向 NASTool 发送消息,这就需要让我们的 NASTool 在公网可以访问到,这就需要我们来搭建一个内网穿透服务。 接下来我们就来搭建这两个服务。 服务器安装#安装docker#可以参考官方的安装指导. 使用终端或着PuTTY软件连接到服务器上, 执行下面的命令。 # 先更新一下服务器 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这样我们的docker就安装好了。然后我们来启动服务。 启动服务#这里我用 docker-compose 来部署两个服务。分别将下面两个文件修改一下相关的参数后,放到服务器上的同一个文件夹下。 第一个文件 docker-compose.yaml, 这里我启动了两个服务,一个是微信代理wxapi,绑定的是9080端口,你可以修改成你想要的端口; 还有一个是 frp 服务端 frps, 网络模式直接使用的是host模式,这样不用再映射端口了。 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, frp服务端的配置文件,放到上面的文件同一个文件夹里面即可。其中 bind_port: 客户端来连接的端口,可以不修改;dashboard_port: 监控面板的访问端口,可以不修改;dashboard_user,dashboard_pwd: 访问监控面板BasicAuth的用户名密码,建议修改;token: 客户端连接鉴权用的,建议修改;[common] bind_port = 7000 # 开启面板 dashboard_port = 7500 dashboard_user = frpdash dashboard_pwd = jr2ztqAEs3bdwKXdwN25 # token token = 8wq5u36wYfvxBfbjKteo两个文件都放在同一个文件夹后,在文件夹下执行 docker compose up -d等待执行完成,docker ps 看一下状态,都正常(STATUS 中为UP)后,说明服务正常启动了。 安全组放行#如果你用的是国内的云,基本上自带了安全组,需要你到云服务器管理的页面上,找到安全组,修改安全组规则,将相关的端口放行。 需要放行下面这些端口: 7000: frp 服务端口7500: frp 面板端口3003: nastool 访问端口5000: dsm 页面端口(可选,如果你想公网访问你的NAS)如实例中的阿里云,就需要到“安全组”中去配置规则。 我们把相关的端口放行。 这样我们就可以从公网访问了。 微信代理可以访问了。 frp 面板也可以正常访问,输入配置中的用户(dashboard_user),密码(dashboard_pwd)就可以进入了。 客户端搭建#接下来,我们安装客户端。 进入 NAS, 进入套件中间,搜索安装frpc,并安装启动。 启动后,将下面的文件修改后,粘贴进去。 [common] # 服务端IP&端口 server_addr = 你服务器的IP server_port = 7000 # Token token = 8wq5u36wYfvxBfbjKteo [nastool] type = tcp local_ip = 127.0.0.1 local_port = 3003 remote_port = 3003其中: server_addr: 服务端的IP地址,修改成服务器的IP地址;server_port: 服务端端口,与服务端的 bind_port 一样,如这里的 7000;token: 鉴权 Token, 与服务端的token一致。type: 代理类型,这里将本地的tcp端口代理到服务端;local_ip,local_port: 本地的IP和端口,即需要代理的本地的服务的IP,端口;remote_port: 代理到云端的端口,云端访问就用这个端口;不一定要与本地端口一致,只是一致好记一点;如果你还想把 DSM 也穿透出去,可以加上如下内容,就把本地的NAS服务代理出去了。 [nas] type = tcp local_ip = 127.0.0.1 local_port = 5000 remote_port = 5000粘贴好后保存。 保存后,就生效了。在 frp 的面板中可以看到相关信息。 这样我们就可以用 公网IP+端口 访问这 DSM 和 NASTool 页面了。 另外3个参数配置#到企业微信网页,应用管理中进入刚刚创建的应用,看到“接收消息”这一栏,点击“设置API接收”。 随机获取下面两个值。 再回到 NASTool 设置,将上面的 Token 和 EncodingAESKey 填进去。 消息推送代理 中填写我们搭建的代理服务的地址。 然后直接“确认”保存。 访问一下 NASTool 微信交互的地址(http://ip:port/wechat)。如果出现如下的内容,说明我们的 NASTool 交互接口可以正常访问了。 回到企业微信,应用中的设置“API接收消息”,填入地址。然后保存生效。 再到应用中,设置企业可信IP, 点击配置,填入我们的服务器IP。
最后,我们再回到 NASTool 中,此时点击测试,就能成功通过了。 这时候我们就能在企业微信中接收到这条测试消息了。 这样我们的微信交互的流程就设置完成了。 微信菜单配置#进入企业微信,应用中,选择“自定义菜单”。 按照官方的说明添加成如下的样子 其中,主菜单就是“下载”,“同步”,“管理”。 菜单内容为“发送消息”, 消息的内容随意。 在微信中交互#在企业微信后台,“我的企业 > 微信插件 > 邀请关注” 中,用微信扫描这个二维码就可以了。 关注之后,在微信中就可以看到了。 这样,我们的微信交换就配置完成了,尽情使用吧。 |
CopyRight 2018-2019 实验室设备网 版权所有 |