惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CERT Recently Published Vulnerability Notes
F
Fortinet All Blogs
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
量子位
博客园 - 聂微东
S
SegmentFault 最新的问题
月光博客
月光博客
爱范儿
爱范儿
罗磊的独立博客
博客园_首页
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
The Hacker News
The Hacker News
G
GRAHAM CLULEY
大猫的无限游戏
大猫的无限游戏
K
Kaspersky official blog
小众软件
小众软件
Simon Willison's Weblog
Simon Willison's Weblog
T
Threatpost
美团技术团队
T
The Blog of Author Tim Ferriss
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
C
Cyber Attacks, Cyber Crime and Cyber Security
酷 壳 – CoolShell
酷 壳 – CoolShell
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
Cisco Blogs
P
Proofpoint News Feed
PCI Perspectives
PCI Perspectives
Know Your Adversary
Know Your Adversary
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
T
Tor Project blog
S
Security Affairs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Vercel News
Vercel News
博客园 - Franky
IT之家
IT之家
Security Archives - TechRepublic
Security Archives - TechRepublic
AI
AI
O
OpenAI News
N
News and Events Feed by Topic
Y
Y Combinator Blog
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog

Razeen`s Blog

Let's Encrypt 推出 Gen Y 根证书架构:揭示 Web PKI 的五大未来趋势 通过 Wi-Fi 自动备份你的 iPhone 到 Nas 管理培训感悟:从技术视角看管理之路 UPS 一拖多:保护你的 NAS 和 Linux 服务器 从影音中心到 AI 助手:我的50款 Homelab 服务清单 从SSL证书有效期将缩短到47天聊开去 部署一个自己的 Running Page 谈谈特斯拉 Model Y 用车一年的感受和费用分析 弃用 Disqus 评论,使用自建 Waline 使用 Prometheus 和 Grafana 搭建你的证书监控面板 服务器迁移记:一次磁盘换板引发的Linux分区与挂载的学习 改善信息来源, 利用 RSS 高效获取资讯 (RSShub + Reeder5 + WeWe RSS) 多种 Docker 镜像拉取解决方案与实践 App分享 | AppCleaner - Mac上的卸载神器 Azure OpenAI API 申请和使用 如何开通 OneKey 虚拟信用卡,并充值消费 如何拥有一个可长期在国内使用的国外手机号码 分享开通 ChatGPT Plus 过程 如何开通 Depay 虚拟信用卡,并充值消费 如何开通欧易Web3钱包, 交易入账 如何5分钟内1块钱注册 ChatGPT 如何注册美区的 Apple ID (2023年/无需科学上网) NAS折腾记(11): NASTool3.0体验和降级 NAS折腾记(10): Docker版本的NASTool配置 NAS折腾记(8):群晖安装 NASTool 实现影音半自动化【多图】 内网穿透(2):Tailscale 组网实现内网穿透,操作简单,无成本 内网穿透(1):总结了11中内网穿透的方式,总有一种适合你 NAS折腾记(7):从零开始设置(黑)群晖系统 NAS折腾记(6):黑群晖系统安装好后怎么洗白? NAS折腾记(5):群晖硬盘休眠设置与分析 NAS折腾记(4): 20分钟手把手带你完美安装 DS918+ 黑群晖7.1.1 NAS折腾记(3):NAS 装机 NAS折腾记(2):B360-ITX 双M.2 双2.5G网口 6 SATA主版 开箱 NAS折腾记(1):328元的4盘位Nas机箱开箱 Openwrt + Clash 全局科学上网 Newifi3 刷入 OpenWrt 固件 v21.02 利用 Markdown 画一些流程图、时序图、甘特图等 Homelab(8): 搭建自用 Gitlab 与 Docker 仓库 Nginx Tcp 转发保留客户端真实 IP (PROXY Protocol) Homelab (7):IPSec VPN(基于证书认证)客户端设置 Homelab (6): 基于自签发证书的 IPSec VPN 搭建 Homelab (5): DDNS 动态域名解析 Homelab (4): Linux 服务器基础环境准备 Homelab (3): 整体网络与基础硬件介绍 Go学习笔记(十)老项目迁移 go module 大型灾难记录 Github Actions 初体验之自动化部署 Hexo 博客 记一次 Nginx DNS 缓存导致转发问题 Homelab (2): 电信悦me网关修改桥接模式,路由器拨号 Homelab (1):5分钟上手黑群晖 NAS 终极 Bash 脚本指南 Typora 自动上传图片到七牛云 Ubuntu 20.04 LTS 有线网卡驱动安装 折腾 Ubuntu 20.04 LTS 开发环境 Go学习笔记(九) 计时器的生命周期[译] 利用 git hook 规范你的代码与 commit message 规范 git commit message 与自动化版本控制 超详细 vim 配置 (with MacVim) Golang 中的 RESTful API 最佳实践 折腾服务器(开篇) 我的第一台个人服务器 Newifi3 实现低成本家庭级科学上网 Go学习笔记(八) | 使用 os/exec 执行命令 如何用 Go 调用 Windows API Mac OS 自动根据 WI-FI 名字改变网络位置 关于 Docker 清理 MIME Types 速查表 Go学习笔记(七) | 理解OAuth 2.0并实现一个客户端 我又又又把博客迁移了 Go学习笔记(六) | 使用swaggo自动生成Restful API文档 Go学习笔记(五) | 使用代码片段(snippets)提高编码效率 书单 - 2018 IPFS 初体验,利用 IPFS 托管你的静态网站 记一次 PostgreSQL LIKE 索引优化,联合字段 LIKE 查询优化。 Disqus 添加有趣的 Reactions 的功能 TLS 1.3 详解 (RFC 8446解读) gRPC在Go中的使用(三)gRPC实现TLS加密通信与流模式 gRPC在Go中的使用(二)gRPC实现简单通讯 gRPC在Go中的使用(一)Protocol Buffers语法与相关使用 CentOS 安装 tshark 抓包工具 Go学习笔记(四) | win上使用VSCode搭建Go开发环境 日常 Postgres 数据库点滴记录 简单了解 PKCS 规范 美食篇 | DIY戚风蛋糕(烤箱做蛋糕) Go学习笔记(三) | 怎么写Go基准测试(性能测试) TLS1.3正式更新,为Nginx添加TLS1.3的支持 一次诡异的数据库删除 GitHub Pages自定义域名开启HTTPS 证书透明度是什么?它是怎么工作的? Go学习笔记(二) | 我对 recover 的一点误解 搭建证书透明度(certificate-transparency)日志服务之从入门到放弃 修复远程登陆 Centos 时,出现 UTF-8 Warning HTTPS篇之SSL握手过程详解 Go学习笔记(一) | postgres与golang点点滴滴 AWS 命令行界面(aws-cli)从安装到快速上手 数字证书分类及怎么区分各类数字证书 常用 linux 命令小结(一)文件目录操作 云服务器搭建 hexo 博客,git hooks自动更新 SSH 免密登陆, SSH Config 配置 Golang CGO Mac 交叉编译 Windows 使用 goose 让数据库迁移更加轻松 开始使用Ghost
NAS折腾记(9): NASTool与微信交互,微信发送消息远程下载电影【多图】
2023-02-10 · via Razeen`s Blog

在上一期中,我们搭建好了 NASTool, 可以在 NASTool 中开心的订阅搜索下载一条龙,这期我们更进一步,实现 NASTool 与微信的交互。让我们在微信上远程发指令给家中的 NASTool,实现消息推送和远程下载。

首先,我们看到 NASTool > 消息通知新增消息通知这边,看到微信主要需要6个配置项。

10-weixin-02

我们下面来配置这个6个选项。

准备工作

搭建 NASTool

前面的文章/视频中有完整的教程,可以参考 -> 群晖安装 NASTool 实现影音半自动化

注册企业微信

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

输入相关信息,手机号获取验证码,同时用微信扫码,按提示操作就可以注册成功。

注册成功后,默认自己还没有加入组织(奇怪的设定),需要到“我的企业”中邀请自己加入。然后需要下载企业微信,在企业微信中确认加入组织。

这样企业微信就注册好了。

购买云服务器

云服务器选择有很多,如

各家云对于新用户也有一些优惠,这里就不做推荐。需要注意的是,国内的都需要实名认证。账户的注册就不多说,打开网站根据引导就能完成了。

然后就可以购买云服务器了,如果你是新用户,可以去选择一些优惠的服务器。我这里没新账号,我就做个常规购买的展示,分享一下选择配置时需要注意的几点。

如下图:

  1. 付费模式:长期用的话,一般包年包月比较划算;
  2. 地区:可以选择离自己比较近的,延迟会低点;
  3. 实例类型:按需选择CPU和内存大小,如果只是做代理,搭建内网穿透,最小的(1核512MB内存)就够了;
  4. 镜像:不懂的话,选CentOS7.9,好找资料==;

  1. 存储:按需选择,如果只是做代理,最小即可;

  1. 网络:选择默认设置就可以;
  2. 公网IP:这一定得勾上IPv4; 计费模式的选择取决于你流量大小。实际体验下来,如果流量不大,选择“按使用流量”计费,价格更优惠,一个月流量也就几毛钱。带宽按需选择;
  3. 安全组:可以勾选上22端口,方便一会SSH连接;一会后面设置的时候,还会涉及到安全组的修改;

  1. 登录凭证:如果你会设置SSH密钥,推荐使用密钥;这里为了演示方便,我先使用密码,选择root,设置好登陆密码,这个密码就会一会ssh登陆会用到,别忘记了!
  2. 实例名称:随意,可不修改;

后面点下一步,下一步,选择时长,付钱就好了。 最后在“云服务器 ECS”中就可以看到我们购买的机器,在IP地址那里,可以看到公网的IPv4地址已经分配好了。

等服务器初始化好,我们就可以SSH连接了。

到这里我们环境准备好了。我们继续配置。

配置前3个参数

进入企业微信,在我的企业 > 企业信息中,最下面可以看到企业ID, 这就是我们的第1个参数,企业ID

10-weixin-05

应用管理 > 自建创建应用,如下图:

10-weixin-03

logo,名字和介绍随便写,选择部门/成员把自己加进去。

10-weixin-04

创建成功后,点击打开应用,第2、3个参数,即应用ID应用Secret都有了。

10-weixin-06

应用Secret点击查看会提示发送到企业微信中, 点击发送,到企业微信App 中可以查看。

10-weixin-07

企业微信App中可以看到相关信息,查看即可获取。

10-weixin-08

10-weixin-09

这样前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 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 设置,将上面的 TokenEncodingAESKey 填进去。

消息推送代理 中填写我们搭建的代理服务的地址。

然后直接“确认”保存。

访问一下 NASTool 微信交互的地址(http://ip:port/wechat)。如果出现如下的内容,说明我们的 NASTool 交互接口可以正常访问了。

回到企业微信,应用中的设置“API接收消息”,填入地址。然后保存生效。

再到应用中,设置企业可信IP, 点击配置,填入我们的服务器IP。

最后,我们再回到 NASTool 中,此时点击测试,就能成功通过了。

这时候我们就能在企业微信中接收到这条测试消息了。

这样我们的微信交互的流程就设置完成了。

微信菜单配置

进入企业微信,应用中,选择“自定义菜单”。

按照官方的说明添加成如下的样子

其中,主菜单就是“下载”,“同步”,“管理”。 菜单内容为“发送消息”, 消息的内容随意。

在微信中交互

在企业微信后台,“我的企业 > 微信插件 > 邀请关注” 中,用微信扫描这个二维码就可以了。

关注之后,在微信中就可以看到了。

这样,我们的微信交换就配置完成了,尽情使用吧。