探索从短信转发到通知推送的全平台解决方案
2024-3-29 17:48:46 Author: sspai.com(查看原文) 阅读量:22 收藏

上一版短信转发和通知方案用了五年,逐渐不能适应新的情况,于是最近重新探索了一番。结果是令我满意的:无论是 iOS、Android 还是 Windows 设备,都可以顺畅接收到推送。设备要求方面也很宽松,从旧手机到百元的开发板,可以各取所需,丰俭由人。

这篇文章就来分享一下我的探索成果。这可能是网络上关于短信转发与通知的最全面的一篇文章了,enjoy :)

自用的短信转发设备
短信转发方案

如何实现短信转发

方案一:使用 Android 旧手机转发

自己如果有淘汰下来的 Android 手机,那这个方案近乎是 0 成本。

早年间我们还需要通过 Tasker 等自动化软件写脚本、改配置完成转发,但现在已经有SMSForwarder 短信转发器这种成熟解决方案,下载安装即可使用,门槛很低,可玩性很高。少数派此前也有相关文章介绍过这个方案。

但这种方案也存在两个问题:一是后台保活挑机器和系统版本;另一个则是长期插电使用存在电池鼓包风险。

先说后台保活挑机器和系统版本的问题。虽然 SMSForwarder 支持众多 App 保活方案,但各家系统的 OS 也在与时俱进,杀起后台来毫不手软。

我曾经试过一台 Oppo R15 给予全部权限、允许自启、关闭后台限制、确保 app 内保活选项全开,但息屏运行一天后 SMSForwarder 就会被中止,短信转发自然也会失败。如果你也想使用这个方案,建议参考这个文档把所有能开的保活措施都打开,然后测试几天看看服务是否稳定。

再说长期插电使用存在的电池鼓包风险。我玩短信转发大概有 6 年了,期间手机电池鼓包过一次。这还是建立在我已经配合智能插座、Home Assistant 和 Tasker ,实现充电 80% 自动停充,电量 10% 自动启充的基础上。这里应该也有早期系统电源管理功能不完善和第三方电芯的锅,但话说回来,都是 Android 旧手机了,它也不太可能有较新的系统和官方电芯替换。

当然,如果你的电池长期使用起来不鼓包,那可以忽略此问题。只是我觉得都是旧手机了,换电的性价比不高、安全性也存疑,所以后续就升级到性价比更高、更安全的解决方案了。

方案二:使用随身 Wi-Fi

这个方案其实是上面通过 Android 旧手机转发短信的一个操作变种,它本质上是一台没有电池,直接通过 USB 供电的 Android 4.0 时代的手机(没电池就很安全)。

在淘宝上你可能见到过 9.9 元的 USB 版本的随身 Wi-Fi 硬件,这其中有部分产品的芯片是来自于二手手机的拆机芯片,里面最多的就是高通 410 处理器(即红米 2 代使用的处理器),这就让随身 Wi-Fi 具备了刷成 Android 系统的潜力。

然而就成本而言,9.9 元的售价并不能覆盖硬件的成本。商家最初的想法是通过顾客后续购买流量包来实现长期盈利。所以如果你想要买回来一个硬件直接刷成 Android 系统,商家天然会给你设置很多阻碍。包括但不限于:

  • 云控:不让你从商家的 eSIM 卡切换到自己安装的手机卡
  • 硬件上直接去除了卡槽

因此,如果我们想自己折腾的话,就需要有比较强的信息搜索+动手能力。

咸鱼搜索随身WiFi
咸鱼搜索随身WiFi

好在我们还有海鲜市场,只要加价几十块就可以看到很多改装好的随身 Wi-Fi 硬件。通常它们会去除云控、刷好 Android,有的还会加装散热小风扇(但如果只用于短信转发其实没必要)。买来简单配置后就可以配置 SMSForwarder 使用。

不管是什么短信转发方案,最麻烦的始终就是电信卡,具体原因可以参考这篇文章。如果旧款 Android 手机不支持 VoLTE 功能,使用电信卡接收短信可能会遇到问题。在随身 Wi-Fi 里也是如此,所以购买之前务必得先和卖家沟通好是否支持自身的运营商卡片,如果不行的话能否退货。

方案三:使用开发板

此方案所设门槛较高,须具备基础的烧录、焊接及编程知识,比较适合那些喜欢折腾的朋友。因为整套方案无需电池,所以安全性也是有保证的。

焊接

需要购买合宙Air7 系列的开发板(需要根据自己卡的运营商挑选开发板型号),成本大概二三十元。然后使用 GitHub 上面的固件自行完成烧录,想玩的可以参考下面这些文档:

当然,不想折腾的话咸鱼市场也有焊好的全套硬件,使用 Air724UG 的产品大概价格在 50 元左右,支持移动,联通,电信三家运营商,省时省心。

咸鱼 Air724UG 成品图-Sora
咸鱼 Air724UG 成品图-Sora

方案四:商用解决方案

这里的合规备案在售的短信收发开发板成品应该只有绿芽在卖:一台成品可以插两张卡,移动联通电信可随意组合。其系统做的比较完善,所有的输入和输出数据都封装成了 HTTP(Get/Post)或是 TCP 自有协议,可以直接发送到自己的系统里。

至于缺点——价格比较贵。绿邮开发板的价格是 239 元,主要因为其原始用途还是面向行业客户需求,而非个人爱好者。但这套系统功能齐全,文档也比较清晰,可玩性还是蛮高的。

绿芽商用短信转发产品
绿芽商用短信转发产品

它们家还有两款基于这套开发板的开箱即用产品:绿芽A6(可以语音回复电话,售价 259) 和 E5(不可语音回复电话,售价 189),买到后插电、关注公众号完成配置就可以使用,适合不在乎价格不想折腾追求安全稳定的朋友们使用。

如何实现通知推送

方案一:借助主流跨平台消息应用

因为像企业微信、钉钉、飞书、Telegram、Slack、Discord 这样的 IM 软件是全平台的,所以最简单的全平台推送方式就是借助这些应用的 webhook 机器人实现。

(webhook 的原理和使用超出了本文的讨论范围。简单来说,一个 webhook 通常是一个较为冗长的地址。按照相关文档中指定的格式向这个地址发送请求,就可以触发预先制定的自动化流程,例如本文场景中就是将短信文本转发到 IM 软件的特定会话。)

大多数短信转发项目支持将短信直接转发到机器人。只需将机器人添加到相应群组中,并将 webhook 地址输入到项目设置中,即可轻松完成配置。但如果你平时用的设备比较多,而 IM 应用又不支持多平台同时登陆(比如微信),那就可以考虑一些更原生的解决方案。

方案二:Bark(适用于 Apple 系统)

iOS 和采用 Apple silicon 的 Mac 上,直接选择 Bark 即可,免费、安全、隐私、稳定、无后台不耗电、适配项目多、文档完善……很难找到缺点。这个工具的现有教程已经很多,使用和配置也不复杂,这里不多赘述。

方案三:FCM-toolbox(适用于 Android)

Android 在国内想要获得 Bark 这样的体验还是非常困难的,原因如下:


文章来源: https://sspai.com/prime/story/cross-platform-sms-forwarding-solution
如有侵权请联系:admin#unsafe.sh