开源的微信消息推送服务
项目描述
完全开源的微信消息推送服务,基于微信公众号测试号,可供自建,配置简单,基于 Node.js 开发,类似 Server酱,WxPusher
利用测试号来给自己的微信推送消息,不依赖他人的公众号和服务器,在一定程度上避免了信息泄露。
项目地址:https://github.com/songquanpeng/message-pusher
感谢各位的支持,这目前是我 star 数量最多的项目,非常感谢!
2021 年 1 月 14 日:项目即将迎来重大更新,尽情期待!
用途举例
- 整合进自己的博客系统,每当有人登录时发微信消息提醒。
- 在进行深度学习模型训练时,在每个 epoch 结束后将关键数据发送到微信以方便及时监控。
- 在各种脚本运行结束后发消息提醒。
搭建步骤
域名设置
先去你的云服务提供商那里添加一个子域名,解析到你的目标服务器。
服务器端配置
- 配置 Node.js 环境,推荐使用 nvm。
- 下载代码:
git clone https://github.com/songquanpeng/wechat-message-push.git
。 - 安装依赖:
npm i
。 - 安装 pm2:
npm i -g pm2
。 - 使用 pm2 启动服务:
pm2 start ./app.js --name wechat-message-push-service
。 - 使用 Nginx 反代我们的 Node.js 服务,默认端口 3000。
- 修改应用根目录下的
nginx.conf
中的域名以及端口号,并创建软链接:sudo ln -s /path/to/nginx.conf /etc/nginx/sites-enabled/wechat-push-service.conf
,注意修改这里的 /path/to/nginx.conf,且必须是绝对路径,当然如果不想创建软链接的话也可以直接将配置文件拷贝过去:sudo mv ./nginx.conf /etc/nginx/sites-enabled/wechat-push-service.conf
。 - 之后使用 certbot 申请证书:
sudo certbot --nginx
。 - 重启 Nginx 服务:
sudo service nginx restart
。
- 修改应用根目录下的
微信公众平台端配置
- 首先前往此页面拿到 APP_ID 以及 APP_SECRET。
- 使用微信扫描下方的测试号二维码,拿到你的 OPEN_ID。
- 新增模板消息模板,模板标题随意,模板内容填
{{text.DATA}}
,提交后可以拿到 TEMPLATE_ID。 - 填写接口配置信息,URL 填
https://你的域名/verify
,TOKEN 随意,先不要点击验证。 - 现在访问
https://你的域名/
,填写表单,之后点击提交按钮。 - 之后回到微信公众平台测试号的配置页面,点击验证。
验证是否配置成功
访问 https://你的域名/Hi
或 https://你的域名/push?content=Hi
,如果你的微信能够收到一条内容为 Hi 的模板消息,则配置成功。
待做清单
敬请期待。
PS:本文首发于我的个人博客:https://iamazing.cn/page/message-pusher
【未经允许,禁止转载】