阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

开源免费的微信消息推送服务、10万次额度+2MB镜像,开发者福音

3次阅读
没有评论

共计 3922 个字符,预计需要花费 10 分钟才能阅读完成。

 

开源免费的微信消息推送服务、10 万次额度 +2MB 镜像,开发者福音

微信消息推送

作为一名开发者,你一定遇到过这样的场景:

  • • 服务器半夜报警,需要第一时间通知
  • • 自动化脚本跑完任务,想知道结果
  • • 个人博客有新评论,想及时收到提醒
  • • NAS、路由器、树莓派这些设备需要状态监控

最直接的方案当然是——发微信。但问题来了:怎么发?

企业微信认证太麻烦,第三方服务收费不菲,自己写又要搞懂微信的整套 API、Token 刷新、模板消息规则……光是看文档就能劝退不少人。

最近发现一个开源项目 go-wxpush,用 Go 语言写的,完美解决了这个问题:极简部署、完全免费、每天 10 万次额度,而且 Docker 镜像才 2MB。

开源免费的微信消息推送服务、10 万次额度 +2MB 镜像,开发者福音

今天就带你拆解这个工具,5 分钟上手。

核心特性

先上结论,这个工具的几个杀手锏:

特性 说明 对开发者的价值
完全免费 基于微信测试公众号 个人和小团队零成本
部署极简 Docker 镜像仅 2MB 秒启动,资源占用极低
超高额度 每天 10 万次推送 个人项目根本用不完
原生体验 微信原生弹窗 + 声音提醒 和普通消息无差别
多用户支持 可配置多个接收人 团队协作友好
自带详情页 消息点击可查看详情 适合展示完整日志

三步搞定微信测试账号

正式部署前,需要先搞定微信这边的配置。别担心,5 分钟就能搞定。

第一步:申请测试公众号

打开这个链接:https://mp.weixin.qq.com/debug/cgi-bin/sandbox

扫码登录后会看到一个测试号管理界面,这里有两个关键信息:

- appID:类似 `wx1234567890abcdef` 的字符串
- appsecret:一串加密字符串
开源免费的微信消息推送服务、10 万次额度 +2MB 镜像,开发者福音

第二步:获取你的 UserID

在测试号页面下方有个 ” 用户列表 ” 区域,用你的微信扫描页面上的二维码,扫码后你的微信号就会出现在列表中,格式通常类似 oXXXXXX-xxxx

这个 UserID 就是消息接收者的唯一标识。

开源免费的微信消息推送服务、10 万次额度 +2MB 镜像,开发者福音

第三步:创建消息模板

在测试号页面的 ” 新增测试模板 ” 处,创建一个模板。关键点来了

模板内容必须按这个格式填写:

内容: {{content.DATA}}

注意!不要 只填 {{content.DATA}},前面必须加个 ” 内容:” 或者其他文字,否则推送会不显示内容!

创建成功后会得到一个 template_id,记下来,后面要用。

开源免费的微信消息推送服务、10 万次额度 +2MB 镜像,开发者福音
开源免费的微信消息推送服务、10 万次额度 +2MB 镜像,开发者福音

这样你就获得了

appid

secret

userid

template_id

把值复制出来备用。

部署方式

准备好上述参数后,就可以部署服务了。项目提供了三种方式:

方式一:Docker 一键部署(推荐)

这是最推荐的方式,镜像只有 2MB,秒启动。

# 重新部署请先拉一遍最新的镜像
docker pull hezhizheng/go-wxpush:v4

# 参数格式与终端启动保持一致, 替换成实际值即可

docker run -it -d -p 5566:5566 --init --name go-wxpush4 hezhizheng/go-wxpush:v4 \
-port "5566" \
-title "测试标题 5566" \
-content "测试内容 5566" \
-appid "xxx" \
-secret "xxx" \
-userid "xxx-k08" \
-template_id "xxx-Ks_PwGm--GSzllU" \
-tz "Asia/Shanghai"

星哥实测:

[root@xxxx ~]# curl http://127.0.0.1:5566/wxsend?title= 服务器通知 &content= 服务已于北京时间 %2026:00%20 重启
[1] 15196
[root@xxxx ~]# {"errcode":0,"errmsg":"ok"}

效果:

开源免费的微信消息推送服务、10 万次额度 +2MB 镜像,开发者福音

方式二:直接下载编译好的文件(最简单)

项目在 Releases 页面提供了编译好的可执行文件,支持 Windows、macOS、Linux 多平台。

下载后直接运行:

./go-wxpush_windows_amd64.exe -port "5566" \
  -title "测试标题" \
  -content "测试内容" \
  -appid "你的 appID" \
  -secret "你的 appsecret" \
  -userid "你的 UserID" \
  -template_id "你的 template_id" \
  -base_url "https://push.hzz.cool"

方式三:自行编译(完全控制)

如果你需要自定义或者想学习源码,可以直接编译:

# 安装 gox 工具
go install github.com/mitchellh/gox@latest

# 生成各平台可执行文件
gox -osarch="windows/amd64" -ldflags "-s -w"
gox -osarch="linux/amd64" -ldflags "-s -w"
gox -osarch="darwin/amd64" -ldflags "-s -w"

API 使用:GET 和 POST 都支持

服务启动后,默认监听 5566 端口,推送接口非常简单。

GET 请求(适合快速测试)

http://127.0.0.1:5566/wxsend?title= 服务器通知 &content= 服务已于北京时间 %2022:00%20 重启

参数说明:

参数 必填 说明
title 消息标题
content 消息内容
appid 微信测试号 appID
secret 微信测试号 appsecret
userid 接收者 UserID
template_id 消息模板 ID
base_url 消息详情页跳转地址
tz 时区(默认东八区)

POST 请求(适合 Webhook 集成)

更适合自动化场景,比如 GitHub Actions、CI/CD、服务器监控等。

curl --location --request POST 'http://127.0.0.1:5566/wxsend' \
--header 'Content-Type: application/json' \
--data-raw '{"title":"Webhook 通知 ","content":" 自动化任务已完成。","appid":" 你的 appID","secret":" 你的 appsecret","userid":" 你的 UserID","template_id":" 你的 template_id"}'

响应结果

成功时返回:

{
  "errcode": 0,
  "errmsg": "ok"
}

失败时会返回对应的错误码和错误信息。

实战场景

理论说完了,来点实际应用场景:

场景一:服务器监控报警

写个简单的监控脚本,CPU 超过 80% 时触发推送:

#!/bin/bash
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')

if (($(echo "$CPU_USAGE > 80" | bc -l) )); then
  curl "http://127.0.0.1:5566/wxsend?title=⚠️服务器报警 &content=CPU 使用率:${CPU_USAGE}%"
fi

场景二:CI/CD 通知

在 GitHub Actions 中添加推送步骤,构建完成自动通知:

- name: 发送微信通知
  run: |
    curl -X POST http://your-server:5566/wxsend \
      -H "Content-Type: application/json" \
      -d '{"title":"✅ 构建成功 ","content":" 项目 ${{ github.repository}} 分支 ${{github.ref}} 构建完成 "}'

场景三:自动化脚本结果

每天定时跑的数据分析脚本,跑完推送结果:

import requests

def send_notification(title, content):
    url = "http://127.0.0.1:5566/wxsend"
    params = {
        "title": title,
        "content": content
    }
    requests.get(url, params=params)

send_notification("📊 数据分析完成", "今日新增用户: 123, 活跃用户: 456")

友情提醒

  1. 1. 测试号限制:使用的是微信测试公众号,扫描人数限制在 100 人,但个人和小团队完全够用
  2. 2. 模板格式:再次强调,模板内容一定要加前缀,比如 ” 内容: {{content.DATA}}”
  3. 3. 不要滥用公共服务:虽然作者提供了免费服务,但建议自行部署,避免给别人带来压力
  4. 4. 时区问题:默认使用东八区,如果需要其他时区,可以通过 tz 参数设置

总结

写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧!😊

go-wxpush 这个项目虽然小,但解决了开发者的真实痛点:简单、免费、可靠

如果你正在为微信消息推送发愁,不妨试试这个方案。5 分钟就能搭建起来,从此告别监控盲区。

项目地址:https://github.com/hezhizheng/go-wxpush

 

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2026-04-02发表,共计3922字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中