备用手机短信转发方案

一。起因

由于越来越多账号不支持国内手机和 GV 注册
所以最近买了张免年费的国外 SIM 卡来使用
但是卡一多问题就出来了，出门不爱带包两个手机踹口袋裤子都要掉了
所以不得不找个方案，让我出门只需要带一个手机

二. Android 备用机的转发方案

1.SmsForwarder + Telegram Bot

SmsForwarder

SmsForwarder 是个 Github 上的开源库，支持监控 Android 手机短信、来电、APP 通知并转发
同时也包括远程控制发短信发短信、查短信、查通话、查话簿、查电量等功能

这边根据官方文档给出一个简单的搭建流程，如果不想使用 Telegram Bot 可以去看文档自行配置

通用设置

按需打开转发功能的总开关，会弹出必需的权限授权；如果授权不正常，请去手机的【设置】中手动设置权限（无脑全部授予）

保活措施建议开启前 3 项设置

个性设置中卡槽备注点击刷新自动获取，如果转发信息中的卡槽匹配错误，根据 SubId 设置卡槽主键

如果设备处在网络不稳定的环境，请设置请求重试机制的重试次数

发送通道

我是用 Telegram 作为转发的工具，也可以使用 SMS 或者邮箱之类的

申请 Telegram Bot

Copy
与 @BotFather 私聊，申请 Bot
发送/newbot 后输入机器人昵称
然后输入机器人的用户名
/token 获取apiToken，然后输入上面机器人的用户名
获得apiToken，格式参考：1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZ
复制 apiToken 到「设置Telegram机器人的ApiToken」一栏
跟自己的机器人聊天，随便说点什么；或者创建一个群组，把机器人拉入群组，在群组里随便说点什么。
然后打开这个链接 https://api.telegram.org/bot<apiToken>/getUpdates 获取（PS.注意<apiToken>整个换成你自己的）
ChatID 取值 result->message->chat->id (个人是纯数字；群组是负数，type：group；)
获取自己（或群组）的ChatID，粘贴到「设置被通知人的ChatId」一栏
点击【测试】按钮验证一下

通话转发规则

发送通道选择刚刚添加的 Telegram Bot

执行逻辑 -> 成功即止

匹配字段 -> 全部

启用该条转发规则

然后就可以发一条短信进行测试，如果有问题那就看文档或者自己 Google

2. Tasker + Telegram Bot

注: Tasker 是收费 App

申请 Telegram Bot

Copy
与 @BotFather 私聊，申请 Bot
发送/newbot 后输入机器人昵称
然后输入机器人的用户名
/token 获取apiToken，然后输入上面机器人的用户名
获得apiToken，格式参考：1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZ
复制 apiToken 到「设置Telegram机器人的ApiToken」一栏
跟自己的机器人聊天，随便说点什么；或者创建一个群组，把机器人拉入群组，在群组里随便说点什么。
然后打开这个链接 https://api.telegram.org/bot<apiToken>/getUpdates 获取（PS.注意<apiToken>整个换成你自己的）
ChatID 取值 result->message->chat->id (个人是纯数字；群组是负数，type：group；)
获取自己（或群组）的ChatID，粘贴到「设置被通知人的ChatId」一栏
点击【测试】按钮验证一下

创建 Task

添加一个 HTTP Request 动作:

Method 选 POST
URL 一栏填写：https://api.telegram.org/bot<你的 TOKEN>/sendMessage
Headers 一栏填写：Content-Type/json （可以点击放大镜快速选择）
Body 内容填写如下（记得 chat_id 替换为你的 uid）：

Copy
{
"chat_id": <YOUR_CHAT_ID>,
"parse_mode": "HTML",
"text": "%SMSRF(%SMSRN) \n\n%SMSRB\n\n 时间：%SMSRD"
}

其中用到了几个 Tasker 自带的变量：

% SMSRF：sender address 地址
% SMSRN：sender name 通讯录中的名称或号码
% SMSRB：主体（短信内容）
% MMSRS：主题（一般彩信才有）
% SMSRD：接收日期
% SMSRT：接收时间

创建 Profile 来调用 Tasker

切换到 Tasker 的 PROFILES 选项卡，添加一个 Event 类型的 Profile ：Phone > Received Text，按需求配置是否需要过滤类型，发送者和内容。

创建之后选择链接到刚刚创建的 Task 就完成了。

三. Iphone 备用机的转发方案

iphone 应用默认是没权限读取短信内容，然后快捷指令自动化还强制必须指定关键词或者联系人，暂时没找到转发给 Android 的方式

1. 转发到 Iphone

Copy
在iPhone上启动设置
转到消息
切换iMessage
查找并点按短信转发
找到想要接收和发送短信的 iOS 设备(只有同一个apple id的设备才会显示在里面)
验证码将发送到请求的设备

没有两台 iphone 没法测试，看有些大佬反馈不同 wifi 下同步会有问题，所以备用机还是用 Android 吧