From:https://www.sqlsec.com/2018/05/termux.html
Termux 高级终端安装使用配置教程 :https://www.cnblogs.com/cutesnow/p/11430833.html
神器Termux 的使用记录:https://cloud.tencent.com/developer/article/1609398
adb shell 下使用 termux:https://github.com/alwaystest/blog/issues/68
ttyd --- Share your terminal over the web:https://github.com/tsl0922/ttyd
termux-app:https://github.com/termux/termux-app
python 脚本在手机或安卓系统上运行:https://www.zhihu.com/question/28654702
安装 python库 + tasker调用:https://www.jianshu.com/p/c239a7eaadba
AidLearning-FrameWork :https://github.com/aidlearning/AidLearning-FrameWork
安卓
IOS 推荐
安装 Termux 的三种方法:
Termux 是一个强大的终端仿真器,它提供了所有最流行的 Linux 命令,加上数百个额外的包,以便于安装。它不需要任何特殊的权限,可以使用默认的Google Play商店( https://play.google.com/store/apps/details?id=com.termux ),或者开源应用仓库 F-Droid ( https://f-droid.org/repository/browse/?fdid=com.termux ) 来安装。安装后如图所示:
安装 Termux 后,启动它并使用 Termux 的 pkg 命令执行一些必要的软件安装。
安装和自动配置完成后,就可以构建你的应用了。
显示菜单项(包括复制、粘贴、更多),此时屏幕出现可选择的复制光标
显示隐藏式导航栏,可以新建、切换、重命名会话session和调用弹出输入法
扩展功能键是什么?就是PC端常用的按键如:ESC键,CTR键,TAB键,但是手机上难以操作的一些按键.
下载安装后,要首先 更新、升级软件包,国内使用termux安装包多少有点尴尬,所以更换 Termux 清华大学源,加快软件包下载速度。
清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/termux/
就将原来的官方源,替换为清华源了。( 可以将原来的源加上 # 来注释掉 )按 ESC 然后输入 :wq 保存并退出。上面是官方推荐的方法,其实还有更简单的方法,类似于 Linux 下直接编辑源文件:
vi $PREFIX/etc/apt/sources.list //直接编辑源文件
换源其实就是手动修改下面的三个文件
编辑 $PREFIX/etc/apt/sources.list
修改为如下内容
# The termux repository mirror from TUNA: deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main
编辑 $PREFIX/etc/apt/sources.list.d/science.list
修改为如下内容
# The termux repository mirror from TUNA: deb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable
编辑 $PREFIX/etc/apt/sources.list.d/game.list
修改为如下内容
# The termux repository mirror from TUNA: deb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable
换好源后,记得 update,但是不需要 upgrade:apt update
# 安装基本工具
pkg update
pkg install vim curl wget git unzip unrar
apt update // 更新源
apt upgrade // 升级软件包
apt install git // 分布式管理工具
apt install wget // 下载工具
apt install vim // vim编辑器
apt install tar // 解压缩工具
apt install less // termux下vim支持触摸移动光标移动位置
Ctrl键是终端用户常用的按键,但大多数触摸键盘都没有这个按键。为此 Termux 使用音量减小按钮来模拟Ctrl键。 例如,在触摸键盘上按音量减小+ L发送与在硬件键盘上按Ctrl + L相同的输入。
Ctrl+A -> 将光标移动到行首
Ctrl+C -> 中止当前进程
Ctrl+D -> 注销终端会话
Ctrl+E -> 将光标移动到行尾
Ctrl+K -> 从光标删除到行尾
Ctrl+L -> 清除终端
Ctrl+Z -> 挂起(发送SIGTSTP到)当前进程
音量加键 也可以作为产生特定输入的 特殊键。
音量加+E -> Esc键
音量加+T -> Tab键
音量加+1 -> F1(和音量增加+ 2→F2等)
音量加+0 -> F10
音量加+B -> Alt + B,使用readline时返回一个单词
音量加+F -> Alt + F,使用readline时转发一个单词
音量加+X -> Alt+X
音量加+W -> 向上箭头键
音量加+A -> 向左箭头键
音量加+S -> 向下箭头键
音量加+D -> 向右箭头键
音量加+L -> | (管道字符)
音量加+H -> 〜(波浪号字符)
音量加+U -> _ (下划线字符)
音量加+P -> 上一页
音量加+N -> 下一页
音量加+. -> Ctrl + \(SIGQUIT)
音量加+V -> 显示音量控制
音量加+Q -> 显示额外的按键视图
Termux 除了支持 apt 命令外,还在此基础上封装了 pkg 命令,pkg 命令向下兼容 apt 命令。
pkg search 搜索包
pkg install 安装包
pkg uninstall 卸载包
pkg reinstall 重新安装包
pkg update 更新源
pkg upgrade 升级软件包
pkg list-all 列出可供安装的所有包
pkg list-installed 列出已经安装的包
pkg show 显示某个包的详细信息
pkg files 显示某个包的相关文件夹路径
~ > echo $HOME
/data/data/com.termux/files/home
~ > echo $PREFIX
/data/data/com.termux/files/usr
~ > echo $TMPPREFIX
/data/data/com.termux/files/usr/tmp/zsh
长期使用 Linux 的朋友可能会发现,这个 HOME 路径看上去可能不太一样,为了方便,Termux 提供了一个特殊的环境变量:PREFIX
使用 zsh 来替代 bash 作为默认 shell。可以使用一键安装脚本来安装,执行下面这个命令确保已经安装好了curl,没有的话根据它的提示安装,你没安装的话,执行了下面这条语句,它会给你一条安装 curl 的语句的。
sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
Android6.0以上会弹框确认是否授权,允许授权后Termux可以方便的访问SD卡文件。
脚本允许后先后有如下两个选项:
Enter a number, leave blank to not to change: 14
Enter a number, leave blank to not to change: 6
分别选择 背景色 和 字体 想要继续更改挑选配色的话,继续运行脚本来再次筛选:
~/termux-ohmyzsh/install.sh
exit 退出,重启 sessions会话生效配置,如想深入使用,请访问?GitHub
执行过上面的 zsh 一键配置脚本后,并且授予文件访问权限的话,会在家目录生成 storage 目录,并且生成若干目录,软连接都指向外置存储卡的相应目录
创建QQ文件夹软连接
手机上一般经常使用手机 QQ 来接收文件,这里为了方便文件传输,直接在 storage 目录下创建软链接。
ln -s /data/data/com.termux/files/home/storage/shared/tencent/QQfile_recv QQ
TIM
ln -s /data/data/com.termux/files/home/storage/shared/tencent/TIMfile_recv TIM
最后效果图如下:
这样可以直接在home
目录下去访问QQ文件夹,非常方便文件的传输,大大提升了工作效率。
http://mirrors.tuna.tsinghua.edu.cn/termux
编辑 .zshrc 配置文件
$ vim .zshrc
第一行可以看到,默认的主题是 agnoster 主题:
在 .oh-my-zsh/themes 目录下放着 oh-my-zsh 所有的主题配置文件。
下面是几款还可以的主题
agnoster
robbyrussell
jaischeema
re5et
junkfood
cloud
random
当然如果你是个变态的话,可以尝试random
主题,每打开一个会话配色主题都是随机的.
ZSH_THEME="random"
默认的启动问候语如下:
这个对于初学者有一定的帮助在前期,随着对Termux的熟悉,这个默认的问候语就会显得比较臃肿。编辑问候语文件直接修改问候语:
vim $PREFIX/etc/motd //编辑问候语文件直接修改问候语
利用 proot 工具来模拟某些需要 root 的环境:pkg install proot
然后终端下面输:termux-chroot
就可以模拟 root 环境,在这个 proot 环境下面,相当于是进入了 home 目录,可以很方便地进行一些配置。
在管理员身份下,输入 exit 可回到普通用户身份。
如果要访问 sdcard 的目录,需要先运行:
termux-setup-storage
完成授权后,在$HOME目录会多出一个storage目录。安装完毕以后,换Termux包管理器换为国内的清华源,加快软件包下载速度。
安装 SSH 服务:pkg install openssh
设置密码:passwd
查询手机ip,以实际手机ip为准:ifconfig
查询当前用户:whoami
确认ssh服务的监听端口:netstat -ntlp | grep sshd
信息确认后就可以在电脑端 cmd 下输入连接了,命令如下(前提是电脑端openssh已经安上了):ssh [email protected] -p 8022
这里假定用户名为 u0_a123(whoami查询可得)。ip 为192.168.0.1(ifconfig查询可得)。至此,Termux 基本环境就搭好了!
开启 ssh 的指令是:
sshd
sshd -p 9000
上面的一个指令默认打开的端口是8022,后一个指定了新的端口9000。其他需要的软件自行安装。
:https://zhuanlan.zhihu.com/p/92664273
:https://zhuanlan.zhihu.com/p/92161002
Termux 是一款安卓版的 Linux。 Aid Learning 是 Termux 的高仿!而且自带界面,自带Python!还是国产的。Aid Learning安装完毕后,需要等待,后台开始下载各种库。
官网:https://www.aidlux.com/product
下载地址:https://www.pianwan.com/app/121392
aid learning,一般又称 AidLux。
【AidLux是什么】:
【AidLux简介】:
【AidLux强大的功能】
Termux 并非完整版 Linux,而是一个模拟环境,如果想基于 Termux 安装完整版 Linux,比如 Ubuntu、Debian、Kali 等,请参考: :https://zhuanlan.zhihu.com/p/95865982
安装基础件 proot-distro:
pkg install proot-distro
或者
apt install proot-distro
查看 proot-distro 的使用帮助为:
proot-distro help
proot-distro list 查看可以安装的 Linux 系统。
安装以上系统就简单了: proot-distro install
比如,我要安装ubuntu 20.04,指令为: proot-distro install ubuntu-20.04
安装完成后,进入Linux发行版环境的指令为,比如安装的 ubuntu 为:proot-distro login ubuntu-20.04
每次进入 ubuntu 的命令太长,可以在 Termux 环境新建一个sh文件,比如新建u20.sh:vim u20.sh
输入如下内容(就是esc键+i键):proot-distro login ubuntu-20.04
然后退出(esc键+:键,再输入wq,回车),最后,在终端输入 ./u20.sh 就进入了真正的 linux 环境了。之后,传统操作比如换源,安装软件等等,一条龙走起来吧。输入 exit 可以退出登录的 linux 系统。
以上就是官方版的纯种Linux安装全过程。只要是国内源亲测安装没有bug,非常顺畅。
装完之后,现在开始安装 python 环境
apt install python3
apt install python3-pip
:https://zhuanlan.zhihu.com/p/106593146
:https://zhuanlan.zhihu.com/p/92280533
Termux 运行 gcc、gfortran
wiki:https://wiki.termux.com/wiki/PRoot#Installing_Linux_distributions
安装 tsu,这是一个 su 的 termux 版本,用来在 termux 上替代 su:
pkg install tsu
然后终端下面输入:tsu 即可切换 root 用户,这个时候会弹出 root 授权提示,给予其 root 权限即可。
在管理员身份下输入 exit 可回到普通用户身份。
python2 -m pip install --upgrade pip
python -m pip install --upgrade pip
ipython 是一个 python 的交互式 shell,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。学习 ipython 将会让我们以一种更高的效率来使用 python。
先安装 clang,否则直接使用 pip 安装 ipython 会失败报错.
pkg install clang
pip install ipython
pip3.6 install ipython
然后分别使用 ipython 和 ipython2 进入 py2 和 py3 控制台:
终端下有 vim 神器,并且官方也已经封装了 vim-python,对 vim 进行了 Python 相关的优化。
pkg install vim-python
解决 termux 下的 vim 汉字乱码
在家目录下新建 .vimrc 文件:vim .vimrc
添加内容如下:
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set enc=utf8
set fencs=utf8,gbk,gb2312,gb18030
然后 source 下变量:source .vimrc
效果图:
有些第三方模块会依赖 python-dev,所以也可以装上
pkg install python, python2
pkg install python-dev, python2-dev
或者
apt install python python-dev python2 python2-dev
也可以创建一个 Python 虚拟环境。这是 Python 开发者的常见做法,它有助于让你的 Python 项目独立于你的开发系统(在本例中是你的手机)。在你的虚拟环境中,你将能够安装特定于你应用的 Python 模块。
$ python -m venv venv
**你的新虚拟环境(注意,开头的两个点用空格隔开)
$ . ./venv/bin/activate
(env)$
请注意你的 shell 提示符现在以 (env) 开头,表示你在虚拟环境中。现在使用 pip 安装 Flask Python 模块。
(env) $ pip install flask
方法来自这篇文章:Running Jupyter and the Scipy stack on Android
安装这四个包,首先安装下依赖。
apt install python
apt install clang
apt install fftw
apt install libzmq
apt install freetype
apt install libpng
apt install pkg-config
或者一条命令
apt install python clang fftw libzmq freetype libpng pkg-config
这四个包安装方法类似,不过实际中安装时很多人会踩坑,其中 jupyter 是最容易安装的,一般没问题。安好了就可以拥有 ipython 和 jupyter notebook 两大神器了。
LDFLAGS="-lm -lcompiler_rt" pip install jupyter
这里 pip 之前加了东西,看到网上说是链接到数学库编译的意思。剩下三个其中 numpy 是基础包,是 pandas 和 matplotlib 的依赖包,方法类似。
LDFLAGS="-lm -lcompiler_rt" pip install numpy matplotlib pandas
ipython 和 matplotlib
用 ipython 写代码可以使用各种魔法操作,termux 里的界面看着也很漂亮,
termux 下 ipython 界面如下图所示
不过可以看到里面```import matplotlib.pyplot```报错了,主要是缺后端绘图界面支持。命令行作图确实也不大现实。但还是可以在手机上使用 matplotlib 的,毕竟还有 jupyter notebook 嘛。
在 jupyter notebook 作图如下:
安装 numpy,matplotlib 可能遇到的问题
numpy,matplotlib可能在安装时可能会有问题,这个跟各个模块的版本号有关系。
安装报错不妨多试几个版本。就是在最后加上版本号信息诸如``pip install numpy==1.12.1``` ```pip install matplotlib==1.2.0```
当然如果你还要一起安装下面两个模块的话,还可以有别的解决方法。
安装 scipy 和 scikit-learn
这里安装后一个scikit-learn需要先安装scipy。安装时要用到gcc来编译,不过从某版本开始 termux官方版把 gcc 去除了。
参照官方 wiki 和 Github 的大致安装方法如下:
1. 安装 curl:pkg install curl
2. 命令行输入以下命令:$ curl -L https://its-pointless.github.io/setup-pointless-repo.sh | sh安装一个叫 gnupg 的东西,链接到了 termux 社区一位贡献者(its-pointless)编译的源中,其中把 numpy 和 scipy 直接编译好都包括进去了。只需要 pkg install numpy, scipy 即可。
Github 里原话是这样的
This script essentially installs gnupg on your device and downloads and adds a public key to your apt keychain ensuring that all subsequent downloads are from the same source.
3. 上面已经说了,就是 ```pkg install numpy, scipy```
4. 最后安装 scikit-learn 就很简单了,直接 ```pip install scikit-learn``` 就行。
假如前面那个方法按照 numpy 报错,可以采用该方法
常见的几个比如 requests,BeautifulSoup4,lxml,scrapy。
pip install BeautifulSoup4 requests
前两个很简单,直接 pip 安装就行。后两个有一些依赖,而且安装 scrapy 前必须要先装 lxml。
lxml
apt-get install clang
apt-get install libxml2 libxml2-dev libxslt libxslt-dev
pip install lxml
scrapy
apt install libffi libffi-dev openssl openssl-dev libxml2 libxml2-dev libxslt libxslt-dev
pip install scrapy
命令:pkg install nodejs
安装比较方便,但是在安装的时候报错了
Cannot read property 'length' of undefined
查了下是这边版本的问题
官方的解决方法如下
disable concurrency in case of libuv/libuv#1459
vim $PREFIX/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js
我这里修改 length 的是4,
这个好像和CPU有关,总之这里的 length 得指定一个数字.
然后在重新安装下 npm install hexo-cli -g 成功.
MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
pkg install mariadb 安装 mariadb
mysql_install_db 安装基本数据
mysqld 启动 mariadb 服务
启动完成后,这个会话就一直存活,类似与 debug 调试一样,只有新建会话才可以操作。
关于隐藏会话可以使用 nohup 命令和 tmux命令,这里我建议使用 tmux 命令
新建 termux 会话,由于 mariadb 安装的时候没有设置密码,所以当前的 mariadb 密码为空。
mysql 直接进入 mariadb 数据库
exit 退出数据库
mysql_secure_installation 修改密码命令, 进行密码相关的安全设置
下面根据个人偏好来进行设置,没有绝对的要求
Remove anonymous users? [Y/n] Y #是否移除匿名用户
Disallow root login remotely? [Y/n] n #是否不允许root远程登录
Remove test database and access to it? [Y/n] n #是否移除test数据库
Reload privilege tables now? [Y/n] y #是否重新加载表的权限
使用密码登录数据库
$ mysql -uroot -p
Enter password:****
Tmux 是一个优秀的终端复用软件,类似 GNU Screen,但来自于 OpenBSD,采用 BSD 授权。一旦你熟悉了 tmux 后, 它就像一个加速器一样加速你的工作效率。
安装 tmux 的命令:pkg install tmux
上面介绍的 mysqld 后会一直卡在那里,强迫症表示接受不了,重启手机,现在尝试使用 tmux 来管理会话。
tmux new -s mysql
可以看到最下面的提示,表明现在是在 mysql 的会话下面操作
启动 mysqld
mysqld
让会话后台运行
使用快捷键组合 Ctrl
+b
+ d
,三次按键就可以断开当前会话。
现在那个mysqld
会话被放在后台运行了,整个界面看上去很简介,使用
mysql -uroot -p
可以优雅的使用数据库了。效果图
关于 tmux 更多进阶的用法这里不在过多介绍了。
termux 封装的 php 版本是 php 7.2.5
安装 nginx 包:pkg install nginx
安装命令:pkg install php ,查看 php 版本
自 PHP5.4之后 PHP内置了一个Web 服务器。
在家目录下建一个 www 文件夹:mkdir www
在 www 文件夹下新建一个 index.php 文件,其内容为:
具体操作如下:
mkdir www
vim www/index.php
tree www/
php -S 127.0.0.1:8080 -t www/
Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性.
默认的普通权限无法启动 nginx,需要模拟 root 权限才可以,切换 root 用户(切换命令:termux-chroot )进入模拟的 root 环境,尝试能不能解析默认的 index.html 主页,这个文件在 termux 上的默认位置为 /data/data/com.termux/files/usr/share/nginx/html/index.html
在模拟的 root 环境下启动 nginx:nginx
termux 上 nginx 默认的端口是 8080,查看下8080端口是否在运行:netstat -an |grep 8080
然后手机本地直接访问:http://127.0.0.1:8080
这样一个默认的 nginx 服务就起来了,但是意义不大,得配置一下可以解析php才会有更大的意义.
这里是直接杀掉占用端口的进程,具体端口以实际情况为准.
fuser -k 8080/tcp
nginx -s reload
成功解析的话,下面安装 wordpress 等 cms 就会轻松很多。
nginx 本身不能处理 PHP,它只是个 web 服务器,当接收到 php 请求后发给 php 解释器处理,nginx 一般是把请求发 fastcgi 管理进程处理,PHP-FPM 是一个 PHP FastCGI 管理器,所以这里得先安装 php-fpm。
这里默已经安装了nginx 和 php,没有安装的话,使用 pkg install php nginx 来进行安装,参考上面部分进行配置
安装 php-fpm
pkg install php-fpm
配置 php-fpm
进入proot
环境,然后编辑配置文件www.conf
(先进proot可以更方便操作编写相关配置文件)
termux-chroot
vim /etc/php-fpm.d/www.conf
定位搜索 listen 找到
listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock
将其改为
listen = 127.0.0.1:9000
在proot
环境下,然后编辑配置文件nginx.conf
vim /etc/nginx/nginx.conf
下面给出已经配置好的模板文件,直接编辑替换整个文件即可:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
root /data/data/com.termux/files/usr/share/nginx/html;
index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /data/data/com.termux/files/usr/share/nginx/html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
}
里面的网站默认路径就是nginx
默认的网站根目录:
root /data/data/com.termux/files/usr/share/nginx/html;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
要修改网站默认路径的话,只需要修改这两处即可.
在 /usr/share/nginx/html 目录下新建一个 phpinfo.php 文件,其内容是:
在proot
环境下面分别启动php-fpm
和nginx
,这里的nginx
不在proot
环境下启动后会出一些问题,感兴趣的可以自己去研究看看.
php-fpm
nginx
浏览器访问 http://127.0.0.1:8080/phpinfo.php
查询php
文件是否解析了.
这里只是用 wordpress 做个典型案例来讲解,类似地可以安装 Discuz、DeDecms等国内主流的PHP应用程序。
确保安装并配置了php 和 mariadb,没有安装好的话,参考本文中具体细节部分来进行安装。
新建数据库
mysql -uroot -p*** -e"create database wordpress;show databases;"
*** 这里是 mysql 的密码
下载解压 wordpress
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
pkg install unzip
unzip wordpress-4.9.4-zh_CN.zip
启动 PHP Web Server
到解压后的 wordpress 目录下,执行
cd wordpress
php -S 127.0.0.1:8080
然后浏览器访问 127.0.0.1:8080 开始进行 wordperss 的安装。
上面使用的方法一是直接使用 PHP 自带的 PHP Web Server 来运行的,看上去不够严谨~,所以这里用 nginx 来部署 wordpress。确保已经安装 PHP、php-fpm、mariadb,配置可以参考上面说明。这里主要介绍使用 nginx 去解析 wordpress源文件。 当前解压后wordpress的绝对路径是:
/data/data/com.termux/files/home/wordpress
编辑 nginx.conf
vim /etc/nginx/nginx.conf
修改为如下几处:
root /data/data/com.termux/files/home/wordpress;
index index.html index.htm index.php;
fastcgi_param SCRIPT_FILENAME /data/data/com.termux/files/home/wordpress$fastcgi_script_name;
启动 php-fpm 和 nginx
在 proot 环境下面分别启动 php-fpm 和 nginx,这里的 nginx 不在 proot 环境下启动后会出一些问题,感兴趣的可以自己去研究看看。
php-fpm
nginx
安装 wordpress
浏览器访问:http://127.0.0.1:8080/wp-admin/setup-config.php 进行安装.
同理安装其他博客也就轻而易举了,可玩性大大增加~
没错还能搭建 Hexo,但是我的 hexo 是用的电脑。但是这并不代表手机就不能玩了,你要是觉得不方便,还可以用电脑来控制。
npm install hexo-cli -g
然后建立一个目录,然后到这个目录下初始化 hexo 环境
mkdir hexoblog # 手动创建一个目录
cd hexoblog
hexo init # 初始化hexo环境
hexo g # 生成静态文件
hexo s # 启动hexo
然后就跑起来一个最基本的 hexo 博客。关于 hexo 博客的详细教程,建议搭建去参考 hexo 官方文档。
有时候要操作电脑,这个时候有了 termux,躺在床上就可以操作电脑了,岂不是美滋滋~~
安装 openssh
pkg install openssh
然后就可以直接 ssh 连接你的电脑了
前提是电脑安装了ssh服务
$ ssh [email protected]
手机连接操作电脑效果图:
emmm 这个需求比较鸡肋,但是写文字嘛就得写全了~
安装 openssh
同样也需要openssh
才可以
pkg install openssh
启动sshd
安装完成后,sshd
服务默认没有启动,所以得手动启动下:
sshd
因为手机上面低的端口有安全限制,所以这里的openssh
默认的sshd
默认的服务是8022
端口上的.ssh
的用户名用whoami
命令看下.
可以看到 sshd
启动后,端口才可以看到.
PC端生成公钥
ssh
登录是key公钥模式登录,首先在PC端生成秘钥:
sqlsec@ubuntu:-> ssh-keygen -t rsa
执行完成后,会在家目录下创建3个文件:id_rsa
, id_rsa.pub
, known_hosts
拷贝公钥到手机
然后把公钥id_rsa.pub
拷贝到手机的data\data\com.termux\files\home\.ssh
文件夹中.
将公钥拷贝到验证文件中
在Termux
下操作
cat id_rsa.pub > authorized_keys
PC端 连接 手机 termux
sqlsec@ubuntu-> ssh -p8022 [email protected]
pc端连接手机termux 真心鸡肋呀~(忍不住自己吐槽下自己)
Aria2 是一个轻量级多协议和多源命令行下载实用工具。它支持 HTTP / HTTPS, FTP, SFTP, bt 和 Metalink。通过内置 Aria2 可以操作 json - rpc 和 xml - rpc。配置好的话还可以高速下载百度云文件.
pkg install aria2
aria2c --enable-rpc --rpc-listen-all
这个rpc
服务默认监听的是6800
端口,启动后方便下面的Web界面连接操作.
这是个Aria2的热门项目,把Aria2封装在了Web平台,操作起来更加简单便捷。
git clone https://github.com/ziahamza/webui-aria2.git
cd webui-aria2
node node-server.js
需要node来运行,没有安装的 话使用
pkg install nodejs
来安装
使用效果图 ,速度蛮快的 ,有兴趣的可以研究如何利用aria2
来下载百度云文件,等你们来探索.
官方项目地址:https://github.com/mholt/caddy
官方:到目前为止,在Android上运行Caddy有两种方式:Termux
和adb
,所以那就顺便折腾一下看看吧:
cd ~
curl https://getcaddy.com | bash -s personal http.filemanager
这一步可能执行要3
番钟左右,耐心等待一下即可.
cd ~
vim Caddyfile
内容如下:
:8080 {
filemanager / /sdcard
timeouts none
gzip
}
这里的8080
端口号可以随意指定,因为手机权限比较低,所以一般设置1024
以上的端口.
注意8080
和{
之间有一个空格
注意 / / sdcard
两个斜杠之间也有一个空格
caddy
浏览器访问:http://127.0.0.1:8080
即可,局域网内的用户访问手机ip地址即可.
默认账号和密码为admin
,admin
.
可以在设置界面里面 设置简体中文
,可以修改更新默认密码
.
可以直接查看文件,也支持Linux
命令搜索.
Termux:API,用于访问手机硬件,实现更多的可玩性,可以实现如下等功能:
Termux-api Google Play下载地址:https://play.google.com/store/apps/details?id=com.termux.api
如何在电脑上下载Google play上的应用?:https://www.zhihu.com/question/22382577
安装完Termux-api
APP后,Termux
里面必须安装对应的包后才可以实现操作手机底层.
pkg install termux-api
下面只列举一些可能会用到的,想要获取更多关于Termux-api
的话,那就去参考官方文档.
termux-battery-status
可以看到电池的-健康状况-电量百分比-温度情况等
{
"health": "GOOD",
"percentage": 67,
"plugged": "UNPLUGGED",
"status": "DISCHARGING",
"temperature": 24.600000381469727
}
termux-camera-info
查看当前剪贴板内容
termux-clipboard-get
设置新的剪贴板内容
termux-clipboard-set PHP是世界上最好的语言
效果演示
termux-contact-list
termux-sms-inbox
termux-sms-send
支持同时发送多个号码,实现群发的效果,官方介绍如下:
termux-sms-send -n number(s) recipient number(s) - separate multiple numbers by commas
发送测试
termux-sms-send -n 10001 cxll
termux-telephony-call
拨打电话给10001
中国电信,查看下话费有没有欠费~?
termux-telephony-call 10001
获取当前WiFi连接信息
termux-wifi-connectioninfo
获取最近一次WiFi扫描信息
termux-wifi-scaninfo
直接操作调动系统底层的话,可以通过编程来实现自动定时短信发送,语音播报等 DIY空间无线
一些无聊有趣的版块,如果你是一个正经讲究人,可以跳过这个板块以节约你的阅读时间.
彩虹貓(英语:Nyan Cat)是在2011年4月上传在Youtube 的视频,并且迅速爆红于网络,並在2011年YouTube浏览量最高的视频中排名第五.
pkg install nyancat
nyancat
什么鬼~完全Get不到国外人的趣味点~
Linux 命令行下的二维码,主要核心是这个网址:http://qrenco.de/
echo "http://www.sqlsec.com" |curl -F-=\<- qrenco.de
如果你不嫌无聊的话还可以扫描这个二维码,然后就打开我的博客了.
一个基于nodejs
编写的命令行下的地图.
npm install mapscii -g
mapscii
操作方法
a
和z
键 放大缩小q
键 退出终端下的地图!讲究人~ 如果你足够无聊的话,还可以尝试能不能在这个地图上找到自己所在的位置.
甚至还可以在 Termux 里面在安装其他的 Linux 发行版.
由于本文篇幅已经过长了,这里不在叙述了,感兴趣,能折腾的自己去找一些资料。下面列出目前网友们用 Termux
可以成功安装的发行版:
Ubuntu
Fedora
通过它告诉我们的用法,我们就可以来安装了,注意流量哦,记得用WiFi,土豪随意。
4. 比如安装 Arch 试试
./atilo arch
然后稍等一会儿,安装完成之后会提示你通过 startarch 指令启动:
startarch
5. 如果你不想要了,也可以删除
./atilo -r arch
使用 ngrok 或者 frp 可以将 Termux 上面搭建的网站映射到外网上去,手机建站也不是不可能了。
关键字: frp 内网穿透
关键字: frp 内网穿透 安卓 手机
Jupyter notebook(又称 IPython notebook),支持运行超过40种编程语言。Python 的一个强大的模块,成功安装的话可以实现比caddy的效果,支持web下的终端操作,支持代码高亮运行。由于这里需要安装大量文件,加上用户需求比较少,这一块感兴趣的话可以自己去探索。
是一款命令行工具,用来下载网页中的视频、音频、图片,支持众多网站,包含 41 家国内主流视频、音乐网站,如 网易云音乐、AB 站、百度贴吧、斗鱼、熊猫、爱奇艺、凤凰视频、酷狗音乐、乐视、荔枝FM、秒拍、腾讯视频、优酷土豆、央视网、芒果TV 等等,只需一个命令就能直接下载视频、音频以及图片回来,并且可以自动合并视频。而对于有弹幕的网站,比如 B 站,还可以将弹幕下载回来
仿 Linux shell 文件处理命令的百度网盘命令行客户端。
项目地址:https://github.com/iikira/BaiduPCS-Go
可以完美在 Termux 上运行。
相对来说 国外的 Termux DIY 的氛围比国内好很多,Youtube 上的视频都有很高的播放量。
termux-tasker:https://github.com/termux/termux-tasker
安装 termux-task.apk 。具体使用方法:
1. Tasker任务里添加插件>termux:task,然后添加用termux编写的脚本了。
2. 脚本放置位置是有要求的,就是要放到```~/.termux/tasker```文件夹里。需要在termux里创建该目录(如下代码所示),然后放入脚本就行。
mkdir -p .termux/tasker
3. 这个跟文件系统有关系。比如```~/.termux```. ~ 表示 $HOME, 对于termux来说也就是这个路径 "/data/data/com.termux/files/home".手机未root时 这个目录只有termux才有权限访问。
4. 实际测试时发现,termux中的可执行程序开头必须加上声明行才可以使用,不然都是当成sh脚本运行的。比如对于python文件,开头要加上一行:#!/data/data/com.termux/files/usr/bin/python
5. python程序中有文件操作时,没办法直接写一个相对路径,写上绝对路径是可以的。
比如之前提到的```.termux/tasker```文件夹中的xxx.py,
假如程序中有个写入文件```data/xxx.csv```,要换成下面的绝对路径:/data/data/com.termux/files/home/.termux/tasker/data/xxx.csv
如下图,为Tasker中添加Termux脚本的界面,这里添加了一个py脚本,选择在termux中运行
Tasker添加termux脚本
下图即为脚本执行界面
你已经准备好了。现在你需要为你的应用编写代码。要做到这一点,你需要有经典文本编辑器的经验。我使用的是 vi 。如果你不熟悉 vi ,请安装并试用 vimtutor ,它(如其名称所暗示的)可以教你如何使用这个编辑器。如果你有其他你喜欢的编辑器,如 jove 、 jed 、 joe 或 emacs ,你可以安装并使用其中一个。
现在,由于这个演示程序非常简单,你也可以直接使用 shell 的 heredoc 功能,它允许你直接在提示符中输入文本。
(env)$ cat << EOF >> hello_world.py
> from flask import Flask
> app = Flask(__name__)
>
> @app.route('/')
> def hello_world():
> return 'Hello, World!'
> EOF
(env)$
这只有六行代码,但有了它,你可以导入 Flask,创建一个应用,并将传入流量路由到名为 hello_world
的函数。
现在你已经准备好了网页服务器的代码。现在是时候设置一些 环境变量 ,并在你的手机上启动一个网页服务器了。
(env) $ export FLASK_APP=hello_world.py
(env) $ export FLASK_ENV=development
(evn) $ python hello_world.py
启动应用后,你会看到这条消息:
serving Flask app… running on http://127.0.0.1:5000/
这表明你现在在 localhost(也就是你的设备)上运行着一个微型网页服务器。该服务器正在监听来自 5000 端口的请求。
打开你的手机浏览器并进入到 http://localhost:5000
,查看你的网页应用。
你并没有损害手机的安全性。你只运行了一个本地服务器,这意味着你的手机不接受来自外部世界的请求。只有你可以访问你的 Flask 服务器。
为了让别人看到你的服务器,你可以在 run
命令中加入 --host=0.0.0.0
来禁用 Flask 的调试模式。这会打开你的手机上的端口,所以要谨慎使用。
(env) $ export FLASK_ENV=””
(env) $ flask run –host=0.0.0.0
按 Ctrl+C
停止服务器(使用特殊的 Termux
键来作为 Ctrl
键)。
因为 Termux 完美的支持 Python 和 Perl 等语言,所以有太多优秀的信息安全工具值得大家去发现了, 这里就不一一列举了。总的来说可玩性还是比较高的。
安装 Metasploit
Termux 官方提供的自动话脚本安装方法如下:
cd ~
pkg install wget
wget https://Auxilus.github.io/metasploit.sh
bash metasploit.sh
注:在x86平台下自动化安装失败,想在x86平台下安装的参考 官方的文档 手动去安装.
这个过程平均耗时大约3分钟左右(使用国内的清华源的情况下).
配置 msf 数据库缓存
意外发现数据库居然都配置好了,启动msfconsole会
自动连接数据库了.
接下来重建数据库缓存
msf > db_rebuild_cache
这个时候立刻去搜索发现缓存依然没有建立,只能使用慢速搜索,这里其实是这个缓存建立需要时间,只要稍微等待一下就可以了.
然后就可以实 现msf
秒搜索的效果了,无需等待,感觉比电脑上还要快呐
使用自动化脚本安装好 Metasploit 后使用 db_status 发现数据库是处于连接状态的,然后在使用 db_rebuild_cache 重新建立缓存,等待大约3分钟后,便可以使用快速搜索了,没毛病~,但是在一段日子过后,可能会出现以下情况:
msfconsole
[-] Failed to connect to the database: could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
报这个错误是因为 postgresql 数据库没有启动造成的。解决方法就是启动数据库:
本方法只针对termux上使用自动化脚本安装 msf
pg_ctl -D $PREFIX/var/lib/postgresql start
启动数据库后重新进入 msfconsole 会发现启动没有报错了, db_status 查看下数据库连接,也正常了:
端口扫描必备工具
安装命令:pkg install nmap
Hydra 是著名的黑客组织THC的一款开源暴力破解工具这是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限。
安装命令:pkg install hydra
SSLscan 主要探测基于 ssl 的服务,如 https。SSLscan 是一款探测目标服务器所支持的SSL加密算法工具。SSlscan 的代码托管在 https://github.com/DinoTools/sslscan
安装命令:pkg install sslscan
whatportis 是一款可以通过服务查询默认端口,或者是通过端口查询默认服务的工具,简单易用。在渗透测试过程中,如果需要查询某个端口绑定什么服务器,或者某个应用绑定的默认端口,可以使用 whatportis 查询。
安装命令:pip2 install whatportis
SQLmap 是一款用来检测与利用SQL注入漏洞的免费开源工具,
官方项目地址: https://github.com/sqlmapproject/sqlmap
直接 git clone 源码
git clone https://github.com/sqlmapproject/sqlmap.git
cd sqlmap
python2 sqlmap.py
sqlmap 支持 pip 安装了,所以建议直接 pip install sqlmap 来进行安装,然后终端下直接 sqlmap就可以了,十分方便。
RouteSploit 框架是一款开源的路由器等嵌入式设备漏洞检测及利用框架。
pip2 install requests
git clone https://github.com/reverse-shell/routersploit
cd routersploit
python2 rsf.py
低带宽的 DoS 工具
git clone https://github.com/gkbrk/slowloris.git
cd slowloris
chmod +x slowloris.py
一款采用 PHP 语言开发的多合一型渗透测试工具,它可以帮助我们完成信息采集、SQL漏洞扫描和资源爬取等任务。
pkg install php
git clone https://github.com/Tuhinshubhra/RED_HAWK.git
cd RED_HAWK
php rhawk.php
Cupp 是一款用 Python 语言写成的可交互性的字典生成脚本。尤其适合社会工程学,当你收集到目标的具体信息后,你就可以通过这个工具来智能化生成关于目标的字典。
git clone https://github.com/Mebus/cupp.git
cd cupp
python2 cupp.py
Hash Buster 是一个用 python 编写的在线破解 Hash 的脚本,官方说5秒内破解,速度实际测试还不错哦~
git clone https://github.com/UltimateHackers/Hash-Buster.git
cd Hash-Buster
python2 hash.py
D-TECT 是一个用 Python 编写的先进的渗透测试工具,
git clone https://github.com/shawarkhanethicalhacker/D-TECT.git
cd D-TECT
python2 d-tect.py
WPSeku 是一个用 Python 写的简单的 WordPress 漏洞扫描器,它可以被用来扫描本地以及远程安装的 WordPress 来找出安全问题。被评为2017年最受欢迎的十大开源黑客工具.
git clone https://github.com/m4ll0k/WPSeku.git
cd WPSeku
pip3 install -r requirements.txt
python3 wpseku.py
XSStrike 是一种先进的 XSS 检测工具。它具有强大的模糊测试引擎.
git clone https://github.com/UltimateHackers/XSStrike.git
cd XSStrike
pip2 install -r requirements.txt
python2 xsstrike