V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
JusticeIsHere
V2EX  ›  分享创造

搭建专属于你的消息推送服务

  •  1
     
  •   JusticeIsHere · 2022-12-20 10:28:24 +08:00 · 6905 次点击
    这是一个创建于 702 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    差不多两年之前,我在 V 站分享了自己的消息推送项目,当时收到了很多支持与关注。

    这是原帖子: https://www.v2ex.com/t/745694

    时隔两年,现在项目已经完全由 Go + React 重写,并添加了一些新的功能。

    功能

    1. 多种消息推送方式:
      • 邮件消息,
      • 微信测试号,
      • 企业微信应用号,
      • 企业微信群机器人
      • 飞书群机器人,
      • 钉钉群机器人,
      • Bark App,
      • WebSocket 客户端(官方客户端接入文档),
    2. 多种用户登录注册方式:
    3. 支持 Markdown 。
    4. 支持用户管理。
    5. Cloudflare Turnstile 用户校验。
    6. 支持在线发布公告,设置关于界面以及页脚。

    部署 & 配置

    仅单个可执行文件,没有其他依赖开箱即用,同时也提供了 Docker 镜像。

    部署:docker run -d --restart always --name message-pusher -p 3000:3000 -v /home/ubuntu/data/message-pusher:/data justsong/message-pusher

    更新:docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR

    (由于之前是 Node.js 项目,且没有提供 Docker 镜像,大家一般是直接 Git clone ,所以 README 上显示的 docker pulls 的次数目前并没有很多。)

    具体的部署和配置方法还请参考项目 README 。

    演示

    在线演示: https://msgpusher.com

    截图展示:

    其他

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

    期待大家的反馈,谢谢!

    32 条回复    2023-11-20 17:10:17 +08:00
    cssk
        1
    cssk  
       2022-12-20 10:36:58 +08:00 via iPhone
    不支持 tg 推送?
    JusticeIsHere
        2
    JusticeIsHere  
    OP
       2022-12-20 10:48:47 +08:00   ❤️ 1
    @cssk 这个实际上之前有打算去做(包括支持 Discord ),但我不确定有多少人会去用这个功能就又给搁置了。新增消息推送通道实际上不会花费太久时间去开发,支持 Telegram 暂定在下个版本。
    lsymy
        3
    lsymy  
       2022-12-20 13:00:46 +08:00
    star
    cheung
        4
    cheung  
       2022-12-20 16:04:29 +08:00
    star
    c0xt30a
        5
    c0xt30a  
       2022-12-20 17:10:17 +08:00
    - Telegram
    - Mattermost

    我目前用的是这两个,OP 完美避开了
    JusticeIsHere
        6
    JusticeIsHere  
    OP
       2022-12-20 17:42:33 +08:00
    @c0xt30a 哈哈哈,发出来就是让大家提一下意见,Telegram 安排在下个版本了,Mattermost 我之前都没听说过呢
    szxczyc
        7
    szxczyc  
       2022-12-20 19:44:29 +08:00 via iPhone
    每天如果要发送千万条消息,怎么保证每一条都被消费了呢?
    JusticeIsHere
        8
    JusticeIsHere  
    OP
       2022-12-20 20:32:41 +08:00
    @szxczyc 这是同步的消息推送,只有当消息推送成功或失败才会返回 response
    DiffView
        9
    DiffView  
       2022-12-20 22:15:20 +08:00
    没 tg 就不想用了,哈哈哈哈
    日常工作 99%在 tg
    DiffView
        10
    DiffView  
       2022-12-20 22:15:40 +08:00
    op 有功能了记得 at 我,我肯定来用
    JusticeIsHere
        11
    JusticeIsHere  
    OP
       2022-12-20 23:07:18 +08:00
    @DiffView 好的哈哈哈
    wsseo
        12
    wsseo  
       2022-12-20 23:38:51 +08:00
    fonts googleapis 谷歌字体这个请求导致页面加载好慢,能不能放在本地
    JusticeIsHere
        13
    JusticeIsHere  
    OP
       2022-12-21 01:08:44 +08:00
    @wsseo 谢谢反馈,我调研一下
    JusticeIsHere
        14
    JusticeIsHere  
    OP
       2022-12-21 09:53:39 +08:00
    @wsseo #12 我用测速工具看了一下 fonts.gstatic.com 以及 fonts.googleapis.com 的国内测速情况,发现是一片绿,请问你是什么网络环境呢?
    wsseo
        15
    wsseo  
       2022-12-21 13:51:52 +08:00
    上海电信家庭宽带
    zuoshoufantexi
        16
    zuoshoufantexi  
       2022-12-21 14:29:18 +08:00
    我看了,我不理解,这个是用来推送什么呢?
    JusticeIsHere
        17
    JusticeIsHere  
    OP
       2022-12-21 15:03:23 +08:00
    @wsseo #15 这个依赖属于间接依赖,不太好处理,不过字体资源按理说不应该影响页面首屏渲染才对。

    @zuoshoufantexi #16 提供接口推送文本消息到自己的设备上
    zuoshoufantexi
        18
    zuoshoufantexi  
       2022-12-21 15:09:46 +08:00
    @JusticeIsHere 我还是没懂……推送什么消息呢?能举些例子么?我还是有点儿懵。
    一般都有哪些应用场景吖……
    HungryOrangeCat
        19
    HungryOrangeCat  
       2022-12-21 15:18:22 +08:00
    很棒的产品,支持
    JusticeIsHere
        20
    JusticeIsHere  
    OP
       2022-12-21 16:31:04 +08:00
    @zuoshoufantexi #18 比如说,你写了一个脚本,这个脚本是定期自动自行的,你需要一种方式把结果通知到自己,这个时候就可以利用本系统提供的 API 做消息的推送。

    @HungryOrangeCat 谢谢~
    zuoshoufantexi
        21
    zuoshoufantexi  
       2022-12-21 17:42:21 +08:00
    @JusticeIsHere 哦哦哦,好的,谢谢。
    我还以为能实现集合我现在所有程序的通知。通过一个接口统一推送给我呢……
    HungryOrangeCat
        22
    HungryOrangeCat  
       2022-12-21 18:23:11 +08:00
    @JusticeIsHere 之前看到个 serverchsn 和你这个很像
    JusticeIsHere
        23
    JusticeIsHere  
    OP
       2022-12-21 21:31:06 +08:00   ❤️ 1
    @cssk
    @c0xt30a
    @DiffView v0.3.1 版本已经支持 Telegram ,现已发布: https://github.com/songquanpeng/message-pusher/releases/tag/v0.3.1
    JusticeIsHere
        24
    JusticeIsHere  
    OP
       2022-12-21 21:35:14 +08:00
    @HungryOrangeCat 是的,是同一类应用
    killgfat
        25
    killgfat  
       2022-12-21 22:25:58 +08:00
    最近刚部署了一个 gotify 在自己的 NAS 上,感觉是类似的服务
    DiffView
        26
    DiffView  
       2022-12-23 16:26:57 +08:00
    @JusticeIsHere 速度好快,我来试试
    JusticeIsHere
        27
    JusticeIsHere  
    OP
       2022-12-24 10:13:12 +08:00
    @DiffView 谢谢~
    Yukineko
        28
    Yukineko  
       2022-12-26 16:16:05 +08:00   ❤️ 1
    已 star ,很不错,准备试用一下
    timpaik
        29
    timpaik  
       2022-12-28 09:09:27 +08:00 via Android
    能否接入 ntfy? https://ntfy.sh/
    windrun
        30
    windrun  
       2022-12-29 17:24:57 +08:00   ❤️ 1
    支持,准备试用一下
    JusticeIsHere
        31
    JusticeIsHere  
    OP
       2022-12-30 17:48:18 +08:00
    @timpaik 感谢建议,我看一下
    WordTian
        32
    WordTian  
       2023-11-20 17:10:17 +08:00
    最近就在找这种消息推送的服务,感谢 OP
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3060 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:56 · PVG 21:56 · LAX 05:56 · JFK 08:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.