開源的微信消息推送服務

  • 2021 年 1 月 15 日
  • 筆記

項目描述

完全開源的微信消息推送服務,基於微信公眾號測試號,可供自建,配置簡單,基於 Node.js 開發,類似 Server醬,WxPusher

利用測試號來給自己的微信推送消息,不依賴他人的公眾號和伺服器,在一定程度上避免了資訊泄露。

項目地址://github.com/songquanpeng/message-pusher

感謝各位的支援,這目前是我 star 數量最多的項目,非常感謝!

2021 年 1 月 14 日:項目即將迎來重大更新,盡情期待!

用途舉例

  1. 整合進自己的部落格系統,每當有人登錄時發微信消息提醒
  2. 在進行深度學習模型訓練時,在每個 epoch 結束後將關鍵數據發送到微信以方便及時監控。
  3. 在各種腳本運行結束後發消息提醒。

搭建步驟

域名設置

先去你的雲服務提供商那裡添加一個子域名,解析到你的目標伺服器。

伺服器端配置

  1. 配置 Node.js 環境,推薦使用 nvm
  2. 下載程式碼:git clone //github.com/songquanpeng/wechat-message-push.git
  3. 安裝依賴:npm i
  4. 安裝 pm2:npm i -g pm2
  5. 使用 pm2 啟動服務:pm2 start ./app.js --name wechat-message-push-service
  6. 使用 Nginx 反代我們的 Node.js 服務,默認埠 3000。
    1. 修改應用根目錄下的 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
    2. 之後使用 certbot 申請證書:sudo certbot --nginx
    3. 重啟 Nginx 服務:sudo service nginx restart

微信公眾平台端配置

  1. 首先前往此頁面拿到 APP_ID 以及 APP_SECRET。
  2. 使用微信掃描下方的測試號二維碼,拿到你的 OPEN_ID。
  3. 新增模板消息模板,模板標題隨意,模板內容填 {{text.DATA}},提交後可以拿到 TEMPLATE_ID。
  4. 填寫介面配置資訊,URL 填 //你的域名/verify,TOKEN 隨意,先不要點擊驗證。
  5. 現在訪問 //你的域名/,填寫表單,之後點擊提交按鈕。
  6. 之後回到微信公眾平台測試號的配置頁面,點擊驗證。

驗證是否配置成功

訪問 //你的域名/Hi//你的域名/push?content=Hi,如果你的微信能夠收到一條內容為 Hi 的模板消息,則配置成功。

待做清單

  • [ ] 支援多用戶。
  • [ ] 支援 Markdown。

敬請期待。

PS:本文首發於我的個人部落格://iamazing.cn/page/message-pusher