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

[开源]自建类 server 酱消息推送服务(附安卓客户端)

  •  
  •   ochatokori · 172 天前 · 3536 次点击
    这是一个创建于 172 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Mpush

    前段时间因为 server 酱频繁故障(现在已经恢复服务了),就开始动手自己做一个消息推送服务了

    建起来之后基本上和 server 酱一模一样的使用方式

    Get http://127.0.0.1:port/devicename?title=test&content=content

    post 同理

    desp 字段改成了 content 字段

    相比于 server 酱优势

    • 任性,自己的服务器,想推多少条就推多少条,想推多少设备就推多少设备
    • 自由,没有微信的特殊字符限制,你甚至可以发送 emoji
    • 开放,代码公开,信息安全自己掌握
    • 快捷,通知直接显示消息内容而不是打开微信查看

    劣势

    • 后台需要单独运行一个客户端,占用内存 17MB 左右
    • 客户端暂时不支持显示 markdown
    • 网络环境复杂时实时性没有微信可靠,但能保证消息推送到客户端

    配置服务端

    • 编辑 config.js 填写 token 和端口,即可运行
    • 可以直接用 node main.js > ./log &
    • 或者使用 pm2
      pm2 start /path/to/main.js --name mpush --output /path/to/log -i 1
      

    安卓客户端

    • 设置页填写 url,token,设备 id 即可
    • 因为微博图床不能直接显示了预览就去 github 看吧,简单是简单了点,又不是不能用

    服务端的 README 有写通信方式,完全可以自建任何平台的客户端

    Github 地址

    要是能顺手给个小星星就更好了

    22 回复  |  直到 2019-08-31 00:28:05 +08:00
        1
    Fx8m   172 天前
    支持 mipush 就好了
        2
    haozes   172 天前
    不错哦
    要特别授权给它自启动和无限制的电池策略,这个有点麻烦,而且这个如果用的人稍微有点多,服务器就得贵,可惜 ANDROID 国内没有统一的推送平台。
        3
    ochatokori   172 天前 via Android
    @Fx8m #1 当初考虑过使用 mipush 和 fcm,只不过 mipush 对非 miui 环境不友好,fcm 在墙内也不方便,最好还是选择后台长连接了。考虑到耗电后台服务已经相当精简了
        4
    liuxey   172 天前
    然而我之前用 Server 酱唯一的原因就是微信
        5
    ochatokori   172 天前 via Android
    @haozes #2 这个项目的定位是有需要的人自己搭建自己使用,其实也不会占用服务器很多资源

    自启动和电池策略这个,毕竟自己用没必要搞花里胡哨的保活
        6
    cheese   172 天前
    @ochatokori #3 mipush 的第三方项目(非 miui,非小米手机使用 mipush )可用性已经非常高了,可以考虑加入 mipush 功能。
    第三方项目地址: https://github.com/MiPushFramework/MiPushFramework
        7
    ochatokori   172 天前 via Android
    @cheese #6 谢谢,我会试一下
        8
    Fx8m   172 天前
    加入 mipush 的话,起码 miui 可以使用系统级的推送了。无需后台
        9
    jisibencom   172 天前 via Android
    能推送到个人微信号也行啊,或者 xposed 搞个插件?
        10
    love   172 天前
    我用的自己写的一个类似 的,不过是用邮件协议,好处是不用搞自己的客户端,也不用但心手机内存颠簸导致后台被杀
        11
    anubu   172 天前
    有一个开源的项目 gotify 可以参考一下: https://github.com/gotify/server
        12
    ycr6708536   172 天前
    @jisibencom 可以推送到企业微信的服务中~
        13
    lizheming   172 天前
    支持下楼主,同类产品还有 Bark 也非常不错的 https://github.com/Finb/Bark
        14
    ochatokori   172 天前 via Android
    @love #10 发邮件不是会被封端口吗,至少腾讯云是回封的
        15
    love   172 天前
    @ochatokori 不要用 25 口就行了啊
        16
    love   172 天前
    @ochatokori 再说了,对于发的部分,如果你喜欢 http 的,也可以写 http 接口(类似你这个),收的部分用 pop 就行。 各大手机都有内置邮件接收软件,且用的是同步机制永远不用担心被杀后台。
        17
    deorth   172 天前
    之前用的是 tg 的 bot,后来换了公司几乎不用 tg 了就改用了 server 酱。所以问题还是微信
        18
    dabaibai   172 天前 via iPhone
    马克一下,谢谢
        19
    zhensjoke   170 天前
    加个接口就能推微信了...
        20
    ochatokori   170 天前
    @zhensjoke #19 此话怎讲
        21
    wtks1   130 天前 via Android
    我来补一句,如果用 centos7 作为服务端,不要用 yum 源自带的 nodejs,因为版本不够会报错,还有就是如果没有做其他设置,客户端填连接地址的时候,是用 http 协议
        22
    galenzhao   77 天前
    企业微信随便注册,推送不限内容
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1352 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 17:25 · PVG 01:25 · LAX 09:25 · JFK 12:25
    ♥ Do have faith in what you're doing.