{
"title": "备用手机短信转发方案",
"tags": [
"post",
"sms"
],
"sources": [
"xlog"
],
"external_urls": [
"https://genshin.xlog.app/sms-forward"
],
"date_published": "2023-04-07T07:19:39.485Z",
"content": "## 一. 起因\n\n__由于越来越多账号不支持国内手机和GV注册__\n__所以最近买了张免年费的国外SIM卡来使用__\n__但是卡一多问题就出来了,出门不爱带包两个手机踹口袋裤子都要掉了__\n__所以不得不找个方案, 让我出门只需要带一个手机__\n\n## 二. Android 备用机的转发方案\n\n### 1.SmsForwarder + Telegram Bot\n\n[SmsForwarder](https://github.com/pppscn/SmsForwarder)\n\n__SmsForwarder是个Github上的开源库,支持监控Android手机短信、来电、APP通知并转发__\n__同时也包括远程控制发短信发短信、查短信、查通话、查话簿、查电量等功能__\n\n__这边根据官方文档给出一个简单的搭建流程,如果不想使用Telegram Bot可以去看[文档](https://github.com/pppscn/SmsForwarder/wiki/2.%E5%8F%91%E9%80%81%E9%80%9A%E9%81%93)自行配置__\n\n> 通用设置\n* 按需打开转发功能的总开关,会弹出必需的权限授权;如果授权不正常,请去手机的【设置】中手动设置权限(无脑全部授予)\n* 保活措施建议开启前3项设置\n* 个性设置中卡槽备注点击刷新自动获取,如果转发信息中的卡槽匹配错误,根据SubId设置卡槽主键\n* 如果设备处在网络不稳定的环境,请设置请求重试机制的重试次数\n\n> 发送通道\n\n__我是用Telegram作为转发的工具,也可以使用SMS或者邮箱之类的__\n\n* 申请Telegram Bot\n\n```\n与 @BotFather 私聊,申请 Bot\n发送/newbot 后输入机器人昵称\n然后输入机器人的用户名\n/token 获取apiToken,然后输入上面机器人的用户名\n获得apiToken,格式参考:1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZ\n复制 apiToken 到「设置Telegram机器人的ApiToken」一栏\n跟自己的机器人聊天,随便说点什么;或者创建一个群组,把机器人拉入群组,在群组里随便说点什么。\n然后打开这个链接 https://api.telegram.org/bot<apiToken>/getUpdates 获取(PS.注意<apiToken>整个换成你自己的)\nChatID 取值 result->message->chat->id (个人是纯数字;群组是负数,type:group;)\n获取自己(或群组)的ChatID,粘贴到「设置被通知人的ChatId」一栏\n点击【测试】按钮验证一下\n```\n\n> 通话转发规则\n\n* 发送通道选择刚刚添加的Telegram Bot\n* 执行逻辑 -> 成功即止\n* 匹配字段 -> 全部\n* 启用该条转发规则\n\n__然后就可以发一条短信进行测试,如果有问题那就看文档或者自己Google__\n\n### 2. Tasker + Telegram Bot\n\n> 注: Tasker是收费App\n\n* 申请Telegram Bot\n\n```\n与 @BotFather 私聊,申请 Bot\n发送/newbot 后输入机器人昵称\n然后输入机器人的用户名\n/token 获取apiToken,然后输入上面机器人的用户名\n获得apiToken,格式参考:1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZ\n复制 apiToken 到「设置Telegram机器人的ApiToken」一栏\n跟自己的机器人聊天,随便说点什么;或者创建一个群组,把机器人拉入群组,在群组里随便说点什么。\n然后打开这个链接 https://api.telegram.org/bot<apiToken>/getUpdates 获取(PS.注意<apiToken>整个换成你自己的)\nChatID 取值 result->message->chat->id (个人是纯数字;群组是负数,type:group;)\n获取自己(或群组)的ChatID,粘贴到「设置被通知人的ChatId」一栏\n点击【测试】按钮验证一下\n```\n\n* 创建 Task\n\n__添加一个 HTTP Request 动作:__\n\nMethod 选 POST\nURL 一栏填写:https://api.telegram.org/bot<你的TOKEN>/sendMessage\nHeaders 一栏填写:Content-Type:application/json (可以点击放大镜快速选择)\nBody内容填写如下(记得chat_id替换为你的uid):\n```\n{\n \"chat_id\": <YOUR_CHAT_ID>,\n \"parse_mode\": \"HTML\",\n \"text\": \"<b>%SMSRF(%SMSRN)</b> \\n\\n%SMSRB\\n\\n 时间:%SMSRD\"\n}\n```\n其中用到了几个 Tasker 自带的变量:\n>%SMSRF:sender address 地址\n%SMSRN:sender name 通讯录中的名称或号码\n%SMSRB:主体(短信内容)\n%MMSRS:主题(一般彩信才有)\n%SMSRD:接收日期\n%SMSRT:接收时间\n\n* 创建 Profile 来调用 Tasker\n\n切换到 Tasker 的 PROFILES 选项卡,添加一个 Event 类型的 `Profile :Phone > Received Text`,按需求配置是否需要过滤类型,发送者和内容。\n\n创建之后选择链接到刚刚创建的 Task就完成了。\n\n## 三. Iphone 备用机的转发方案\n\n__iphone应用默认是没权限读取短信内容,然后快捷指令自动化还强制必须指定关键词或者联系人,暂时没找到转发给Android的方式__\n\n### 1. 转发到Iphone\n\n```\n在iPhone上启动设置\n转到消息\n切换iMessage\n查找并点按短信转发\n找到想要接收和发送短信的 iOS 设备(只有同一个apple id的设备才会显示在里面)\n验证码将发送到请求的设备\n```\n\n__没有两台iphone没法测试, 看有些大佬反馈不同wifi下同步会有问题, 所以备用机还是用Android吧__",
"attributes": [
{
"value": "sms-forward",
"trait_type": "xlog_slug"
}
]
}