搭建专属于你的消息推送服务 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
JusticeIsHere
V2EX    分享创造

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

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

    前言

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

    这是原帖子: 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     Solana     4590 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 04:01 PVG 12:01 LAX 21:01 JFK 00:01
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86