mirror of
https://github.com/pppscn/SmsForwarder
synced 2024-11-02 03:40:26 +00:00
Merge pull request #93 from malsony/main
Update of English translation and others
This commit is contained in:
commit
31f9905c1e
155
README.md
155
README.md
@ -1,6 +1,7 @@
|
|||||||
![SmsForwarder](pic/SmsForwarder.png)
|
![SmsForwarder](pic/SmsForwarder.png)
|
||||||
|
|
||||||
# SmsForwarder (短信转发器)
|
# SmsForwarder-短信转发器
|
||||||
|
[English Version](#SmsForwarder)
|
||||||
|
|
||||||
[![GitHub release](https://img.shields.io/github/release/pppscn/SmsForwarder.svg)](https://github.com/pppscn/SmsForwarder/releases) [![GitHub stars](https://img.shields.io/github/stars/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/stargazers) [![GitHub forks](https://img.shields.io/github/forks/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/network/members) [![GitHub issues](https://img.shields.io/github/issues/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/issues) [![GitHub license](https://img.shields.io/github/license/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/blob/main/LICENSE)
|
[![GitHub release](https://img.shields.io/github/release/pppscn/SmsForwarder.svg)](https://github.com/pppscn/SmsForwarder/releases) [![GitHub stars](https://img.shields.io/github/stars/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/stargazers) [![GitHub forks](https://img.shields.io/github/forks/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/network/members) [![GitHub issues](https://img.shields.io/github/issues/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/issues) [![GitHub license](https://img.shields.io/github/license/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/blob/main/LICENSE)
|
||||||
|
|
||||||
@ -28,7 +29,7 @@
|
|||||||
|
|
||||||
* 本仓库发布的`SmsForwarder`项目中涉及的任何代码/APK,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
|
* 本仓库发布的`SmsForwarder`项目中涉及的任何代码/APK,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
|
||||||
|
|
||||||
* 间接使用代码/APK的任何用户,包括但不限于在某些行为违反国家/地区法律或相关法规的情况下进行传播, `pppscn` 对于由此引起的任何隐私泄漏或其他后果概不负责。
|
* 任何用户直接或间接使用或传播`SmsForwarder`的任何代码或APK,无论该等使用是否符合其所在国家或地区,或该等使用或传播发生的国家或地区的法律,`pppscn`和/或代码仓库的任何其他贡献者均不对该等行为产生的任何后果(包括但不限于隐私泄露)负责。
|
||||||
|
|
||||||
* 如果任何单位或个人认为该项目的代码/APK可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关代码/APK。
|
* 如果任何单位或个人认为该项目的代码/APK可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关代码/APK。
|
||||||
|
|
||||||
@ -38,11 +39,11 @@
|
|||||||
|
|
||||||
## 特点和准则:
|
## 特点和准则:
|
||||||
|
|
||||||
* **简单** 只做两件事:监听手机短信/来电/APP通知 --> 根据指定规则转发
|
**简单** 只做两件事:监听手机短信/来电/APP通知 --> 根据指定规则转发
|
||||||
|
|
||||||
由此带来的好处:
|
由此带来的好处:
|
||||||
|
|
||||||
* 简洁:(当时用Pad的时候,看手机验证码各种不方便,网上搜了好久也有解决方案)
|
* 简洁:(当时用Pad的时候,看手机验证码各种不方便,网上搜了好久也没有理想的解决方案)
|
||||||
> + AirDroid:手机管理工具功能太多,看着都耗电,权限太多,数据经过三方,账号分级
|
> + AirDroid:手机管理工具功能太多,看着都耗电,权限太多,数据经过三方,账号分级
|
||||||
> + IFTTT:功能太多,看着耗电,权限太多,数据经过三方,收费
|
> + IFTTT:功能太多,看着耗电,权限太多,数据经过三方,收费
|
||||||
> + 还有一些其他的APP(例如:Tasker)也是这些毛病
|
> + 还有一些其他的APP(例如:Tasker)也是这些毛病
|
||||||
@ -135,4 +136,148 @@
|
|||||||
|
|
||||||
## LICENSE
|
## LICENSE
|
||||||
|
|
||||||
BSD
|
BSD
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
![SmsForwarder](pic/SmsForwarder.png)
|
||||||
|
|
||||||
|
# SmsForwarder
|
||||||
|
[中文版](#SmsForwarder-短信转发器)
|
||||||
|
|
||||||
|
[![GitHub release](https://img.shields.io/github/release/pppscn/SmsForwarder.svg)](https://github.com/pppscn/SmsForwarder/releases) [![GitHub stars](https://img.shields.io/github/stars/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/stargazers) [![GitHub forks](https://img.shields.io/github/forks/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/network/members) [![GitHub issues](https://img.shields.io/github/issues/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/issues) [![GitHub license](https://img.shields.io/github/license/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/blob/main/LICENSE)
|
||||||
|
|
||||||
|
SmsForwarder - listens to SMS, incoming calls, and App notifications on Android mobile devices, and forward according to user defined rules to another App/device, including DingTalk, WeCom and WeCom Group Bot, Feishi Bot, E-mail, Bark, Webhook, Telegram Bot, ServerChan, PushPlus, SMS, etc.
|
||||||
|
|
||||||
|
### Download
|
||||||
|
|
||||||
|
> ⚠ Repo address: https://github.com/pppscn/SmsForwarder/releases
|
||||||
|
|
||||||
|
> ⚠ Repo mirror in China: https://gitee.com/pp/SmsForwarder/releases
|
||||||
|
|
||||||
|
> ⚠ Internet storage: https://wws.lanzoui.com/b025yl86h, access password: `pppscn`
|
||||||
|
|
||||||
|
> ⚠ CoolAPK.com: https://www.coolapk.com/apk/com.idormy.sms.forwarder
|
||||||
|
|
||||||
|
### Manual
|
||||||
|
|
||||||
|
> ⚠ GitHub: https://github.com/pppscn/SmsForwarder/wiki
|
||||||
|
|
||||||
|
> ⚠ Gitee: https://gitee.com/pp/SmsForwarder/wikis/pages
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## NOTE
|
||||||
|
|
||||||
|
* Any code/APK of `SmsForwarder` related to the this repository is for test, study, and research only, commercial use is **prohibited**. Legality, accuracy, completeness and validity of any code/APK of this repo is guaranteed by **NOBODY**, and shall only be determined by User.
|
||||||
|
|
||||||
|
* `pppscn` and/or any other Contributor to this repo is **NOT** responsible for any consequences (including but not limited to privacy leakage) arising from any user's direct or indirect use or dissemination of any code or APK of `SmsForwarder`, regardless of whether such use is in accordance with the laws of the country or territory where such user locates or such use or dissemination occurs.
|
||||||
|
|
||||||
|
* Should any entity finds the code/APK of this repo infringing their rights, please provide notice and identity and proprietorship document, and we will delete relating code/APK after examining such document.
|
||||||
|
|
||||||
|
* Privacy: `SmsForwarder` collects absolutely **NO** any of your personal data!! Except 1) version information to umeng.com for stats as the App starts, and 2) version number when manually check for update, `SmsForwarder` is **NOT** sending any data without users' knowledge.
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## Features and standards
|
||||||
|
|
||||||
|
**Simplicity** - `SmsForwarder` does two things only: Listen to "SMS service/Incoming calls/App notifications", and forward according to rules specified by user.
|
||||||
|
|
||||||
|
Benefit by simplicity:
|
||||||
|
|
||||||
|
* **E**fficient: (It's inconvenient to read the security codes such as OTP on a mobile phone, when you are using another device; and no solution satisfices our needs)
|
||||||
|
|
||||||
|
> + AirDroid: Too many functionalities, power consuming, requiring to many permissions, data relayed by a 3rd party, paid premium service...
|
||||||
|
> + IFTTT: Too many functionalities, power consuming, requiring to many permissions, data relayed by a 3rd party, paid premium service...
|
||||||
|
> + And other Apps (e.g. Tasker) with similar features.
|
||||||
|
|
||||||
|
* **E**nergy friendly: listens to broadcast only when running, and forwards message only when texts are received and logs recent forwarding contents and status.
|
||||||
|
* **E**ndurance: "Simplicity is the Ultimate Sophistication." The simpler the code is, the less it errs or crashes; that is what make the app runs longer.
|
||||||
|
|
||||||
|
### Workflow:
|
||||||
|
|
||||||
|
![工作流程](pic/working_principle.png "工作流程")
|
||||||
|
|
||||||
|
### Features:
|
||||||
|
|
||||||
|
- [x] Listen to SMS service, and forward according to user-defined rules (SMS contents to destination);
|
||||||
|
- [x] Forward to DingTalk Bot (to a group chat and @SOMBODY);
|
||||||
|
- [x] Forward to E-mail (SMTP with SSL encryption);
|
||||||
|
- [x] Forward to Bark;
|
||||||
|
- [x] Forward to webhook (a single web page [sending POST/GET requests to a designated URL](doc/POST_WEB.md));
|
||||||
|
- [x] Forward to WeCom Bots;
|
||||||
|
- [x] Forward to WeCom enterprise channels;
|
||||||
|
- [x] Forward to ServerChan·Turbo;
|
||||||
|
- [x] Forward to Telegram Bots (Proxy support ready);
|
||||||
|
- [x] Forward to another mobile phone via SMS [Note: Paid service, carriers may charge for SMS forwarding. SMS forwarding should apply with filtered rules when device has no Internet access.]
|
||||||
|
- [x] Check for new version and upgrade;
|
||||||
|
- [x] Cache purge;
|
||||||
|
- [x] Compatible with Android 5.xx, 6.xx, 7.xx, 8.xx, 9.xx, and 10.xx;
|
||||||
|
- [x] Support for dual SIM slots smartphones and label different slots/carrier/phone number (if available);
|
||||||
|
- [x] Support for multi-level rules;
|
||||||
|
- [x] Support for customized labeling of SIM slots and device, and customized forwarding templates;
|
||||||
|
- [x] Support for rules with regular expression
|
||||||
|
- [x] Support for rules for different SIM slots;
|
||||||
|
- [x] Forward missed call information (forwarded by SIM1 slot by default);
|
||||||
|
- [x] Retry 5 times after a failed request (customized interval time, stop retrying once successfully request);
|
||||||
|
- [x] Forward to FeiShu Bot;
|
||||||
|
- [x] Customized scheme (forwarder://main) wake up other Apps;
|
||||||
|
- [x] Monitor of battery status changes;
|
||||||
|
- [x] I18n support (Chinese and English currently);
|
||||||
|
- [x] Support for setting import and export functions (One-key cloning);
|
||||||
|
- [x] Listen to notifications of other Apps and forward;
|
||||||
|
- [x] Forward to PushPlus;
|
||||||
|
- [x] Support for customized template of forwarding rules (default template overrides if left blank);
|
||||||
|
- [x] Support for variables in regular expression of forwarding rules;
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
### Screenshot:
|
||||||
|
|
||||||
|
| Docking in Ntf. screen | Main screen | Forward rules | Forward detail |
|
||||||
|
| ---- | ---- | ---- | ---- |
|
||||||
|
| ![前台服务常驻状态栏](pic/taskbar.jpg "前台服务常驻状态栏") | ![应用主界面](pic/main.png "应用主界面") | ![转发规则](pic/rule.jpg "转发规则") | ![转发详情](pic/maindetail.jpg "转发详情") |
|
||||||
|
| Test of Fw. rule(s) | Multiple rules | Supported senders | Add/Edit DingTalk sender |
|
||||||
|
| ![添加/编辑转发规则](pic/ruleset.png "添加/编辑转发规则") | ![多重匹配规则](pic/multimatch.png "多重匹配规则") | ![发送通道](pic/sender.jpg "发送通道") | ![添加/编辑发送通道钉钉](pic/sendersetdingding.jpg "添加/编辑发送通道钉钉") |
|
||||||
|
| Add/Edit E-mail sender | Add/Edit Bark sender | Add/Edit Webhook | Add/Edit WeCom Bot sender |
|
||||||
|
| ![添加/编辑发送通道邮箱](pic/sendersetemail.jpg "添加/编辑发送通道邮箱") | ![添加/编辑发送通道Bark](pic/sendersetbark.png "添加/编辑发送通道Bark") | ![添加/编辑发送通道网页通知](pic/sendersetwebnotify.jpg "添加/编辑发送通道网页通知") | ![添加/编辑发送通道企业微信群机器人](pic/sendersetqywechat.jpg "添加/编辑发送通道企业微信群机器人") |
|
||||||
|
| Add/Edit Telegram Bot sender | Add/Edit ServerChan Turbo sender | Add/Edit WeCom Group sender | Settings |
|
||||||
|
| ![添加/编辑发送通道Telegram机器人](pic/sendertelegram.jpg "添加/编辑发送通道Telegram机器人") | ![添加/编辑发送通道Server酱·Turbo版](pic/senderserverchan.jpg "添加/编辑发送通道Server酱·Turbo版") | ![添加/编辑发送通道企业微信应用](pic/sendersetqywxapp.jpg "添加/编辑发送通道企业微信应用") | ![应用设置](pic/setting.jpg "应用设置") |
|
||||||
|
| About/Update | RegEx & specific SIM slot | SMS Fw. template w/ SIM slot info. | Add/Edit an SMS forwarding rule |
|
||||||
|
| ![在线升级](pic/update.jpg "在线升级") | ![支持正则匹配规则 & 支持卡槽匹配规则](pic/regex.jpg "支持正则匹配规则 & 支持卡槽匹配规则") | ![转发短信模板增加卡槽标识](pic/siminfo.jpg "转发短信模板增加卡槽标识") | ![添加/编辑发送通道其他手机短信](pic/sendersetsms.jpg "添加/编辑发送通道其他手机短信") |
|
||||||
|
| Add/Edit FeiShu Bot sender | Import and export (one-key cloning) | Listen to ntf. of other Apps and fw. | Get App pkg name(s) |
|
||||||
|
| ![添加/编辑发送通道飞书](pic/senderfeishu.png "添加/编辑发送通道飞书") | ![增加配置导出导入功能(一键克隆)](pic/clone.png "增加配置导出导入功能(一键克隆)") | ![监听其他APP通知信息并转发](pic/app_notify.png "监听其他APP通知信息并转发") | ![获取所有应用列表(方便复制APP包名)](pic/app_list.png "获取所有应用列表(方便复制APP包名)") |
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## Feedback and suggestions:
|
||||||
|
|
||||||
|
+ Submit an issue or Pull Request.
|
||||||
|
+ Join group chat (only Chinese groups/channels available currently)
|
||||||
|
|
||||||
|
| DingTalk | QQ user group #1: 562854376 | QQ user group #2: 31330492 | WeCom |
|
||||||
|
| ---- | ---- | ---- | ---- |
|
||||||
|
| ![钉钉客户群](pic/dingtalk.png "钉钉客户群") | ![QQ交流群:562854376](pic/qqgroup_1.jpg "QQ交流群:562854376") | ![QQ交流群:31330492](pic/qqgroup_2.jpg "QQ交流群:31330492") | ![企业微信群](pic/qywechat.png "企业微信群") |
|
||||||
|
|
||||||
|
## Acknowledgements
|
||||||
|
|
||||||
|
> Thanks to the projects below, `SmsForwarder` won't exists without them!
|
||||||
|
|
||||||
|
+ https://github.com/xiaoyuanhost/TranspondSms (Foundation of `SmsForwarder`)
|
||||||
|
+ https://github.com/square/okhttp (http communications)
|
||||||
|
+ https://github.com/xuexiangjys/XUpdateAPI (online update)
|
||||||
|
+ https://github.com/mailhu/emailkit (email sending)
|
||||||
|
+ https://github.com/alibaba/fastjson (json parsing)
|
||||||
|
+ [![GitHub license](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg?_ga=2.126618957.1361252949.1638261367-1417196221.1635638144&_gl=1*1pfl3dq*_ga*MTQxNzE5NjIyMS4xNjM1NjM4MTQ0*_ga_V0XZL7QHEB*MTYzODMzMjA4OC43LjAuMTYzODMzMjA5Ny4w)](https://jb.gg/OpenSourceSupport) (License Certificate for JetBrains All Products Pack)
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## Star this repo if you find this application useful!
|
||||||
|
|
||||||
|
[![starcharts stargazers over time](https://starchart.cc/pppscn/SmsForwarder.svg)](https://github.com/pppscn/SmsForwarder)
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## LICENSE
|
||||||
|
|
||||||
|
BSD
|
||||||
|
140
README_en.md
Normal file
140
README_en.md
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
![SmsForwarder](pic/SmsForwarder.png)
|
||||||
|
|
||||||
|
# SmsForwarder
|
||||||
|
|
||||||
|
[![GitHub release](https://img.shields.io/github/release/pppscn/SmsForwarder.svg)](https://github.com/pppscn/SmsForwarder/releases) [![GitHub stars](https://img.shields.io/github/stars/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/stargazers) [![GitHub forks](https://img.shields.io/github/forks/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/network/members) [![GitHub issues](https://img.shields.io/github/issues/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/issues) [![GitHub license](https://img.shields.io/github/license/pppscn/SmsForwarder)](https://github.com/pppscn/SmsForwarder/blob/main/LICENSE)
|
||||||
|
|
||||||
|
SmsForwarder - listens to SMS, incoming calls, and App notifications on Android mobile devices, and forward according to user defined rules to another App/device, including DingTalk, WeCom and WeCom Group Bot, Feishi Bot, E-mail, Bark, Webhook, Telegram Bot, ServerChan, PushPlus, SMS, etc.
|
||||||
|
|
||||||
|
### Download
|
||||||
|
|
||||||
|
> ⚠ Repo address: https://github.com/pppscn/SmsForwarder/releases
|
||||||
|
|
||||||
|
> ⚠ Repo mirror in China: https://gitee.com/pp/SmsForwarder/releases
|
||||||
|
|
||||||
|
> ⚠ Internet storage: https://wws.lanzoui.com/b025yl86h, access password: `pppscn`
|
||||||
|
|
||||||
|
> ⚠ CoolAPK.com: https://www.coolapk.com/apk/com.idormy.sms.forwarder
|
||||||
|
|
||||||
|
### Manual
|
||||||
|
|
||||||
|
> ⚠ GitHub: https://github.com/pppscn/SmsForwarder/wiki
|
||||||
|
|
||||||
|
> ⚠ Gitee: https://gitee.com/pp/SmsForwarder/wikis/pages
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## NOTE
|
||||||
|
|
||||||
|
* Any code/APK of `SmsForwarder` related to the this repository is for test, study, and research only, commercial use is **prohibited**. Legality, accuracy, completeness and validity of any code/APK of this repo is guaranteed by **NOBODY**, and shall only be determined by User.
|
||||||
|
|
||||||
|
* `pppscn` and/or any other Contributor to this repo is **NOT** responsible for any consequences (including but not limited to privacy leakage) arising from any user's direct or indirect use or dissemination of any code or APK of `SmsForwarder`, regardless of whether such use is in accordance with the laws of the country or territory where such user locates or such use or dissemination occurs.
|
||||||
|
|
||||||
|
* Should any entity finds the code/APK of this repo infringing their rights, please provide notice and identity and proprietorship document, and we will delete relating code/APK after examining such document.
|
||||||
|
|
||||||
|
* Privacy: `SmsForwarder` collects absolutely **NO** any of your personal data!! Except 1) version information to umeng.com for stats as the App starts, and 2) version number when manually check for update, `SmsForwarder` is **NOT** sending any data without users' knowledge.
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## Features and standards
|
||||||
|
|
||||||
|
**Simplicity** - `SmsForwarder` does two things only: Listen to "SMS service/Incoming calls/App notifications", and forward according to rules specified by user.
|
||||||
|
|
||||||
|
Benefit by simplicity:
|
||||||
|
|
||||||
|
* **E**fficient: (It's inconvenient to read the security codes such as OTP on a mobile phone, when you are using another device; and no solution satisfices our needs)
|
||||||
|
|
||||||
|
> + AirDroid: Too many functionalities, power consuming, requiring to many permissions, data relayed by a 3rd party, paid premium service...
|
||||||
|
> + IFTTT: Too many functionalities, power consuming, requiring to many permissions, data relayed by a 3rd party, paid premium service...
|
||||||
|
> + And other Apps (e.g. Tasker) with similar features.
|
||||||
|
|
||||||
|
* **E**nergy friendly: listens to broadcast only when running, and forwards message only when texts are received and logs recent forwarding contents and status.
|
||||||
|
* **E**ndurance: "Simplicity is the Ultimate Sophistication." The simpler the code is, the less it errs or crashes; that is what make the app runs longer.
|
||||||
|
|
||||||
|
### Workflow:
|
||||||
|
|
||||||
|
![工作流程](pic/working_principle.png "工作流程")
|
||||||
|
|
||||||
|
### Features:
|
||||||
|
|
||||||
|
- [x] Listen to SMS service, and forward according to user-defined rules (SMS contents to destination);
|
||||||
|
- [x] Forward to DingTalk Bot (to a group chat and @SOMBODY);
|
||||||
|
- [x] Forward to E-mail (SMTP with SSL encryption);
|
||||||
|
- [x] Forward to Bark;
|
||||||
|
- [x] Forward to webhook (a single web page [sending POST/GET requests to a designated URL](doc/POST_WEB.md));
|
||||||
|
- [x] Forward to WeCom Bots;
|
||||||
|
- [x] Forward to WeCom enterprise channels;
|
||||||
|
- [x] 转发到ServerChan(Server酱·Turbo版)
|
||||||
|
- [x] Forward to Telegram Bots (Proxy support ready);
|
||||||
|
- [x] Forward to another mobile phone via SMS [Note: Paid service, carriers may charge for SMS forwarding. SMS forwarding should apply with filtered rules when device has no Internet access.]
|
||||||
|
- [x] Check for new version and upgrade;
|
||||||
|
- [x] Cache purge;
|
||||||
|
- [x] Compatible with Android 5.xx, 6.xx, 7.xx, 8.xx, 9.xx, and 10.xx;
|
||||||
|
- [x] Support for dual SIM slots smartphones and label different slots/carrier/phone number (if available);
|
||||||
|
- [x] Support for multi-level rules;
|
||||||
|
- [x] Support for customized labeling of SIM slots and device, and customized forwarding templates;
|
||||||
|
- [x] Support for rules with regular expression
|
||||||
|
- [x] Support for rules for different SIM slots;
|
||||||
|
- [x] Forward missed call information (forwarded by SIM1 slot by default);
|
||||||
|
- [x] Retry 5 times after a failed request (customized interval time, stop retrying once successfully request);
|
||||||
|
- [x] Forward to FeiShu Bot;
|
||||||
|
- [x] Customized scheme (forwarder://main) wake up other Apps;
|
||||||
|
- [x] Monitor of battery status changes;
|
||||||
|
- [x] I18n support (Chinese and English currently);
|
||||||
|
- [x] Support for setting import and export functions (One-key cloning);
|
||||||
|
- [x] Listen to notifications of other Apps and forward;
|
||||||
|
- [x] Forward to PushPlus;
|
||||||
|
- [x] Support for customized template of forwarding rules (default template overrides if left blank);
|
||||||
|
- [x] Support for variables in regular expression of forwarding rules;
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
### Screenshot:
|
||||||
|
|
||||||
|
| Docking in Ntf. screen | Main screen | Forward rules | Forward detail |
|
||||||
|
| ---- | ---- | ---- | ---- |
|
||||||
|
| ![前台服务常驻状态栏](pic/taskbar.jpg "前台服务常驻状态栏") | ![应用主界面](pic/main.png "应用主界面") | ![转发规则](pic/rule.jpg "转发规则") | ![转发详情](pic/maindetail.jpg "转发详情") |
|
||||||
|
| Test of Fw. rule(s) | Multiple rules | Supported senders | Add/Edit DingTalk sender |
|
||||||
|
| ![添加/编辑转发规则](pic/ruleset.png "添加/编辑转发规则") | ![多重匹配规则](pic/multimatch.png "多重匹配规则") | ![发送通道](pic/sender.jpg "发送通道") | ![添加/编辑发送通道钉钉](pic/sendersetdingding.jpg "添加/编辑发送通道钉钉") |
|
||||||
|
| Add/Edit E-mail sender | Add/Edit Bark sender | Add/Edit Webhook | Add/Edit WeCom Bot sender |
|
||||||
|
| ![添加/编辑发送通道邮箱](pic/sendersetemail.jpg "添加/编辑发送通道邮箱") | ![添加/编辑发送通道Bark](pic/sendersetbark.png "添加/编辑发送通道Bark") | ![添加/编辑发送通道网页通知](pic/sendersetwebnotify.jpg "添加/编辑发送通道网页通知") | ![添加/编辑发送通道企业微信群机器人](pic/sendersetqywechat.jpg "添加/编辑发送通道企业微信群机器人") |
|
||||||
|
| Add/Edit Telegram Bot sender | Add/Edit ServerChan Turbo sender | Add/Edit WeCom Group sender | Settings |
|
||||||
|
| ![添加/编辑发送通道Telegram机器人](pic/sendertelegram.jpg "添加/编辑发送通道Telegram机器人") | ![添加/编辑发送通道Server酱·Turbo版](pic/senderserverchan.jpg "添加/编辑发送通道Server酱·Turbo版") | ![添加/编辑发送通道企业微信应用](pic/sendersetqywxapp.jpg "添加/编辑发送通道企业微信应用") | ![应用设置](pic/setting.jpg "应用设置") |
|
||||||
|
| About/Update | RegEx & specific SIM slot | SMS Fw. template w/ SIM slot info. | Add/Edit an SMS forwarding rule |
|
||||||
|
| ![在线升级](pic/update.jpg "在线升级") | ![支持正则匹配规则 & 支持卡槽匹配规则](pic/regex.jpg "支持正则匹配规则 & 支持卡槽匹配规则") | ![转发短信模板增加卡槽标识](pic/siminfo.jpg "转发短信模板增加卡槽标识") | ![添加/编辑发送通道其他手机短信](pic/sendersetsms.jpg "添加/编辑发送通道其他手机短信") |
|
||||||
|
| Add/Edit FeiShu Bot sender | Import and export (one-key cloning) | Listen to ntf. of other Apps and fw. | Get App pkg name(s) |
|
||||||
|
| ![添加/编辑发送通道飞书](pic/senderfeishu.png "添加/编辑发送通道飞书") | ![增加配置导出导入功能(一键克隆)](pic/clone.png "增加配置导出导入功能(一键克隆)") | ![监听其他APP通知信息并转发](pic/app_notify.png "监听其他APP通知信息并转发") | ![获取所有应用列表(方便复制APP包名)](pic/app_list.png "获取所有应用列表(方便复制APP包名)") |
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## Feedback and suggestions:
|
||||||
|
|
||||||
|
+ Submit an issue or Pull Request.
|
||||||
|
+ Join group chat (only Chinese groups/channels available currently)
|
||||||
|
|
||||||
|
| DingTalk | QQ user group #1: 562854376 | QQ user group #2: 31330492 | WeCom |
|
||||||
|
| ---- | ---- | ---- | ---- |
|
||||||
|
| ![钉钉客户群](pic/dingtalk.png "钉钉客户群") | ![QQ交流群:562854376](pic/qqgroup_1.jpg "QQ交流群:562854376") | ![QQ交流群:31330492](pic/qqgroup_2.jpg "QQ交流群:31330492") | ![企业微信群](pic/qywechat.png "企业微信群") |
|
||||||
|
|
||||||
|
## Acknowledgements
|
||||||
|
|
||||||
|
> Thanks to the projects below, `SmsForwarder` won't exists without them!
|
||||||
|
|
||||||
|
+ https://github.com/xiaoyuanhost/TranspondSms (Foundation of `SmsForwarder`)
|
||||||
|
+ https://github.com/square/okhttp (http communications)
|
||||||
|
+ https://github.com/xuexiangjys/XUpdateAPI (online update)
|
||||||
|
+ https://github.com/mailhu/emailkit (email sending)
|
||||||
|
+ https://github.com/alibaba/fastjson (json parsing)
|
||||||
|
+ [![GitHub license](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg?_ga=2.126618957.1361252949.1638261367-1417196221.1635638144&_gl=1*1pfl3dq*_ga*MTQxNzE5NjIyMS4xNjM1NjM4MTQ0*_ga_V0XZL7QHEB*MTYzODMzMjA4OC43LjAuMTYzODMzMjA5Ny4w)](https://jb.gg/OpenSourceSupport) (License Certificate for JetBrains All Products Pack)
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## Star this repo if you find this application useful!
|
||||||
|
|
||||||
|
[![starcharts stargazers over time](https://starchart.cc/pppscn/SmsForwarder.svg)](https://github.com/pppscn/SmsForwarder)
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
## LICENSE
|
||||||
|
|
||||||
|
BSD
|
@ -1,6 +1,6 @@
|
|||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<string name="app_name">SmsForwarder</string>
|
<string name="app_name">SmsForwarder</string>
|
||||||
<string name="notification_content">Forward SMS (and others!) to another app/device, a must-have for anyone\'s secondary smartphone. Free and open source, do NOT buy or sell this App.</string>
|
<string name="notification_content">Forward SMS (and others!) to another app/device, a must-have for anyones\' secondary smartphone. Free and open source, do NOT buy or sell this App.</string>
|
||||||
<!--Common-->
|
<!--Common-->
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="cancel">Cancel</string>
|
<string name="cancel">Cancel</string>
|
||||||
@ -17,8 +17,8 @@
|
|||||||
<string name="sender_setting">Sender Setting</string>
|
<string name="sender_setting">Sender Setting</string>
|
||||||
<string name="app_list">App List</string>
|
<string name="app_list">App List</string>
|
||||||
<string name="log_tips">Tips: Pull to refresh; Long press to delete one log entry.</string>
|
<string name="log_tips">Tips: Pull to refresh; Long press to delete one log entry.</string>
|
||||||
<string name="rule_tips">Tips: Tap "NEW FORWARDING RULE" to add a new rule; Long press a rule to delete or clone; Tap an existing rule to edit.</string>
|
<string name="rule_tips">Tips: Tap "NEW FORWARDING RULE" to add a new rule; Long press a rule to delete; Tap an existing rule to edit.</string>
|
||||||
<string name="sender_tips">Tips: Tap "NEW SENDER" to add a new sender; Long press a sender to delete or clone; Tap an existing sender to edit.</string>
|
<string name="sender_tips">Tips: Tap "NEW SENDER" to add a new sender; Long press a sender to delete; Tap an existing sender to edit.</string>
|
||||||
<string name="app_tips">Tips: Tap to copy the package name of an App; Long press an App to start and jump to it.</string>
|
<string name="app_tips">Tips: Tap to copy the package name of an App; Long press an App to start and jump to it.</string>
|
||||||
<!--AboutActivity-->
|
<!--AboutActivity-->
|
||||||
<string name="version">Version</string>
|
<string name="version">Version</string>
|
||||||
@ -49,30 +49,30 @@
|
|||||||
<string name="release_tips">Release to refresh.</string>
|
<string name="release_tips">Release to refresh.</string>
|
||||||
<string name="reflashing_tips">Refreshing…</string>
|
<string name="reflashing_tips">Refreshing…</string>
|
||||||
<!--RuleActivity-->
|
<!--RuleActivity-->
|
||||||
<string name="setrule">Fwd Rule Settings</string>
|
<string name="setrule">SMS Fw. Rule Settings</string>
|
||||||
<string name="setrule_call">Fwd Rule Settings of call</string>
|
<string name="setrule_call">Call Fw. Rule Settings</string>
|
||||||
<string name="setrule_app">Fwd Rule Settings of app</string>
|
<string name="setrule_app">App Ntf. Fw. Rule Settings</string>
|
||||||
<string name="delete_rule_title">Confirmation</string>
|
<string name="delete_rule_title">Delete confirmation</string>
|
||||||
<string name="delete_rule_tips">Are you sure to delete this rule entry?</string>
|
<string name="delete_rule_tips">Are you sure to delete this rule?</string>
|
||||||
<string name="delete_rule_toast">The rule entry has deleted.</string>
|
<string name="delete_rule_toast">The rule has deleted.</string>
|
||||||
<string name="new_sender_first">Please add a new sender and then choose it.</string>
|
<string name="new_sender_first">Please add a new sender and then choose it.</string>
|
||||||
<string name="add_sender_first">Please add a sender first.</string>
|
<string name="add_sender_first">Please add a sender first.</string>
|
||||||
<string name="select_sender">Select Sender</string>
|
<string name="select_sender">Select Sender</string>
|
||||||
<string name="rule_tester">Rule tester:</string>
|
<string name="rule_tester">Rule tester:</string>
|
||||||
<string name="new_sms_rule">New sms forwarding rule</string>
|
<string name="new_sms_rule">New SMS Fw. rule</string>
|
||||||
<string name="new_call_rule">New call forwarding rule</string>
|
<string name="new_call_rule">New Call Fw. rule</string>
|
||||||
<string name="new_app_rule">New app forwarding rule</string>
|
<string name="new_app_rule">New App Fw. rule</string>
|
||||||
<string name="test_sim_slot">Test Sim Slot</string>
|
<string name="test_sim_slot">Test Sim Slot</string>
|
||||||
<string name="test_phone_number">Test Phone Number</string>
|
<string name="test_phone_number">Test Phone Number</string>
|
||||||
<string name="test_msg_content">Test Msg Content</string>
|
<string name="test_msg_content">Test Msg Content</string>
|
||||||
<string name="test_package_name">Test PackageName</string>
|
<string name="test_package_name">Test PackageName</string>
|
||||||
<string name="test_inform_content">Test Inform content</string>
|
<string name="test_inform_content">Test Ntf. content</string>
|
||||||
<string name="match_sim_slot">Sim Slot</string>
|
<string name="match_sim_slot">SIM Slot</string>
|
||||||
<string name="match_field">Field</string>
|
<string name="match_field">Field</string>
|
||||||
<string name="phone_number">Phone No.</string>
|
<string name="phone_number">Phone No.</string>
|
||||||
<string name="package_name">PackageName</string>
|
<string name="package_name">PackageName</string>
|
||||||
<string name="sms_content">SMS</string>
|
<string name="sms_content">SMS</string>
|
||||||
<string name="inform_content">Inform content</string>
|
<string name="inform_content">Ntf. content</string>
|
||||||
<string name="multiple_matches">Multiple</string>
|
<string name="multiple_matches">Multiple</string>
|
||||||
<string name="match_type">Type</string>
|
<string name="match_type">Type</string>
|
||||||
<string name="btn_is">Is</string>
|
<string name="btn_is">Is</string>
|
||||||
@ -84,7 +84,7 @@
|
|||||||
<string name="match_value">Value</string>
|
<string name="match_value">Value</string>
|
||||||
<!--SenderActivity-->
|
<!--SenderActivity-->
|
||||||
<string name="invalid_sender">Invalid sender, abort!</string>
|
<string name="invalid_sender">Invalid sender, abort!</string>
|
||||||
<string name="delete_sender_title">Confirmation</string>
|
<string name="delete_sender_title">Delete confirmation</string>
|
||||||
<string name="delete_sender_tips">Are you sure to delete this sender?</string>
|
<string name="delete_sender_tips">Are you sure to delete this sender?</string>
|
||||||
<string name="delete_sender_toast">The sender is deleted.</string>
|
<string name="delete_sender_toast">The sender is deleted.</string>
|
||||||
<string name="add_sender_title">Select sender type</string>
|
<string name="add_sender_title">Select sender type</string>
|
||||||
@ -170,14 +170,14 @@
|
|||||||
<string name="forward_app_notify">Forward app notify</string>
|
<string name="forward_app_notify">Forward app notify</string>
|
||||||
<string name="forward_app_notify_tips">Master switch, please grant notice first</string>
|
<string name="forward_app_notify_tips">Master switch, please grant notice first</string>
|
||||||
<string name="enable_custom_templates">Enable custom templates</string>
|
<string name="enable_custom_templates">Enable custom templates</string>
|
||||||
<string name="enable_custom_templates_tips">Priority: custom template for forwarding rules >Global custom template >The default</string>
|
<string name="enable_custom_templates_tips">Priority: custom template for forwarding rules > Global custom template > System default</string>
|
||||||
<string name="enable_regex_replace">Enable regular replacement content</string>
|
<string name="enable_regex_replace">Enable regular replacement content</string>
|
||||||
<string name="enable_regex_replace_tips">Format: RegularExpression===ReplacementResult,One rule per line.\ne.g. (\\d{3})\\d+(\\d{4})===$1****$2</string>
|
<string name="enable_regex_replace_tips">Format: RegularExpression===ReplacementResult,One rule per line.\ne.g. (\\d{3})\\d+(\\d{4})===$1****$2</string>
|
||||||
<string name="regex_check_tips">Format check: line %d is badly formatted! Format: RegularExpression===ReplacementResult</string>
|
<string name="regex_check_tips">Format check: line %d is badly formatted! Format: RegularExpression===ReplacementResult</string>
|
||||||
<string name="enable_exclude_from_recents">Hide from recent Apps</string>
|
<string name="enable_exclude_from_recents">Hide from recent Apps</string>
|
||||||
<string name="enable_exclude_from_recents_tips">Enable to hide SmsForwarder from recent Apps so as to keep alive</string>
|
<string name="enable_exclude_from_recents_tips">Enable to hide SmsForwarder from recent Apps to keep it alive</string>
|
||||||
<string name="custom_templates">Custom templates</string>
|
<string name="custom_templates">Custom templates</string>
|
||||||
<string name="custom_templates_tips">Tip:Insert labels as needed;Leave blank to default template</string>
|
<string name="custom_templates_tips">Tip:Insert labels as needed; Leave blank to apply default template</string>
|
||||||
<string name="insert_sender">Phone</string>
|
<string name="insert_sender">Phone</string>
|
||||||
<string name="insert_sender_app">PackageName</string>
|
<string name="insert_sender_app">PackageName</string>
|
||||||
<string name="insert_content">SMS</string>
|
<string name="insert_content">SMS</string>
|
||||||
@ -186,9 +186,9 @@
|
|||||||
<string name="insert_time">Time</string>
|
<string name="insert_time">Time</string>
|
||||||
<string name="insert_device_name">Device</string>
|
<string name="insert_device_name">Device</string>
|
||||||
<string name="init_setting">Restore initial Setting</string>
|
<string name="init_setting">Restore initial Setting</string>
|
||||||
<string name="init_setting_tips">Are you sure you want to restore the initial configuration? \n\n[Warning] This operation will reset Settings, delete send channels, rules, logs!</string>
|
<string name="init_setting_tips">Are you sure you want to restore the initial configuration? \n\n[Warning] This operation will reset settings, and delete senders, rules, and logs!</string>
|
||||||
<string name="battery_setting">Battery Optimization</string>
|
<string name="battery_setting">Battery Optimization</string>
|
||||||
<string name="request_permission">Request Notify Permission</string>
|
<string name="request_permission">Request Ntf. Permission</string>
|
||||||
<string name="unknown_number">Unknown Number</string>
|
<string name="unknown_number">Unknown Number</string>
|
||||||
<string name="calling">Incoming telegram</string>
|
<string name="calling">Incoming telegram</string>
|
||||||
<string name="unsupport">Your phone does not support this setting</string>
|
<string name="unsupport">Your phone does not support this setting</string>
|
||||||
@ -233,7 +233,7 @@
|
|||||||
<string name="user_app">User App</string>
|
<string name="user_app">User App</string>
|
||||||
<string name="system_app">System App</string>
|
<string name="system_app">System App</string>
|
||||||
<string name="tips_battery_optimization">Please deactivate power optimization for SmsForwarder, in order to keep the App alive!</string>
|
<string name="tips_battery_optimization">Please deactivate power optimization for SmsForwarder, in order to keep the App alive!</string>
|
||||||
<string name="tips_notification_listener">Please grant Notification reading permission to SmsForwarder, before other App\'s notification could be forwarded. Forwarding automatically canceled!</string>
|
<string name="tips_notification_listener">Please grant Notification reading permission to SmsForwarder, before other Apps\' notification could be forwarded. Forwarding automatically canceled!</string>
|
||||||
<string name="notification_listener_service_enabled">The notification service is enabled</string>
|
<string name="notification_listener_service_enabled">The notification service is enabled</string>
|
||||||
<string name="notification_listener_service_disabled">The notification service is disabled</string>
|
<string name="notification_listener_service_disabled">The notification service is disabled</string>
|
||||||
<string name="pushplus_token">Token</string>
|
<string name="pushplus_token">Token</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user