SmsForwarder v3.3.1
【强烈建议】v3.3.0用户升级
新增:{{IP_LIST}}
变量标签用于获取本机所有IP地址列表
(排除环回地址) #I9CVLZ:[Suggestion]: 希望能在自定义模板中加入 内网ip地址 字段
新增:通用设置
增加按钮直接跳转一键换新机
·离线模式
新增:Frp内网穿透·编辑配置时语法高亮
新增:发送通道电子邮箱
支持S/MIME
或OpenPGP
加密 #417
新增:监听Screen
事件延迟执行时再次校验
#399
新增:两个常用标签网络状态
({{NET_TYPE}}
)和简单电池信息
({{BATTERY_INFO_SIMPLE}}
) #439
新增:免打扰(禁用转发)时间段记录日志(配合自动任务
实现延时发送) #411
新增:是否加入SmsF预览体验计划(在线更新每周构建版) #416
新增:转发日志增加筛选器方便搜索/批量删除 #433
新增:自动任务·快捷指令 —— 触发条件:短信广播、通话广播、APP通知 #385 #389
新增:自动任务·快捷指令 —— 触发条件:蓝牙设备(状态变化、设备发现、连接断开) #388
新增:自动任务·快捷指令 —— 执行动作:播放警报 #385
新增:自动任务·快捷指令 —— 执行动作:启停任务 #389
新增:自动任务·快捷指令 —— 执行动作:重发消息
修复:定时任务
的Cron表达式
输入非法时导致FC #407
修复:Frpclib未下载时,自动任务添加启停frpc app自动重启 #402
修复:WiFi平板(没有GPS芯片)无法启用GPS定位服务
#391
修复:错误的 URL 有效性验证正则表达式(兼容IPv6) #286
修复:多个自启动的Frpc无法同时自动启动Bug
修复:疑似ResUtils.getString
导致FC #426
修复:在线更新失败时手动下载页面地址
修复:转发规则自定义发送通道顺序失效(将List<T>
按照instr
的顺序排序) #422
修复:自动任务触发条件在测试倒计时没结束前返回导致app自动重启 #394
修复:自动任务电池状态中充电器任意无法触发 #395
优化:{{BATTERY_PCT}}
保留2位小数
优化:Android 5.0
以下TLS协议
&明文传输
#427 #390 #274 #197
优化:build.gradle
脚本,编译前后自动清理
优化:Webhook
非 HTTP 200
应答时仍可以指定 成功应答关键字
#234
优化:发送通道
参数默认值(避免反序列化时空指针)
优化:一换新新机
·还原设置
时保留本机的设备名称
和SIM卡主键/备注
优化:自动任务
触发条件网络状态
:仅Android 10
(含) 以上显示数据卡槽
选项 #429
优化:自动任务
触发条件网络状态
:延迟5秒获取WiFi名称(给够搜索信号时间) #429
优化:自动任务·快捷指令
—— 执行动作:发送短信
支持插入变量标签
(标签适用场景参见 wiki附录3) #441
优化:Frpc默认配置采用toml格式
优化:部分手机通知栏异常显示两条常驻通知 #392
优化:多语言切换时枚举常量自动切换语言
优化:发送通道Webhook
支持http/socks5代理
优化:放宽Url
和UrlScheme
的正则校验限制 #431
优化:服务端应答Http 204 No Content
时特殊处理(更新日志状态为成功) #234
优化:服务端应答HTTP Status 201-299
时特殊处理(更新日志状态为成功) #234
优化:改进IPv6正则表达式(避免{{IPV6}}
替换为空)
优化:监听Screen
事件细分On/Off/Locked/Unlocked
#399
优化:进入通用设置
时再次检查
是否已授权已开启功能
的必需权限
优化:判断Frpclib是否已经初始化
优化:权限检查机制判断(适配 OPPO 应用权限受阻跳转优化方案)
优化:以Base64
形式保存证书(同时兼容文件路径
形式) #437
优化:自定义模板可用变量标签支持正则替换 #421 #423
优化:自定义模板可用变量统一成英文标签
优化:自定义模板增加{{IPV4}}``{{IPV6}}
标签 #398
优化:自定义模板增加{{定位信息_经度}}
/{{定位信息_纬度}}
/{{定位信息_地址}}
三个标签 #400
升级:AgentWeb依赖(解决存在的内存泄漏问题)
升级:frpclib 到 v0.57.0
升级:XAOP 依赖
升级:XUI 到 dev-1.2.2
升级:XUpdate 到 2.1.5
(兼容Android 12 & 完善日志)
升级:依赖版本
整理:code review & 精简无用资源
整理:README.md & README_en.md
整理:单元测试优化
回退:{{通知Scheme}}
(英文系统{{SCHEME}}
)标签以获取应用通知的Scheme
#272 #276(无解,去除多余代码)
SmsForwarder v3.3.0 免费开源3周年纪念版
新增:自动任务·快捷指令 —— 触发条件:定时任务
新增:自动任务·快捷指令 —— 触发条件:到达地点&离开地点
新增:自动任务·快捷指令 —— 触发条件:SIM卡槽状态改变(废弃:66666666
)
新增:自动任务·快捷指令 —— 触发条件:网络状态改变(废弃:77777777
)
新增:自动任务·快捷指令 —— 触发条件:电池电量&充电状态改变(废弃:88888888
)
新增:自动任务·快捷指令 —— 触发条件:锁屏解锁 #370
新增:自动任务·快捷指令 —— 执行动作:发送短信、推送通知、清理日志、通用设置、启停Frpc、启停HttpServer、启停规则、启停通道
新增:企微群机器人
发送文本消息
时支持at成员 #376
新增:通话转发规则的匹配字段
增加通话类型
& 自定义模板增加{{通话类型}}
标签 #305 #381
新增:重写Log
类,将Log.*
写入文件,以便排查问题 #269
新增:多语言切换设置适应国际化 #378
新增:繁体中文语言包(机器转换)
新增:App通知转发增加uid条件,区分双开应用(需Android Q+)
新增:自定义模板可用标签 {{定位信息}}
(英文系统:{{LOCATION}}
) #341 #343
新增:网络状态变化通知增加当前WiFi名称(SSID)/移动数据卡槽 #355
新增:SIM卡槽状态监控(包名:66666666
) #355
新增:短信指令增加短信发送功能 #338
新增:短信指令打开或关闭 WiFi #316 (试验性)
新增:短信指令smsf#system#reboot
和smsf#system#shutdown
(试验性,仅适用root过的机器)
新增:webParams 的 [receive_time]
标签支持自定义时间格式 #327
新增:网络状态监控通知增加IPv6获取 #321
新增:转发规则可以设置免打扰(禁用转发)时间段 #318
新增:发送通道
的测试内容携带通道名称
#317
新增:{{当前时间}}
{{CURRENT_TIME}}
标签(便于调试)
新增:钉钉群机器人支持markdown格式 #311
新增:钉钉群机器人支持at钉钉号/海外手机号 #312
新增:支持Bark推送加密 #273 (详见:https://bark.day.app/#/encryption)
优化:记录crash日志
优化:飞书群机器人
和飞书企业应用
支持自定义消息卡片
模板 #381
优化:飞书企业应用
支持指定消息接收者ID类型
优化:主动控制·服务端/客户端默认隐藏密钥
优化:在 Android 4.4 上使用矢量图
优化:请求重试机制(无网络时也执行重试机制 & 修正延迟时间单位错误)
优化:MainActivity 内容填充方式(避免一次性加载多个Fragment)&& 提升APP启动速度与稳定性
优化:左滑菜单 与 TabBar 美化
优化:仅当开启自动检查且有网络时,App启动时自动检查更新
优化:仅当开启启动时异步获取已安装App列表
总开关时获取
优化:采用 LiveEventBus 替换掉 Looper.loop() 后再 Toast 形式
优化:应用列表增加UID & APP通知自定义模板增加可用标签 {{UID}}
#366
优化:网络状态监控(包名:77777777
),multi SIM 切换问题 #355
优化:避免 Room 主线程查询缓存 #345
优化:自动删除N天前的转发记录时同时清理缓存 #354
优化:企业微信应用
发送通道允许自定义API地址【通过反向代理(proxy_pass https://qyapi.weixin.qq.com;)绕过IP白名单限制】 #352
优化:移除 kmnkt
依赖,重构 SocketUtils
#339 #349
优化:Webhook
通道新增成功应答关键字(置空则http状态200即为成功) #346
优化:增加企业专有钉钉的支持 #348 (填写Webhook
全地址)
优化:在选择Web客户端目录的时候弹出授权管理所有文件访问的权限 #332
优化:主动控制·远程WOL唤醒功能 #328
优化:企微群机器人
发送通道支持Markdown
格式消息 #292
优化:接口请求失败重试时间间隔输入方式 #285
优化:发送通道的Bark的消息链接取消限制 #290
优化:避免个别机型重启后自启动时startService
可能空指针导致crash
优化:一键换新机·导出/导入通用设置的机制
优化:APP通知转发的默认模板去除卡槽主键(SubId)字段
优化:客户端发送短信,取消对手机号长度检测限制 #264
修复: 部分 Android 4.4 系统(随身WiFi)不支持 instr()
函数的问题
修复:提示连不上smtp.gmail.com
的587
端口问题
修复:MQTT能连接成功但是不能正常工作的问题 #310
修复:没有跳转到具体的通知权限设置页的问题
修复:应用转发规则编辑界面的通知标题
按钮点击无效
修复:CactusSave中SharedPreference的键值对应错误 #294
修复:错误的 URL 有效性验证正则表达式 (#286)
修复:无法自动消除通知的bug
修复:通过转发日志中重试发送/重新匹配规则并发送消息时,{{接收时间}}错误(取当前时间) #275
升级:frpclib 到 v0.54.0
(支持最新的XTCP) #329
升级:XUI框架版本(优化XToastUtils等)
升级:XUpdate 依赖版本(优化默认版本解析器)
升级:CodeView & XXPermissions 依赖库版本(提升兼容性)
精简:界面微调 & 去除不常用设置
整理:code review & 精简无用资源
整理:Release Assets文件命名简化 #298
还有一些细微调整参见github
提交记录
66666666
)77777777
)88888888
)企微群机器人
发送文本消息
时支持at成员 #376匹配字段
增加通话类型
& 自定义模板增加{{通话类型}}
标签 #305 #381Log
类,将Log.*
写入文件,以便排查问题 #269{{定位信息}}
(英文系统:{{LOCATION}}
) #341 #34366666666
) #355smsf#system#reboot
和smsf#system#shutdown
(试验性,仅适用root过的机器)[receive_time]
标签支持自定义时间格式 #327发送通道
的测试内容携带通道名称
#317{{当前时间}}
{{CURRENT_TIME}}
标签(便于调试)飞书群机器人
和飞书企业应用
支持自定义消息卡片
模板 #381飞书企业应用
支持指定消息接收者ID类型
启动时异步获取已安装App列表
总开关时获取{{UID}}
#36677777777
),multi SIM 切换问题 #355企业微信应用
发送通道允许自定义API地址【通过反向代理(proxy_pass https://qyapi.weixin.qq.com;)绕过IP白名单限制】 #352kmnkt
依赖,重构 SocketUtils
#339 #349Webhook
通道新增成功应答关键字(置空则http状态200即为成功) #346Webhook
全地址)企微群机器人
发送通道支持Markdown
格式消息 #292startService
可能空指针导致crash
instr()
函数的问题smtp.gmail.com
的587
端口问题通知标题
按钮点击无效v3.2.0
新增:短信指令(根据短信指令开关对应功能) #I5YX3F:【咨询建议】某些功能,定时开启关闭,或短信指令开启
新增:监听网络状态变化提醒(APP通知转发,包名:77777777) #259
新增:远程改话簿(方便给老人家添加联系人) #256
新增:远程查询手机定位(方便找回手机/防止老少走丢) #256
新增:Socket发送通道(支持MQTT/TCP/UDP协议) #252
新增:发送通道 URL Scheme(支持跨应用数据传递)#250
新增:自动消除额外APP通知 #232 #248
优化:短信/通话转发获取卡槽信息机制(自行备注卡槽SubId对应)#228 #235
优化:来电转发逻辑 & 新增提醒类型(1.来电挂机 2.去电挂机 3.未接来电 4.来电提醒 5.来电接通 6.去电拨出)
优化:单个转发规则支持绑定多个发送通道,且支持执行逻辑(全部执行/失败即止/成功即止) #247
优化:转发日志列表以原始信息为主,聚合展示转发日志(一对多)
优化:已安装App信息列表异步加载机制
优化:电池状态监听/网络状态监控 在未开启去重时默认开启1秒去重
优化:利用BatteryReceiver守护自启动的Frpc (试验) #254
修复:Android 13 无法授予通知权限 #255
修复:重启手机自动启动APP时加载配置失败 #233 #245
修复:转发消息遍历发送通道时未跳过已禁用的通道
修复:降级Android Gradle插件版本以兼容4.4 (#249 by NyaMisty)
升级:andserver到2.1.12(加快web端上下行速度等)
升级:frpclib 到 v0.47.0
升级:androidx组件和kotlin版本
HttpServer
请求/应答报文进行国密SM4
对称加密传输 【配套SmsF
微信小程序】HttpServer
请求/应答报文进行RSA
非对称加密传输webhook
发送通道增加PUT
/PATCH
请求方式 #206v3.0.9
HttpServer
在低版本Android
下MIME
类型支持js、css、icon
frpc
客户端配置示例与wiki
示例保持一致手机短信
发送通道的 接收手机
允许插入 {{来源号码}}
标签来实现短信自动回复(短信/来电场景) #211Telegram
发送通道仅POST
请求时转义原始短信内容中的<``>``&``"
字符(正则替换不影响) #210飞书企业应用
发送通道v3.0.8
修复:短信内容包含“<"字符时,用tg转发失败 #205
优化:随身WiFi断电重启后frpc启动不成功 #199
新增:HttpServer允许自主指定Web客户端目录(/sdcard/Download/目录下) #191
优化:主动控制·客户端的历史列表增加设备名称、远程发短信增加卡槽备注 #201
新增:企微应用消息允许指定部门和指定标签
修复:钉钉企业内机器人发送通道不能转发bug(”转发中“)
升级:gradle依赖库版本
修复:Android 5.0 以下TLS 版本过低导致 Okhttp https 握手失败(最高支持TLSv1.2) #197
优化:倒计时Button在处理结束时提前结束
优化:英文系统的界面布局微调
优化:消灭任何可能导致内存泄露的代码(长期跟踪的改造点)
升级:XXPermissions 至 v15.0 (修复 Android 12 内存泄漏问题)
升级:XUI解决xtoast内存泄漏问题
升级:androidx.room 版本到 2.4.3
升级:解决XUpdate可能出现的空指针问题
优化:电子邮箱发送通道自动替换正文中的\n为
(邮件正文是html)
修复:gotify insert bug (#193)
修复:远程查通话和远程查短信关键字搜索时分页bug
新增:主动控制增加远程WOL功能(用于远程唤醒同一个局域网其他设备) #190
优化:发送通道企微应用消息增加限制:@all或指定成员(避免82001错误)
v3.0.7
优化:Android 4.4 兼容性(410棒子) #180
新增:/config/query接口返回version_code和version_name字段 #184
升级:frpclib 到 v0.44.0
新增:钉钉企业内机器人发送通道(支持私发)
修复:通道名称太长导致编辑转发规则报错(setSpan (N ... N) ends beyond length 20)
优化:bark/gotify通道忽略https证书(提高自建服务端兼容性)
v3.0.6
优化:发送通道企业微信应用支持http/socks5代理(应对IP白名单限制)
修复:v3.0.5在部分机型解析/config/query返回sim_info_list节点时报错
webhook
支持HTTP基本认证 【格式:http://username:password@domain.com/uri】 #175企业微信应用
获取access_token失败时记录错误日志短信
发送权限未授权/仅当无网络启用时记录错误日志Telegram
代理主机名支持域名解析 #172Telegram
启用Socks5支持用户密码鉴权 #172webhook
的webParams
非空时(wiki:2.1/2.2)不再限制必须包含[msg]
标签Bark
/Gotify
支持HTTP基本认证 【格式:http://username:password@domain.com/uri】 #170正则替换===右边
添加\n用于手动换行v3.0.4
优化:未开启异步获取已安装App信息开关时,规则编辑不显示已安装APP下拉框
优化:允许不填写服务端地址直接进入 主动控制·客户端 -> 一键换新机 -> 离线模式
修复:测试TG/Webhook发送通道时,子线程调用Toast引发FC
修复:发件人昵称插入 {{接收时间}} 时转码失败(Nested Group)
优化:邮件主题、发件人昵称替换冒号、换行为 -
整理:替换 在线升级 & FrpcLib下载 URL的域名
新增:主动控制·客户端增加服务地址历史记录(测试接口通过后自动加入)
优化:主动控制·客户端发送短信手机号长度限制放宽到20位(短信平台号)
优化:提高主动控制·客户端远程查通话、远程查话簿兼容性(兼容鸿蒙2.0)
新增:关于页面增加QQ频道入口
v3.0.3
优化:仅测试转发规则与发送通道时Toast提示
优化:主动控制·服务端定时更新UI机制
精简:ANR异常捕获依赖(ANR-WatchDog)【可能会增加耗电】
修复:转发规则编辑页面关闭自定义模板/正则替换时没有清空输入框
新增:启动时异步获取已安装App信息开关
新增:应用列表分类展示(用户应用/系统应用)/按应用名排序
新增:自定义模板支持{{APP名称}}标签(仅启用异步获取App列表时有值)
修复:v3.0.2来电转发卡槽信息获取失败
新增:按需启用Cactus增强保活措施的开关【开启后可能会增加耗电】
v3.0.2
优化:统一卡槽ID枚举值( 0=Sim1, 1=Sim2, -1=获取失败)【未做机型适配】
修复:卡槽匹配转发规则错误(卡槽id:-1=获取失败、0=卡槽1、1=卡槽2,但是 Rule 表里存的是 SIM1/SIM2)
修复:通用设置中无法关闭转发应用通知开关
修复:无网络时主动控制·服务端界面自动获取IP异常
整理:隐私权政策内容
优化:在线更新【主界面检测】
SmsForwarder v3.0.1
修复:短信广播中的权限判断导致OV系手机转发异常
修复:在子线程中调用Toast的异常情况处理
试验性优化:
常规更新: