用Tasker识别并提取短信中的验证码

短信验证码 使用的是https://github.com/zhidao8/SmsCodeHelper的源码,该源码有如下特点:

1. 该源码适配了中日英三种语言(尤其是支持google验证码),感觉应该可以应付目前各种样式的验证码了.

2. 源码还支持自定义正则表达式提取(这个我删除了,orz)

3. 除了验证码还支持快递取件码(不好意思这个我也没加) 

目前该配置的具体功能是:在收到验证码短信后,实现吐司验证码并自动复制验证码.
该配置目前还没有添加验证码自动填充的功能.

get-sms-verification-code
verification code


最后附上配置链接:提取短信验证码
链接需要安装 google play套件,需要登录Google账号.
我发现 相同的配置名称,修改配置内容后分享出来的链接是相同的.
预计后续会加入的功能:

1. 提取快递取件码

2. 使用悬浮窗来提示验证码

3. 一段时间后清理眼贴板内容
该配置不适合360手机和魅族手机

     想到有趣的功能,可以下方留言哟!

Tasker安装一个月后的教程

更新:2020.01

Tasker 5.9 版本可以使用HTTP request直接对文件进行上传或者下载,但是由于该操作有60s的时间限制,目前仍不建议使用该方法进行下载操作。

另外对于新手来说,如果添加桌面小部件提示“退出Tasker”字样,那么在Tasker界面的右上汉堡菜单里面点击退出(其实作用相当于是保存对Tasker的更改)就可以了。

—————————————————————————————————

本篇文章针对使用几个月的用户,探讨Tasker的功能不足,以帮助用户更好的理解Tasker的用途.

Tasker可以实现很多自定义的功能,各种功能还可以组合成更多更大的复杂功能,的确方便了很多

但是理解了Tasker的功能有所不足,便可以更好的使用它的功能

一.Tasker暂时存在以下不足(随着更新,也许会逐步添加)

1,Tasker并没有文件上传和文件下载模块。

2,Tasker并不支持读屏和模拟点击(root模式下可以使用shell命令实现模拟点击),即无法读取屏幕的文本信息,官方文档提到是涉及到信息安全,防止Tasker被滥用。

3,Tasker调用第三方应用时,需要应用在后台运行或者存在于缓存中。

4,Tasker没有接收文件分享的接口,即你不能把一个文件或者消息分享给Tasker

5,Tasker没有集成系统的菜单功能,即无法简单的选择文字后进行分享等操作

6,Tasker虽然有添加部件的功能,但是这个部件只是任务的快捷方式,并没有把信息添加到桌面部件的功能

二.针对以上不足,这里分别给出几点(已知的)解决方法:

1.上传有2种方法:

a,Tasker带有文件二进制读取功能,不过是以base64编码的,通过对其转码获取二进制.

b, 使用插件:手机商店下载)

note:也许有用Java function 的方法,目前暂未找到相关代码.

2.下载有4种方法:

a.使用 HTTP GET功能:

HTTP get 下载图示

必填项: 服务器端口,Mime类型,输出文件.

图示是以Android版的 TIM下载链接作为示例.

b.利用JavaScript代码实现

c.利用Java function(即Java代码)

{4746aa5fa3d870d47cdd6c6677da894fc4983e37a4bcf6fa0686a3fe0e16ddcc}part是下载地址
第二步的内容,{4746aa5fa3d870d47cdd6c6677da894fc4983e37a4bcf6fa0686a3fe0e16ddcc}part2应该是文件名
第6步的内容

d.调用第三方下载管理器

①通过发送意图调用

{4746aa5fa3d870d47cdd6c6677da894fc4983e37a4bcf6fa0686a3fe0e16ddcc}downloadurl是网址

②通过JavaScriptlet调用

sendIntent(“android.intent.action.MAIN”, “activity”,”com.dv.adm.pay”,”com.dv.adm.pay.AEditor”,””,””,””,[“android.intent.extra.TEXT”+”:”+downloadurl,”com.android.extra.filename”+”:”+filename]);

或者

sendIntent(“android.intent.action.MAIN”,”activity”,”com.dv.adm.pay”,”com.dv.adm.pay.AEditor”,””,downloadurl,””,[“com.android.extra.filename”+”:”+filename]);

或者

sendIntent(“android.intent.action.MAIN”,”activity”,”com.dv.adm.pay”,”com.dv.adm.pay.AEditor”,””,downloadurl,””,””);

可用的有第三方下载管理器有 adm,adm pro,idm 等等

3.读屏和模拟点击可以使用插件或者第三方工具来实现

a.autoinput.

b.touchtask.

c.auto.js

eg:Auto.js脚本:蚂蚁森林收能量 星星球 京东金融签到 微信运动点赞等

4.防止插件不运行的方法

a.在电池管理里面设置程序白名单

b.在桌面上添加程序部件来保活(仅适合能在桌面添加部件的程序).

5.为Tasker添加分享接口和菜单接口,可通过以下插件实现

a.intentTASK

b.autoshare

6. 为Tasker添加桌面部件

a. KLWP

b. KWGT

c. Minimalistic Text

等等

本篇内容是不断更新的,针对每个问题,提供一种或多种解决方法;需要说明的是 不同的系统版本和不同的定制系统 均会对 方法的 有效性和稳定性 有影响。

java function 相关代码,取自于网络文件,作者未知.

初版写于:2019.02

Termux 详解—— Android 平台上完美移植的 Linux 工具集

最近换了新手机,系统是基于 Android Pie(即 Android 9)定制的 MIUI 10
Android 相对而言算得上是比较开放的平台,如此说来,不趁此机会乱搞一下难免有些说不过去。。。
额,新手机,刷机Root来一套有点舍不得,好在有 Termux 这个应用。来,耍一耍看上去能够彰显“硬核”范儿的东西。

一、简介

Termux 是 Android 平台上的一个终端模拟器,它将众多 Linux 上运行的软件和工具近乎完美的移植到了手机端。
无需任何复杂的安装和配置过程,软件装好以后即会自动配置一个基本的运行环境,用以执行一些常见的 Linux 命令。
最为关键的是,它还内置了功能健全的包管理工具,可以使用类似于 Ubuntu 系统的 apt (或 pkg)命令安装额外的软件包。

Termux 详解—— Android 平台上完美移植的 Linux 工具集
termux

之所以称它为“模拟器”而非“虚拟机”,是因为它并非像 PC 端的 VirtualBox 等虚拟机软件那样,在宿主机中虚拟出一个完全独立且完整的系统环境,而是类似于 Mingw 等软件,只是提供一个接口,以安装和运行面向新环境交叉编译后的程序。

也可以将此时的手机看作是安装了 Linux 系统的树莓派,可以像 PC 端系统那样运行各种类型的软件,只不过这些软件都是针对特定的 CPU 架构和硬件设备编译过的(交叉编译或者在树莓派系统中本地编译)。
需要注意的是,由于移动端和 PC 端硬件设备的巨大差异,加上 Android 内核和操作系统的限制,能够直接运行的程序毕竟是少数。不过我刚刚算了一下,实际上可直接安装运行的软件足足有 910 个!

Termux 详解—— Android 平台上完美移植的 Linux 工具集
apt list

二、软件包

前面提到的可供安装的近一千个(算上为数众多的基础工具、库文件和开发版软件包)程序和软件,数量虽然远不及桌面系统,面对日常使用、学习任务甚至很多高阶应用也已经算得上绰绰有余了。
举个例子来说,Termux 是可以直接安装配置 Python 编程环境的。想想 Python 社区里浩如烟海的第三方库,甚至还可以根据特定的需求自行编写程序源代码。这里面包含着无限的可能性。

当然这也只是 Python 罢了,那么 PerlRubyNodejsLua、C/C++、GolangRust……
我不会拿它去对标电脑上完备的系统环境,单说这种似乎无限的可能性,就已经很值得玩味了。

这里简单的列举下我所熟悉的部分软件:

  • 基础工具:apt、bash、busybox、dpkg、git、htop、make、zsh ……
  • 编程语言:binutils、clang、dart、erlang、golang、lua、nodejs、perl、php、python、ruby、rust ……
  • 服务器软件:apache2、lighttpd、nginx、openssh ……
  • 数据库软件:mariadb、memcached、mosquitto、postgresql、redis、sqlite ……
  • 文本工具和编辑器:emacs、gawk、nano、sed、vim ……
  • 媒体工具:ffmpeg、imagemagick、mpv、sox ……
  • 网络工具:curl、httping、nmap、wget ……
  • 游戏和娱乐:bastet、cmatrix、cowsay、fortune、moon-buggy、nsnake、sl ……

三、有趣的 Terminal 小命令

就先不说具体的环境搭建的步骤了,包含的东西很多,实际上跟电脑端的操作并没有太大的区别。
就简单列举一些我个人非常喜欢的好玩儿的小命令吧。

  • fortune:输出一段格言警句、名著节选或者小笑话等
  • cowsay:将输出的文字内容包含在由 ASCII 字符组成的动物形象的气泡内
  • lolcat:将苍白的输出文字变成绚丽的彩虹色

安装方法

  • fortune:$ apt install fortune
  • cowsay:$ apt install cowsay 或者 $ gem install cowsay
  • lolcat:$ gem install lolcat

其中 apt 版本的 cowsay 依赖 Perl ,安装包整个算起来有点大。所以我比较倾向于使用 gem 命令安装,即作为 Ruby 的第三方库。当然为了使用 gem 命令是要先安装好 Ruby 的:
$ apt install ruby

效果截图

Termux 详解—— Android 平台上完美移植的 Linux 工具集
fortune cowsay lolcat

虽然名字叫 cowsay ,但它所包含的动物形象事实上不只“牛”这一种。
可以使用 cowsay -l 命令列出所有可供选择的动物形象,并通过 cowsay -f animal_name 手动指定另一种动物。

Termux 详解—— Android 平台上完美移植的 Linux 工具集
cowsay -f

另外,其实 cowsay 的每个动物形象都是由对应的 cow 文件(基本就是 ASCII Art 形式的文本文件)定义的,可以自己扩充,篇幅有限不赘述。
类似的小玩意儿还有 sl(突突的小火车)、cmatrix(全屏滚动乱码),试试就知道了。

配置 ssh 服务

前面的截图,估计已经暴露了。。。
我是在电脑上截的图,但程序确实是在手机上运行的。只是在手机端 Termux 上安装了 SSH 服务,远程登录而已。步骤也非常简单:

  • 软件安装:$ apt install openssh
  • 设置远程登录密码:$ passwd
  • 电脑端登录:$ ssh phone_ip -p 8022

电脑上的 ssh 客户端可自行选择,尤其要注意,这里 SSH 服务监听的端口8022
呃,差点忘记了。远程连接之前,先在手机端运行下 sshd 命令启动 SSH 服务。。。

四、高端的命令行游戏

moon-buggy

moon-buggy 是一个非常“酷炫”的命令行版本的跑酷游戏。
虽说游戏界面完全由 ASCII 字符构成,它仍然具备了一个跑酷游戏必需的所有的基本要素。玩下就懂了,蛮神奇的。

Termux 详解—— Android 平台上完美移植的 Linux 工具集
moon-buggy GIF

玩儿到后面貌似还有迎面飞来的障碍物,还可以发射武器弹药?记不太清楚了。。。

nsnake

嗯,不多说了,看名字就知道,贪吃蛇。。。
初始的移动速度有点慢,建议在游戏选项里面改一下。

Termux 详解—— Android 平台上完美移植的 Linux 工具集
nsnake
bastet

就是大名鼎鼎的俄罗斯方块啦。看图:

Termux 详解—— Android 平台上完美移植的 Linux 工具集
bastet

五、oh-my-zsh

手机端输入命令总觉得有点别扭,可能还是不习惯吧。
这时候有个 oh-my-zsh 就显得很有必要了。反正我个人觉得挺好用的,尤其搭配上 zsh-completionszsh-autosuggestionszsh-syntax-highlighting 等插件。
可以对命令行中输入的命令进行语法高亮自动补全等,极大地提高了输入效率。

软件安装

  • oh-my-zsh
$ apt install zsh curl $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 
  • zsh-autosuggestions
    $ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  • zsh-completions
    $ git clone https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions
  • zsh-syntax-highlighting
    $ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

软件配置
编辑 ~/.zshrc 文件,将上述插件添加到 plugins 项后面:

Termux 详解—— Android 平台上完美移植的 Linux 工具集
.zshrc

PS:Termux 貌似是没有默认 SHELL 的配置的,所以安装好 oh-my-zsh 以后,打开软件还是直接进入 Bash 界面。
我没有特别去找配置文件的位置,而是用了另外一种方案,,,手动输入 zsh 命令进入,或者,在 ~/.bashrc 文件中加入 zsh 一行内容。。。

六、访问手机文件及 Termux-Api

根据默认的 Android 系统的权限设定,Termux 是无法访问手机存储的。当然可以使用命令进行修改。
只需要输入 termux-setup-storage 命令,即会弹出授权窗口,允许即可。
该命令会在用户主目录下生成 storage 文件夹,里面即包含了到系统主要资源(如手机内存、外置存储卡、Downloads 文件夹、照片等)的链接。

Termux 详解—— Android 平台上完美移植的 Linux 工具集
storage

Termux-Api 是 Termux 软件的一个插件,需要安装额外的 APK 包。并且命令行中也需要使用 $ apt install termux-api 命令安装具体的工具。
它提供了一种以 API 的形式直接访问 Android 系统硬件和资源(如相机电池WiFi短信通讯录指纹GPS等)的途径。

Termux 详解—— Android 平台上完美移植的 Linux 工具集
Termux-Api

如获取电池状态和 WiFi 连接信息:

Termux 详解—— Android 平台上完美移植的 Linux 工具集
battery & wifi

这个感觉可以深挖,用好了可以达到曾经的安卓神器 Tasker 的效果。

今天也不早了,,,就先这样吧。熬,附个软件链接吧。。
Termux and Termux-Api 提取码:i37y
By the way,录了段蛮简陋的视频演示,额,第一次剪。。。

参考资料

Termux Wiki

发送未接来电信息到微信

  之前做的《用Tasker实现Android手机短信转发到微信》,很多人询问如何发送未接来电信息,问的人太多就做出来.
  本教程的大部分内容都跟《用Tasker实现Android手机短信转发到微信》的内容差不多少,只有发送信息的主体从短信改为未接来电,触发条件改成 未接来电 就可以了

整个操作步骤是:1,注册企业微信;2,创建一个应用;3,在tasker中创建配置文件。
 
发送未接来电信息到微信实际效果截图
//下面的三个变量值需要修改
var ID = "ww3c67de428ec7ebad";
var SECRET = "KNgBbbHiTo66VSVzqLv0vYCadXE11drn5o41cmuB2o4";
var AGENTID = 1000002;

//定义post方法
function postHttp(url, data) {
    var xhr = new XMLHttpRequest();
    xhr.addEventListener("readystatechange",
    function() {
        if (this.readyState === 4) {
            flash(this.responseText); //显示返回消息,可删除本行
        }
    });
    xhr.open("POST", url, false);
    xhr.send(data);
    return xhr.responseText;
}

//定义get方法
function getHttp(url) {
    var xhr = new XMLHttpRequest();
    xhr.addEventListener("readystatechange",
    function() {
        if (this.readyState === 4) {
            flash(this.responseText); //显示返回消息,可删除本行
        }
    });
    xhr.open("GET", url, false);
    xhr.send();
    return xhr.responseText;
}

//获取token
var tokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + ID + "&corpsecret=" + SECRET;
var access_token = JSON.parse(getHttp(tokenUrl)).access_token;

//发送消息(文本)
var cnum = global('CNUM');
cnum = cnum ? cnum: "来电未显示号码";
var cname = global('CNAME');
cname = (cname == "?") ? cnum: cname;
var ctime = global('CTIME').replace(/\./, ":");
var cdate = global('CDATE');

var content = "您有一条未接来电信息\n名字: " + cname + "\n号码: " + cnum + "\n时间: " + ctime + ",  日期: " + cdate;
var message = JSON.stringify({
    "touser": "@all", //@all代表发送给全体成员,也可指定某几个人,比如"hong|dan|tom"
    //"toparty" : "1|2",//部门id
    //"totag" : "1|2",//标签id,文档说明:https://work.weixin.qq.com/api/doc#90000/90135/90236
    "msgtype": "text",
    "agentid": AGENTID,
    "text": {
        "content": content
    },
    "safe": 0
});
var msgUrl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + access_token;
postHttp(msgUrl, message);

  • 为保证Tasker稳定运行,请把Tasker加入电池优化白名单.
  • 为保证配置正常运行,请赋予Tasker相应的权限.
  • 运行不正常,请提供提示信息和运行日志到群内反馈.
    点击我加入群【Tasker配置分享群】

或者扫描二维码进入。

发送未接来电信息到微信
群二维码
点我导入配置

Tasker安装第一天的教程

Tasker安装第一天的教程
安装Tasker后发现,应用会在需要的时候主动提醒用户获取相应的权限.
说起来有些枯燥,实在不想多说,所以本篇文字极简。

  • 如果你是只想实现某一个或几个功能,那么找到可靠的配置文件或者链接,并且Tasker保持正常运行就足够了。
  • 如果你想自己创建配置,实现更多的自定义功能,就需要一步一步按照如下步骤操作。

保持正常运行的方法

  1. 首先,安装Tasker程序,安装后打开应用,在Tasker主界面上,打开右上角的菜单,单击更多选项,点击Android设置,该界面一共罗列了10项设置,按照提示一步一步设置就可以了。其中”省电模式”是设置让Tasker保持后台运行的关键设置。
    Tasker安装第一天的教程
    自启动
  2. 其次,按下最近任务键,在界面上长按Tasker程序,进入系统管理Tasker的设置界面,在Tasker的权限管理项中,选择信任Tasker。
  3. 最后,为Tasker赋予写安全权限。
    电脑上安装 adb后就可以使用以下命令获取权限

如何安装和使用adb请自行搜索

adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS

这个方法实现了很多需要root权限或者无障碍服务才能实现的功能.
其他技能:

  • 会查看运行日志
    Tasker安装第一天的教程
    运行日志
  • 置配置自动备份
    Tasker安装第一天的教程
    备份
    如果你是从低版本(5.2及之前的版本)升级的,最好备份下数据,卸载旧版本重新安装新版本.

如何在 Tasker 中执行 Python 脚本

注:由于我是初次使用该方法来执行 Python 脚本,难免存在各种问题,所以本篇内容只适合于愿意尝鲜的朋友
下面都是步骤性的内容(不会对步骤进行说明),即便你是小白,只要一步一步跟着去做,也能成功

准备工作

  • 安装 Tasker
  • 安装 Termux

如果尚未安装此 App,可从 F-Droid 应用市场中安装

若已安装 Termux 的,建议备份好应用数据,然后清除 Termux 的数据(不清除也可以,只不过这些数据全部都会迁移到 Tasker 中)

Python 环境配置

说明:本教程配置的是 Python3 环境

  • Tasker

导入 Tasker 任务 [email protected] 待用(下载地址:uri / xml

  • Termux

*注:必需先导入上述 Tasker 任务,才能进行下面的操作

  1. 打开 Termux,输入 termux-setup-storage 命令并回车,允许 Termux 应用的读写权限
  1. 读写权限设置好后,接着输入 name=’tk.sh’ && wget -O $name http://pastebin.com/raw/xekBeyqe && dos2unix $name && sh $name && rm $name 命令并回车
  1. 然后就是耐心等待,直至通知栏出现迁移完成(Migration completed)的通知

测试

可导入 Tasker 测试任务 getPythonVersion(uri / xml),以验证 Python 环境是否配置成功

使用方法

若要执行其他 Python 脚本,可参考测试任务的写法。如果需要对包进行管理,可在 Tasker 的 Run Shell(运行外壳/运行 Shell) 动作中执行 pip 命令,例如,包的安装:pip install requests

移除 Python 环境

运行导入的 Tasker 任务 removeTermuxMigration(uri / xml),便可移除注:由于从 Termux 生成的 termux.zip 与 get-pip.py 文件是保留在 /sdcard/Downlod 中,因此,若想重新配置 Python 环境,可直接运行 Tasker 任务 [email protected],而无需在 Termux 中重复生成 termux.zip 与 get-pip.py 文件

更多

(此部分内容小白可不看)

如果你对 Shell 很熟悉,可以通过类似的方法配置 python2/ffmpeg/sqlite/curl 等环境。如果你的水平更高,还可以自己编译安装这些环境,不依赖于 Termux 平台

更新日志

  • 12/29/2018

– 发布

其他

作者:sung

邮箱:[email protected]

转载自:

https://shimo.im/docs/urhJ4Ajzo9MuSrWU/read