Sign inSign up

pdone/freenotify

By pdone

•Updated about 4 years ago

免费的、可私有化部署的通知服务

Image
0

152

pdone/freenotify repository overview

⁠FreeNotify

免费的、可私有化部署的通知服务

⁠功能

  • 企业微信应用消息推送 1
  • Free Notify Android(独立应用,仅用于接收消息)
⁠Todo
  • Free Notify Android 集成小米推送
  • 调用鉴权
  • 消息队列
  • 邮件消息推送
  • Free Notify iOS(独立应用,仅用于接收消息)

⁠部署

⁠Docker Cli(推荐)
docker run -d \
--name freenotify \
-p 9981:9981 \
-v 你的目录:/data \
--restart unless-stopped \
pdone/freenotify:1.1
⁠Windows
⁠IIS

在IIS里创建网站,绑定9981端口,把压缩包内所有文件复制到网站根目录下。

⁠直接运行

直接运行压缩包中的 FreeNotify.exe 。

Windows下两种方式二选一即可,Windows压缩包中不包含 .NET 6 Runtime 请自行下载安装⁠。 (下载时请选择 ASP.NET Core 运行时 6 或更高版本)

⁠配置

⁠Docker

打开 你的目录 中的 config.json文件,配置其中需要的参数,重启容器生效。

⁠Windows

打开 程序根目录中的 config.json文件,配置其中需要的参数,重启服务生效。

⁠企业微信参数说明
  • CorpId 企业ID,获取方式参考:术语说明-corpid⁠
  • CorpSecret 应用的凭证密钥,获取方式参考:术语说明-secret⁠
  • AgentId 企业应用ID,可在应用的设置页面查看
  • ToUser 消息推送目标,默认值 @all 即企业全员
⁠独立App参数说明
  • CloudFunc 云函数地址,固定不变无需修改。
  • PushId 推送ID,在App中获取。

⁠使用

⁠Swagger(接口文档和在线调试)

调试模式下(配置文件中的 IsDebug 值为 true时),可通过 http://localhost:9981/swagger 访问Swagger页面,对接口进行临时调试,同时在Swagger页面中也提供了详细的接口文档,故下文仅提供个别接口示例,可以在Swagger页面看到完整的可用接口列表。

⁠HTTP / HTTPS 2

可使用 GET 或 POST 请求进行消息的推送,具体请求路径参考Swagger页面。

⁠企业微信
⁠发送企业微信文本消息 HTTP GET
curl -X 'GET' \
  'http://localhost:9981/api/wxwork/sendText?content=test' \
  -H 'accept: text/plain'

其中,请求地址为 http://localhost:9981/api/wxwork/sendText?content=test 3,消息内容为 test。 此时,企业微信中会收到一条文字消息 test。

⁠Free Notify Android
  1. 下载Apk安装包并安装。
  1. 在通知管理中开启 消息推送 权限,省电策略改为 无限制4。
  2. 打开应用,进入 My 页面,点击 获取Push ID 按钮,将获取到的 Push ID 配置到 config.json中,重启容器或服务生效(重装应用 或 清除应用全部数据 后需要重新获取 Push ID)。
⁠发送App文本消息 HTTP GET
curl -X 'GET' \
  'http://localhost:9981/api/app/sendText?title=title&content=content' \
  -H 'accept: text/plain'

其中,请求地址为 http://localhost:9981/api/app/sendText?title=title&content=content,消息标题为 title,消息内容为 content。 此时,若手机App正在前台(后台)运行,手机上方通知栏会弹出一条消息,点击消息可进入App界面。

⁠版本说明

⁠正式版本(推荐)

以数字形式命名,如 1.1,功能稳定,根据迭代增加版本号。

⁠初始版本

版本号固定为 alpha,后续不再维护,仅作为项目启动的纪念。

⁠补充说明

  1. 企业微信在2022年6月20日之后新创建的应用,需要额外配置可信IP。来自IP白名单里的请求企业微信才会处理,所以无公网IP或者动态公网IP的朋友无需尝试了,但在这个时间点之前创建的企业应用不配置IP白名单也可以正常调用企业微信的接口。详情见 自建及代开发应用安全性升级。⁠
  2. HTTP端口为 9981,HTTPS端口为 9982,但 1.0 版本暂未提供HTTPS支持,后续会进行支持。
  3. 1.1 版本已增加路由层级,详细内容请参考Swagger页面。 由于目前 1.0 版本只开发了企业微信消息推送,所以路由中只有 /api 这一层,后续如果增加了其他方式的推送,会增加路由层级,调整为 /api/wxwork、/api/email、/api/app等。
  4. 目前还没有接入厂商推送,所以App进程被杀掉,就收不到消息了,直到下次启动App时才会收到。

Tag summary

Content type

Image

Digest

sha256:16c00f9d5…

Size

85.7 MB

Last updated

about 4 years ago

docker pull pdone/freenotify:1.1