1 Star 1 Fork 369

zj1d / SmsForwarder

forked from pppscn / SmsForwarder 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-2-Clause

SmsForwarder (短信转发器)

监控Android手机短信并根据指定规则转发到其他手机:钉钉机器人、企业微信群机器人、飞书机器人、企业微信应用消息、邮箱、bark、webhook、Telegram机器人、Server酱、手机短信等。

⚠ 首发地址:https://github.com/pppscn/SmsForwarder

⚠ 同步镜像:https://gitee.com/pp/SmsForwarder

⚠ 网盘下载:https://wws.lanzoui.com/b025yl86h 访问密码:pppscn


特别声明:

  • 本仓库发布的SmsForwarder项目中涉及的任何代码/APK,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

  • 间接使用代码/APK的任何用户,包括但不限于在某些行为违反国家/地区法律或相关法规的情况下进行传播, pppscn 对于由此引起的任何隐私泄漏或其他后果概不负责。

  • 如果任何单位或个人认为该项目的代码/APK可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关代码/APK。

  • 隐私声明:SmsForwarder 不会收集任何您的隐私数据!!!APP启动时发送版本信息发送到友盟统计;手动检查新版本时发送版本号用于检查新版本;除此之外,没有任何数据!!!


特点和准则:

  • 简单 只做两件事:监听短信 --> 根据指定规则转发

由此带来的好处:

  • 简洁:(当时用Pad的时候,看手机验证码各种不方便,网上搜了好久也有解决方案)
    • AirDroid:手机管理工具功能太多,看着都耗电,权限太多,数据经过三方,账号分级
    • IFTTT:功能太多,看着耗电,权限太多,数据经过三方,收费
    • 还有一些其他的APP(例如:Tasker)也是这些毛病
  • 省电:运行时只监听广播,有短信才执行转发,并记录最近n条的转发内容和转发状态
  • 健壮:越简单越不会出错(UNIX设计哲学),就越少崩溃,运行越稳定持久

工作流程:

工作流程

功能列表:

  • 监听短信,按规则转发(规则:什么短信内容/来源转发到哪里)
  • 转发到钉钉机器人(支持:单个钉钉群,@某人)
  • 转发到邮箱(支持:SMTP)
  • 转发到Bark(支持:验证码/动态密码自动复制)
  • 转发到webhook(支持:单个web页面(向设置的url发送POST/GET请求))
  • 转发到企业微信群机器人
  • 转发到企业微信应用消息
  • 转发到ServerChan(Server酱·Turbo版)
  • 转发到Telegram机器人
  • 转发到其他手机短信【注意:非免费的,转发短信运营商有收费的,建议没有网络时启用,并设置好内容过滤规则】
  • 在线检测新版本、升级
  • 清理缓存
  • 兼容 Android 6.xx、7.xx、8.xx、9.xx、10.xx
  • 支持双卡手机,增加卡槽标识/运营商/手机号(如果能获取的话)
  • 支持多重匹配规则
  • 支持标注卡槽号码(优先使用)、设备信息;自定义转发信息模版
  • 支持正则匹配规则
  • 支持卡槽匹配规则
  • 转发未接来电提醒(固定sim1卡发出提醒)
  • 接口请求失败后延时重试5次(可配置间隔时间,成功一次则终止重试)
  • 转发到飞书机器人
  • 自定义 Scheme(forwarder://main)用于唤起App
  • 低电量预警(设置30%,则30、29时都通知一下,避免错过!按需设置一下转发规则(不再遍历所有发送方)【号码:88888888、内容:当前剩余电量:xx%,已经到达低电量预警阈值,请及时充电!、卡槽:sim1】)
  • 多语言支持(目前:中文、英文)

使用流程:

  1. 在Android手机上安装SmsForwarder本APP后点击应用图标打开
  2. 在设置发送方页面,添加或点击已添加的发送方来设置转发短信使用的方式,现在支持钉钉机器人、企业微信群机器人、企业微信应用消息、邮箱、bark、webhook、Telegram机器人、Server酱:

    发送方配置见《发送方设置参考》章节

  3. 在设置转发规则页面,添加或点击已添加的转发规则来设置转发什么样的短信,现在支持转发全部、根据手机号、根据短信内容、指定卡槽:
    • 当设置转发全部时,所以接收到的短信都会用转发出去。
    • 当设置根据手机号或短信内容时,请设置匹配的模式和值,例如:”手机号 是 10086 发送方选钉钉“。
  4. 点击主页面右上角的菜单可进入设置页面,在设置页面可以更新应用查看应用信息提交意见反馈等
  5. 在主页面下拉可刷新转发的短信,点击清空记录可删除转发的记录

⚠ 该APP打开后会自动后台运行并在任务栏显示运行图标,请勿强杀,退出后请重新开启,并加入到系统白名单中,并允许后台运行

⚠ 近期接收到部分用户反馈,SmsForwarder无法正确转发通知类短信(普通短信正常),涉及 ROM 有华为 EMUI、小米 MIUI、VIVO OriginOS、OPPO ColorOS等。国内厂商定制系统提供了验证类短信安全保护功能,导致验证码不能正常通过广播获得。以下是解决方案:

⚠ 风险警示:转发验证码可能导致您的个人隐私、账户安全受到损害,如果您已经知晓该风险,请继续进行以下操作。

华为 EMUI:

信息 > 更多 > 设置 > 高级 关闭验证码安全保护开关。

via:https://club.huawei.com/thread-17770781-1-1.html

小米 MIUI:

安全中心 > 授权管理 > 短信转发器 > 权限 > 勾选通知类短信

vivo 手机:

信息 > 左上角3个点 > 设置 > 隐私保护 > 关闭验证码安全保护开关

发送方设置参考

钉钉机器人

  • 任意拉两个人成立一个群组,然后将其他人踢出群
  • 在群设置->智能群助手->添加机器人,添加一个新的「自定义机器人」
  • 自定义机器人,安全设置->加签,复制到「加签Secret」一栏
  • 复制自定义机器人的链接中的"access_token="后面的内容到「设置Token」一栏
  • 点击【测试】按钮验证一下

邮件

  • 发件服务器:邮箱的SMTP服务器地址,如 smtp.qq.com
  • SMTP端口:SMTP服务器的端口号:通常是25;开启SSL之后,通常是465
  • 发件账号:用于发送提醒邮件的邮箱,例如 xxxx@qq.com
  • 登录密码/授权码:用于发送提醒邮件的密码,QQ邮箱可在邮箱设置中生成一组三方邮件服务专用的授权码,其他邮箱可能需要输入登录密码
  • 收件地址:用于接收提醒的邮箱,例如 yyyy@qq.com
  • 点击【测试】按钮验证一下

Bark(转发IOS最佳体验,强烈推荐)

Webhook

企业微信群机器人

  • 任意拉两个人成立一个群组,然后将其他人踢出群
  • 在会话列表右键点击刚创建的群->添加群机器人->新创建一个机器人->自定义机器人名称
  • 复制WebHook地址到「设置WebHook地址」一栏
  • 点击【测试】按钮验证一下

企业微信应用消息

  • 登录 企业微信管理后台
  • 我的企业 复制「企业ID」
  • 应用管理创建应用
  • 进入自建应用,复制「AgentId」和「Secret」
  • 默认是 @all (应用的可见范围内所有人),如果只想通知一个人,在「指定成员」一栏填写员工账号
  • 点击【测试】按钮验证一下

Server酱·Turbo版

  • 微信扫码登录 Server酱·Turbo版
  • 消息通道 配置消息通道设置
  • SendKey 栏目复制SendKey,粘贴到设置「设置Server酱·Turbo版的SendKey」一栏
  • 点击【测试】按钮验证一下

Telegram机器人(需自备梯子)

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

其他手机短信【注意:非免费!非免费!非免费!】

  • 指定发送卡槽:1、原进原出——哪个卡槽收到的短信就用哪张卡转发短信出去;2、SIM1/SIM2——固定卡槽转发短信;
  • 设置接收手机,多个号码以半角分号分隔,例如:15888888888;19999999999
  • 仅当无网络时启用:建议开启,毕竟发短信1毛/条还挺贵的(套餐有送的/土豪可以忽视它)

飞书机器人

  • 在飞书PC端,创建一个群组
  • 在群设置->群机器人->添加机器人,添加一个新的「自定义机器人」,名称与描述随意
  • 复制自定义机器人的“webhook 地址”到「webhook 地址」一栏
  • 【可选】安全设置->签名校验,复制到「加签 Secret」一栏
  • 点击【测试】按钮验证一下

应用截图:

前台服务常驻状态栏 应用主界面
前台服务常驻状态栏 应用主界面
转发规则 转发详情
转发规则 转发详情
添加/编辑转发规则测试 多重匹配规则
添加/编辑转发规则 多重匹配规则
支持以下转发方式(发送方) 添加/编辑发送方钉钉
发送方 添加/编辑发送方钉钉
添加/编辑发送方邮箱 添加/编辑发送方Bark
添加/编辑发送方邮箱 添加/编辑发送方Bark
添加/编辑发送方网页通知 添加/编辑发送方企业微信群机器人
添加/编辑发送方网页通知 添加/编辑发送方企业微信群机器人
添加/编辑发送方Telegram机器人 添加/编辑发送方Server酱·Turbo版
添加/编辑发送方Telegram机器人 添加/编辑发送方Server酱·Turbo版
添加/编辑发送方企业微信应用 应用设置
添加/编辑发送方企业微信应用 应用设置
关于/在线升级 支持正则匹配规则 & 支持卡槽匹配规则
在线升级 支持正则匹配规则 & 支持卡槽匹配规则
转发短信模板增加卡槽标识 添加/编辑发送方其他手机短信
转发短信模板增加卡槽标识 添加/编辑发送方其他手机短信

更新记录:(PS.点击版本号下载对应的版本)

  • [v1.0.0] 优化后第一版
  • [v1.1.0] 新增在线升级、缓存清理、加入QQ群功能
    • [v1.1.1] 更新应用/通知栏图标
    • [v1.1.2] 获取系统(ROM)类别及版本号,MIUI通知栏显示标题
    • [v1.1.3] AlertDialog增加滚动条,避免参数过长时无法点击按钮
  • [v1.2.0] 重写SMTP邮件发送(推荐升级)
    • [v1.2.1] 修复bark-server升级到2.0后的兼容性问题
    • [v1.2.2] 【预发布】短信模板增加卡槽标识(SIM1_中国联通_Unknown 或 SIM2_中国移动_+8615866666666)
    • [v1.2.3] 【预发布】转发日志列表/详情增加卡槽标识(SIM1 或 SIM2)
  • [v1.3.0] 支持双卡手机,增加卡槽标识/运营商/手机号(如果能获取的话)
  • [v1.4.0] 支持多重匹配规则
    • [v1.4.1] 设置中允许关闭页面帮助/表单填写提示
  • [v1.5.0] 新增转发到企业微信应用消息
    • [v1.5.1] 解决Android 9.xx、10.xx收不到广播问题
    • [v1.5.2] 支持标注卡槽号码(优先使用)、设备信息;自定义转发信息模版
  • [v1.6.0] 优化获取SIM信息(兼容高版本Android) & 自动填写设备备注 & 自动填充卡槽信息到SIM1备注/SIM2备注 & 支持卡槽匹配规则 & 支持正则匹配规则
    • [v1.6.1] 新增转发到Server酱·Turbo版
    • [v1.6.2] 新增转发到Telegram机器人
    • [v1.6.3] 转发到webhook支持GET方式(节点改变,原配置要重新编辑);兼容Android5.0(待验证,仅minSdkVersion改为21);修复钉钉机器人没启用加签时url拼接错误问题
    • [v1.6.4] Android8.1以下手机重启后尝试启动主界面,以便动态获取权限(修复开机自启后无法转发短信,要打开软件后才会转发短信的问题)
  • [v1.7.0] 新增转发到其他手机短信 & 避免热插卡时FC & 规则展示优化 & 获取多卡信息&获取卡槽备注优化 & 新增恢复初始化配置
    • [v1.7.1] 新增转发记录的转发状态(成功/失败&应答信息)
    • [v1.7.2] 新增V1版证书签名,避免部分低版本系统(Android 6.x)无证书错误 & 发送方邮箱允许自定义发件人昵称
    • [v1.7.3] 修复“设置匹配模式”默认选择BUG & 转发到webhook时返回http状态200即为成功 & 转发到其他手机短信支持长短信合并
    • [v1.7.4] 修复转发企业微信群机器人碰到"被截断问题 & 转发到webhook时忽略ssl证书校验(提高自建服务端兼容性) & 转发telegram时将 # 替换为 井,避免被当作标签 & 隐私保护,发送方设置中敏感信息(密码/token/secret等)用星号显示 & 更新友盟基础组件库 & 解决“设置页面关闭卡槽信息,同时使用默认模板时,发送消息卡槽信息仍显示”
  • [v2.0.0] 来电提醒转发 & 接口请求失败后延时重试5次(可配置间隔时间)& 转发到飞书机器人 & 自定义 Scheme(forwarder://main)用于唤起App & 低电量预警 & 重新梳理代码(消灭waring)& Bark增加支持分组 & 引入Lombok & 升级gradle版本 & 增加电池优化白名单设置和权限 & 转发到webhook增加支持自定义post数据,并支持Json数据提交
    • [v2.0.1] 改进低电量预警方式,按需设置一下转发规则(不再遍历所有发送方)【号码:88888888、内容:当前剩余电量:xx%,已经到达低电量预警阈值,请及时充电!、卡槽:sim1】

反馈与建议:

  • 提交issues 或 pr
  • 加入交流群(群内都是机油互帮互助)
QQ机油互助交流1群:562854376(已满) QQ机油互助交流2群:31330492
QQ交流群:562854376 QQ交流群:31330492

感谢

本项目使用(或借鉴)了以下项目(或部分代码),在此表示衷心的感谢!

LICENSE

BSD

如果觉得本工具对您有所帮助,给个小星星鼓励一下!

starcharts stargazers over time

BSD 2-Clause License Copyright (c) 2021, pppscn All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

短信转发器——监控Android手机短信并根据指定规则转发到其他手机:钉钉机器人、企业微信群机器人、企业微信应用消息、邮箱、bark、webhook、Telegram机器人、Server酱等。PS.这个APK主要是学习与自用,如有BUG请提ISSUE,同时欢迎大家提PR指正 【注意】此仓库为GITHUB的镜像 展开 收起
Java
BSD-2-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/zj1d/SmsForwarder.git
git@gitee.com:zj1d/SmsForwarder.git
zj1d
SmsForwarder
SmsForwarder
main

搜索帮助