開源的微信消息推送服務
- 2021 年 1 月 15 日
- 筆記
項目描述
完全開源的微信消息推送服務,基於微信公眾號測試號,可供自建,配置簡單,基於 Node.js 開發,類似 Server醬,WxPusher
利用測試號來給自己的微信推送消息,不依賴他人的公眾號和伺服器,在一定程度上避免了資訊泄露。
項目地址://github.com/songquanpeng/message-pusher
感謝各位的支援,這目前是我 star 數量最多的項目,非常感謝!
2021 年 1 月 14 日:項目即將迎來重大更新,盡情期待!
用途舉例
- 整合進自己的部落格系統,每當有人登錄時發微信消息提醒。
- 在進行深度學習模型訓練時,在每個 epoch 結束後將關鍵數據發送到微信以方便及時監控。
- 在各種腳本運行結束後發消息提醒。
搭建步驟
域名設置
先去你的雲服務提供商那裡添加一個子域名,解析到你的目標伺服器。
伺服器端配置
- 配置 Node.js 環境,推薦使用 nvm。
- 下載程式碼:
git clone //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 填
//你的域名/verify
,TOKEN 隨意,先不要點擊驗證。 - 現在訪問
//你的域名/
,填寫表單,之後點擊提交按鈕。 - 之後回到微信公眾平台測試號的配置頁面,點擊驗證。
驗證是否配置成功
訪問 //你的域名/Hi
或 //你的域名/push?content=Hi
,如果你的微信能夠收到一條內容為 Hi 的模板消息,則配置成功。
待做清單
- [ ] 支援多用戶。
- [ ] 支援 Markdown。
敬請期待。
PS:本文首發於我的個人部落格://iamazing.cn/page/message-pusher