SmsForwarder是一个开源的短信转发器,可能不少的用户现在还保留着使用短信来进行通讯的习惯,实际上短信作为通讯的手段也是有一定的优点的,比如说我们在没有流量的时候就可以使用发短信来交流信息,并且这是手机上最基础的功能,很多的用户都可以在不安装其他的软件的可以帮助用户自动将手机的短信转发到钉钉、企业微信、飞书、Webhook、Server酱、Bark等软件中。让你可以不用拿手机就能便捷的查看短信内容,非常适合用于有多个手机的用户,让你备用机的手机可以在主力机上轻松查看。这对于有着很多的手机的用户来说是非常实用的。我们可以在一个手机上面就能查看其他手机上面的短信,感兴趣的用户不要错过下载了。
信息转发无界限
转发各类短信内容,从短信通知到重要通知,SmsForwarder全面支持,为您的沟通提供便捷通道。
多渠道传递
钉钉、企业微信等多种聊天平台,都能成为信息的接收方,确保您随时掌握关键信息。
备用机信息同步
拥有多部移动设备?不必担心短信错过,SmsForwarder将备用机的信息传达到主力手机。
灵活的转发规则
您可以自定规则,将不同类型的短信发送至不同的接收方,实现高效信息管理。
即时转发,无占用
SmsForwarder只在有短信时执行转发,不占用手机电量,始终保持高效和节能。
转发记录一目了然
最近的转发内容和状态都能轻松记录,让您随时查阅信息传递情况。
兼容 Android 6.xx、7.xx、8.xx、9.xx、10.xx
支持双卡手机,增加卡槽标识/运营商/手机号(如果能获取的话)
支持多重匹配规则
支持标注卡槽号码(优先使用)、设备信息;自定义转发信息模版
支持正则匹配规则
支持卡槽匹配规则
转发未接来电提醒(固定sim1卡发出提醒)
接口请求失败后延时重试5次(可配置间隔时间,成功一次则终止重试)
自定义 Scheme(forwarder://main)用于唤起App
低电量预警(设置30%,则30、29时都通知一下,避免错过!按需设置一下转发规则(不再遍历所有发送方)【号码:88888888、内容:当前剩余电量:xx%,已经到达低电量预警阈值,请及时充电!、卡槽:sim1】)
多语言支持(目前:中文、英文)
增加配置导出导入功能(一键克隆)
1、简单:只做两件事:接受短信 –> 根据指定规则转发
2、简洁:AirDroid手机管理工具功能太多,看着都耗电,权限太多,数据经过三方,账号分级
3、IFTTT:功能太多,看着耗电,权限太多,数据经过三方,收费还有一些其他的APP(例如:Tasker)也是这些毛病
4、省电:运行时只接收广播,有短信才执行转发,并记录最近n条的转发内容和转发状态
5、健壮:越简单越不会出错(UNIX设计哲学),就越少崩溃,运行越稳定持久
当手机收到验证码后,可以设置自动调用接口,将验证码上传,这里我参考了 webhook 的方式,通过 webhook 将验证码自动 post 到我的函数计算的接口上面,配置方法可以参考文档,配置效果如下:
短信通道
因为短信接收的接口开放在公网,为了安全起见,我添加了一个 token 参数校验,如果 token 不对会返回 404,防止敏感信息泄露。
短信转发规则
这里我是通过正则来匹配短信内容的,将正则匹配的短信通过上面的短信通道发送出去。
验证码获取
将验证码上传后,就可以通过另一个接口来获取了,我使用 b ottle 起了一个 web 服务器,通过函数计算来执行;
声明一个变量,用来保存验证码,通过接口获取到验证码后,保存到这个变量中,然后请求另一个接口,返回这个变量的值。代码很简单,没什么可说的。
还有函数计算一段时间不访问就会清除当前运行的实例,这个时候重新访问的话 msg 的值就是空的,也能保证安全,验证码信息不落库,不保存,只放到内存中,在一段时间后自动销毁。
获取命令
函数计算测试成功后,通过以下命令就可以获取到云端的验证码了
效果如下:
如果用使用过 Alfred 的小伙伴应该知道,Alfred 可以通过自定义的 Workflows 来执行自定义的指令,并且可以和剪切板交互,废话不多说,上代码:
整体流程就三步,keyword 启动后,执行 bash 脚本,然后将结果复制到剪切板
脚本已经粘贴在上面了,可以直接复用。
最后一步复制到剪切板的操作可以勾选这两个选项,勾选后会自动粘贴到当前可编辑的位置: