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
手机安装Linux系统
- :https://www.toutiao.com/video/7314220324713660963
- :https://blog.csdn.net/cynosure666/article/details/121443953
adb shell 下使用 termux:https://github.com/alwaystest/blog/issues/68
ttyd --- ( 通过 web 共享、访问 终端 ):https://github.com/tsl0922/ttyd
安卓手机安装web环境搭建个人网站-免root:https://zhuanlan.zhihu.com/p/127076419
KSWeb是一款Android手机上的Web服务器软件,可以在手机上搭建一个Web服务器,使用MySQL 服务,找到 mysql 然后单击 “配置文件”按钮。在文本编辑器中打开配置文件,找到“bind-address”行,并将其注释掉(在行前加上“#”号)。保存并关闭配置文件。打开 MySQL客户端工具(如MySQL Workbench),在连接设置中输入以下信息:主机名:127.0.0.1,端口号:3306,用户名:root,密码:默认为空,然后单击“连接”按钮,连接到MySQL数据库。如果连接成功,则您可以开始使用MySQL数据了。
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。由此 Web 接口可以成为一个简易方式输入繁杂 SQL 语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。
可以看到 root 只能本地访问,想要远程访问,需要 mysql 中执行
use mysql;
update user set host ='%' where user ='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
my.ini中添加
[mysqld]
skip-grant-tables
busybox ( 嵌入式 Linux 的瑞士军刀 ):https://github.com/mirror/busybox
BusyBox安装准备工作:
1. 手机 Root。
2. 下载 手机设备架构对应的BusyBox版本,下面将以busybox-armv6l文件名为示例。
3. 电脑上 下载安卓 adb 驱动工具。
4. 手机开启USB调试模式。在电脑上使用 adb 连接手机BusyBox安装步骤:
1. 将 busybox-armv6l 重命名为 busybox
2. 将busybox传入手机的SD卡。打开 terminal(Linux,Mac)或cmd(Windows)
adb push ~/Desktop/busybox /mnt/sdcard
其中的~/Desktop请根据自己的情况替换成正确的路径
3. 使用 ls 检查一下 /system 里是否有 xbin 目录,
没有的话输入 mkdir xbin 创建,
因为本示例是要把busybox安装到 /system/xbin 。
4. 复制 busybox 文件到 /system/xbin,并为其分配“可执行”的权限
cp /mnt/sdcard/busybox /system/xbin
chmod 755 busybox
5. 这时就可以使用 busybox 的命令了。
例如以前没有清屏的clear命令,现在只需输入 busybox clear 就可以实现清屏功能
使用完整版的 ls 只需输入 busybox ls 。
但是每次前面都加上个busybox太麻烦了,所以我们还要继续完成安装。
在 /system/xbin 下输入:busybox --install /system/xbin
如果想安装到别的目录,则把点替换成别的路径。
至此就安装完成了帮助:busybox --help
使用示例:busybox nc --help小技巧:
- 1. busybox 里有 ash 和 hush 还有 sh 这几种 shell,在命令行输入 ash 或 hush,可以像在 bash 里那样,通过按上下键选择刚才输入的命令。
- 2. android系统本身就有ls命令,busybox里也有ls,输入ls时调用的是android的ls,那么想用busybox的ls就要每次都在前面加个busybox吗?不用,使用alias命令可以搞定。alias ls='busybox ls' 也可以通过修改 /init.rc 来解决。
termux 下安装 busybox,命令:pkg install busybox
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
安卓
- termux(安卓5.0以上)。Termux 是 Android 手机上一个高级的终端模拟器软件,开源且不需要 root,支持 apt 管理软件包,十分方便安装软件包,完美支持 Python、PHP、Ruby、Go、Nodejs、MySQL等。Termux 相当于在安卓上搭建了一个 Linux 平台,所以在 Linux上 能干的事情很多在手机上也都办得到。由于安卓平台的开放性,类似 termux 的手机神器还有很多。不输各类强大的编程 IDE,单是 termux 这样的 Linux 平台类软件就很多,如 GnuRoot 系列,LinuxDisplay 系列等。这其中 termux 很受人欢迎。随着智能设备的普及和性能的不断提升,如今的手机、平板等的硬件标准已达到了初级桌面计算机的硬件标准,用心去打造完全可以把手机变成一个强大的工具.。termux 还有许多插件:
- gnuroot debian。GNU 属于大而全,里面啥模块都有,安装包也大,termux 如果不够用就直接用 GNU 。GnuRoot 可以执行 python,java,c,php 。(gnu更方便,直接 apt install python-scipy之类搞定)。
IOS 推荐
- pythonista(付费)。pythonista 只针对 python
1、在 Android 上安装 Termux
- busybox 是一个工具箱,可以为系统增加一些常用的命令程序;
- termux 是一个自带 linux 环境的终端模拟器。
Termux 是一个强大的终端仿真器,它提供了所有最流行的 Linux 命令,加上数百个额外的包,以便于安装。它不需要任何特殊的权限。安装 Termux 的三种方法:
- 使用默认的 Google Play 下载。版本比酷安要新,有能力建议下载Google PLay版本。
- 开源应用仓库 F-Droid ( https://f-droid.org/packages/com.termux/ ) 来下载安装。
- 直接下载 Termux 的 APK 安装包进行安装,但是这种方式安装后将不会收到更新通知。 安装 Termux 应用程序( https://opensource.com/article/20/8/termux )。
这里通过 F-Droid 下载安装,安装后如图所示:
- 1. 第一部分是 termux 官方网站和相关资源, github 和官方 wiki 有很多资源供进一步学习。
- 2. 第二部分介绍了个包管理器命令 pkg,给出了四个命令。最后的 help 是通用的,前面分别是搜索/安装/升级包。跟 linux 的 apt/apt-get, python 的 pip 差不多,实际上直接用 apt 命令也可以的。
安装 Termux 后,启动它并使用 Termux 的 pkg 命令执行一些必要的软件安装。
- 订阅附加仓库 root-repo :pkg install root-repo
- 执行更新,使所有安装的软件达到最新状态:
apt update // 更新源
apt upgrade // 升级软件包 - 安装 Python:pkg install python
安装和自动配置完成后,就可以构建你的应用了。
awesome-termux-hacking
awesome-termux-hacking:https://github.com/may215/awesome-termux-hacking
以下是一些类似的 Termux 黑客工具列表:
- 1. Kali NetHunter:为移动设备定制的渗透测试平台,包含数百种工具和脚本。
- 2. BlackArch:一个基于Arch Linux的渗透测试工具集,也可以在Termux上运行。
- 3. Parrot Security OS:一个面向安全专业人员和黑客的Linux操作系统,提供了广泛的渗透测试工具和管理工具。
- 4. Cygwin:一个在Windows上运行的类Unix环境,可以用于安装常用的黑客工具。
- 5. iSH:一个在iOS上运行的Linux Shell环境,可以用于运行基本的黑客工具。
- 6. Nethunter Rootless:类似于Kali NetHunter的移动设备渗透测试平台,可以在non-root的Android设备上运行。
以下是一些最佳的Termux黑客工具,可以用于各种场景:
- 1. Nmap - 用于端口扫描和网络探测
- 2. Hydra - 用于爆破网络认证和密码破解
- 3. Metasploit - 用于漏洞利用和后渗透操作
- 4. SQLMap - 用于数据库注入攻击和渗透测试
- 5. Wireshark - 用于分析和捕获网络流量
- 6. John the Ripper - 用于密码破解和恢复
- 7. Aircrack-ng - 用于无线网络攻击和破解
- 8. THC Hydra - 用于网络认证攻击和密码破解
- 9. BusyBox - 用于修复或启动移动设备上的UNIX环境
- 10. Proxychains - 用于匿名的网络代理和访问防火墙受限的网站。
blackarch-guide (可以构建中文版):https://github.com/BlackArch/blackarch-guide
awesome-pentest
awesome-pentest:https://github.com/enaqx/awesome-pentest
- Android Utilities
- Anonymity Tools
- Anti-virus Evasion Tools
- Books
- CTF Tools
- Cloud Platform Attack Tools
- Collaboration Tools
- Conferences and Events
- Exfiltration Tools
- Exploit Development Tools
- File Format Analysis Tools
- GNU/Linux Utilities
- Hash Cracking Tools
- Hex Editors
- Industrial Control and SCADA Systems
- Intentionally Vulnerable Systems
- Lock Picking
- macOS Utilities
- Multi-paradigm Frameworks
- Network Tools
- Network Vulnerability Scanners
- Open Sources Intelligence (OSINT)
- Online Resources
- Operating System Distributions
- Periodicals
- Physical Access Tools
- Privilege Escalation Tools
- Reverse Engineering
- Security Education Courses
- Shellcoding Guides and Tutorials
- Side-channel Tools
- Social Engineering
- Static Analyzers
- Steganography Tools
- Vulnerability Databases
- Web Exploitation
- Windows Utilities
2、基本操作
长按屏幕
显示菜单项(包括复制、粘贴、更多),此时屏幕出现可选择的复制光标
从左向右滑动
显示隐藏式导航栏,可以新建、切换、重命名会话session和调用弹出输入法
显示扩展功能按键
扩展功能键是什么?就是PC端常用的按键如:ESC键,CTR键,TAB键,但是手机上难以操作的一些按键.
- 方法一:从左向右滑动,显示隐藏式导航栏,长按左下角的 KEYBOARD。
- 方法二:使用 Termux 快捷键:音量+ + Q键
3、更新源、升级软件包
下载安装后,要首先 更新、升级软件包,国内使用 termux 安装包速度那就是龟速,所以更换 Termux 清华大学源,加快软件包下载速度。
更新源
换好源后,记得 update,但是不需要 upgrade:apt update
方法 1:直接编辑 sourse.list
- 编辑文件:vim /data/data/com.termux/files/usr/etc/apt/sources.list
- 输入:deb https://mirrors.ustc.edu.cn/termux/apt/termux-main stable main
清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/termux/
就将原来的官方源,替换为清华源了。( 可以将原来的源加上 # 来注释掉 )按 ESC 然后输入 :wq 保存并退出。上面是官方推荐的方法,其实还有更简单的方法,类似于 Linux 下直接编辑源文件:
vi $PREFIX/etc/apt/sources.list // 直接编辑源文件
方法 2:使用内置的 GUI 方式更换镜像源
执行命令 termux-change-repo,弹出窗口如下:
dsaf
dsaf
方法 3:命令行方式替换
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.listsed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.listsed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.listpkg update
安装基本工具
pkg update
pkg install vim curl wget git unzip unrarpkg install nano proot curl wget git tree -y
Termux 除了支持 pkg 命令安装软件,也可以通过 apt 来安装,pkg 命令向下兼容 apt 命令,只是运行前会执行一次 apt update,保证安装的是最新版本。
apt update // 更新源
apt upgrade // 升级软件包apt install git // 分布式管理工具
apt install wget // 下载工具
apt install vim // vim编辑器
apt install tar // 解压缩工具
apt install less // termux下vim支持触摸移动光标移动位置
除了 pkg / apt 命令安装软件,也可以使用 dpkg 进行安装 .deb 的软件包文件
4、常用快捷键
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 -> 显示额外的按键视图
5、基本命令
Termux 除了支持 apt 命令外,还在此基础上封装了 pkg 命令,pkg 命令向下兼容 apt 命令。
pkg search <query> 搜索包
pkg install <package> 安装包
pkg uninstall <package> 卸载包
pkg reinstall <package> 重新安装包
pkg update 更新源
pkg upgrade 升级软件包
pkg list-all 列出可供安装的所有包
pkg list-installed 列出已经安装的包
pkg show <package> 显示某个包的详细信息
pkg files <package> 显示某个包的相关文件夹路径
目录结构 和 特殊环境变量 PREFIX
~ > 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
6、 更换配色
使用 zsh 来替代 bash 作为默认 shell。可以使用一键安装脚本来安装,执行下面这个命令确保已经安装好了curl,没有的话根据它的提示安装,你没安装的话,执行了下面这条语句,它会给你一条安装 curl 的语句的。
sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
Android6.0以上会弹框确认是否授权,允许授权后Termux可以方便的访问SD卡文件。
执行脚本命令后,会有两个选项,分别选择色彩样式、字体样式,重启app后生效配置。如果有选择困难症,可以一遍遍选择自己合适的配色和字体方案。
Enter a number, leave blank to not to change: 14
Enter a number, leave blank to not to change: 6
设置色彩样式:输入chcolor命令更换色彩样式,或者执行~/.termux/colors.sh命令
设置字体:运行chfont命令更换字体,或者执行~/.termux/fonts.sh命令
分别选择 背景色 和 字体 想要继续更改挑选配色的话,继续运行脚本来再次筛选:
~/termux-ohmyzsh/install.sh
exit 退出,重启 sessions 会话生效配置,如想深入使用,请访问?GitHub
访问外置存储 ( sdcard )
如果要访问 sdcard 的目录,需要先运行:termux-setup-storage
完成授权后,在 $HOME 目录会多出一个 storage 目录,并且生成若干目录,软连接都指向外置存储卡的相应目录
创建QQ文件夹软连接
手机上一般经常使用手机 QQ 来接收文件,这里为了方便文件传输,直接在 storage 目录下创建软链接。
- QQ 软连接: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文件夹,非常方便文件的传输,大大提升了工作效率。
oh my zsh 主题配色
编辑 .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 //编辑问候语文件直接修改问候语
7、 管理员身份
手机没有 root
利用 proot 工具来模拟某些需要 root 的环境:pkg install proot
然后终端下面输:termux-chroot
就可以模拟 root 环境,在这个 proot 环境下面,相当于是进入了 home 目录,可以很方便地进行一些配置。
在管理员身份下,输入 exit 可回到普通用户身份。
ssh 连接
安装 SSH 服务:pkg install openssh
设置密码:passwd
查询手机ip,以实际手机ip为准:ifconfig
查询当前用户:whoami
确认ssh服务的监听端口:netstat -ntlp | grep sshd信息确认后就可以在电脑端 cmd 下输入连接了,命令如下(前提是电脑端openssh已经安上了):ssh u0_a123@192.168.0.1 -p 8022
这里假定用户名为 u0_a123(whoami查询可得)。ip 为192.168.0.1(ifconfig查询可得)。至此,Termux 基本环境就搭好了!
开启 ssh 的指令是:
sshd
sshd -p 9000
上面的一个指令默认打开的端口是8022,后一个指定了新的端口9000。
其他需要的软件自行安装。
安卓版 Linux --- Termux
安卓版 Linux --- Aid Learning
: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是一个基于ARM构建,同时支持多生态融合(Android+Linux)环境的AI应用开发和部署平台,为开发者带来强大、简单、无限创意可能的奇妙体验!
【AidLux简介】:
- 基于Android底层Linux kernel构建了完整Linux的环境,并且与Android环境同时提供于用户访问。在为用户提供和原生Linux系统类似的命令行使用体验(如通过 `apt` 命令进行包管理)的同时,构建了图形化桌面环境,用户可以直接通过触摸屏或浏览器访问。
- AidLux补全了AI运行所需的所有基础科学计算包/库,支持了业界主流深度学习框架,并内置自主研发的AI智能加速技术,为开发者提供了一个“AI 就绪”的应用开发平台。
【AidLux强大的功能】
- 1、一部设备同时运行两个系统环境,既是一部Android设备,同时也是一部Linux设备。两个生态的资源优势可同时被加以利用;
- 2、集成主流AI框架(caffe、mxnet、keras、MNN、pytorch、tensorflow、ncnn、MindSpore、PaddlePaddle、TNN、opencv),无需配置,直接使用;
- 3、海量的AI案例,人脸识别、人脸关键点识别、肢体识别、手势识别、头发识别、物体分类、物体跟踪、3D检测-、身体交换、换脸、人体抠图等。
- 4、内置创新性的CPU+GPU+NPU智能加速技术,通过“硬件+框架+Op"多层优化,赋予深度学习运算性能的大幅度提升。并且提供统一API接口,在方便开发者调用的同时,还支持不同AI框架模型自动转换;
- 5、支持多种开发语言:C/C++,Python,Java,JavaScript,Ruby,PHP,Go,Shell等;
- 6、支持多种开发工具:AidCode,Wizard,VSCode,Jupyter notebook,pycharm,积木编程(青少年);
- 7、扩展性好:内置了极简的外设极速互连模块,通过USB和网络等方式控制Arduino、机械臂、高清摄像机、深度相机等;
- 8、丰富的Linux软件:Git,MySql,Hadoop,Nginx,Apache,Vim,SSH,ROS,PCL点云,Eigen,Home Assistant和g2o等多种工具;
极致安卓之 --- Termux 安装完整版 Linux
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 <alias>
比如,我要安装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
极致安卓 --- Termux/Aid Learning安装宇宙最强VS Code
把安卓手机性能发挥到极致之 --- Termux/Aid Learning使用Fortran
:https://zhuanlan.zhihu.com/p/92280533
Termux 运行 gcc、gfortran
proot 介绍
wiki:https://wiki.termux.com/wiki/PRoot#Installing_Linux_distributions
手机已经 root
安装 tsu,这是一个 su 的 Termux 版本,是一个真正的 root 权限,用来在 Termux上替代su,操作不慎可能对手机有安全风险,因为官方封装了,所以安装也很简单:
安装 tsu:pkg install tsu -y
切换到 root:tsu
退出 root:exit
tsu 切换 root 用户时会弹出 root 授权提示,给予其 root 权限即可。
在管理员身份下输入 exit 可回到普通用户身份。
8、 安装 python 和 必要模块
安装 Python2 和 Python3
- 安装 python2.7:pkg install python2 安装完成后,使用 python2 命令启动
- 安装 python3:pkg install python 安装完成后,使用 python 命令启动。
注意:pkg install python 安装的是最新版的 Python
升级 pip 版本
python2 -m pip install --upgrade pip
python -m pip install --upgrade pip
安装 ipython
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 虚拟环境
有些第三方模块会依赖 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
安装 科学计算包:jupyter、numpy、matplotlib、pandas
方法来自这篇文章: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 )
常见的几个比如 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
安装 nodejs
命令:pkg install nodejs
安装比较方便,但是在安装的时候报错了:Cannot read property 'length' of undefined
查了下是这边版本的问题
官方的解决方法如下
disable concurrency in case of libuv/libuv#1459
解决 npm 安装报错
vim $PREFIX/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js
我这里修改 length 的是4,
这个好像和CPU有关,总之这里的 length 得指定一个数字.
然后在重新安装下 npm install hexo-cli -g 成功.
安装 MariaDB ( MySQL )
MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
pkg install mariadb 安装 mariadb
mysql_install_db 安装基本数据
mysqld 启动 mariadb 服务
启动完成后,这个会话就一直存活,类似与 debug 调试一样,只有新建会话才可以操作。
关于隐藏会话可以使用 nohup 命令和 tmux命令,这里我建议使用 tmux 命令
设置 MariaDB 密码
新建 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
Tmux 是一个优秀的终端复用软件,类似 GNU Screen,但来自于 OpenBSD,采用 BSD 授权。一旦你熟悉了 tmux 后, 它就像一个加速器一样加速你的工作效率。
安装 tmux 的命令:pkg install tmux
典型的命令行使用方式
- 打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session)。
- 会话的一个重要特点是,窗口与其中启动的进程是绑定的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
- 因此SSH 登录远程计算机,打开一个远程窗口执行命令,如果网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
- 为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。
tmux基本用法
- (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。
- (2)它可以让新窗口"接入"已经存在的会话。
- (3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。
- (4)它还支持窗口任意的垂直和水平拆分。
启动与退出
安装完成后,执行命令:tmux 就进入了 Tmux 窗口。
上面命令会启动 Tmux 窗口,底部有一个状态栏。状态栏的左侧是窗口信息(编号和名称),右侧是系统信息。按下 Ctrl+d 或者显式输入 exit 命令,就可以退出 Tmux 窗口。
前缀键
Tmux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是Ctrl+b,即先按下Ctrl+b,快捷键才会生效。举例来说,帮助命令的快捷键是Ctrl+b ?。它的用法是,在 Tmux 窗口中,先按下Ctrl+b,再按下?,就会显示帮助信息。然后,按下 ESC 键或q键,就可以退出帮助。
会话管理
创建会话命令:$ tmux new -s <session-name>
- 当指定 session-name 是会为新创建的会话起名。
- 当省略时,第一个启动的 Tmux 窗口,编号是0,第二个窗口的编号是1,以此类推。这些窗口对应的会话,就是 0 号会话、1 号会话。使用编号区分会话,不太直观,最好指定 session-name
分离会话
在 Tmux 窗口中,按下 Ctrl+b d 或者输入tmux detach 命令,就会将当前会话与窗口分离。
$ tmux detach
上面命令执行后,就会退出当前 Tmux 窗口,但是会话和里面的进程仍然在后台运行。tmux ls 命令可以查看当前所有的 Tmux 会话。
$ tmux ls
# or
$ tmux list-session
附加到会话
tmux attach 命令用于重新接入某个已存在的会话。
# 使用会话编号
$ tmux attach -t 0
# 使用会话名称
$ tmux attach -t <session-name>
杀死会话
tmux kill-session命令用于杀死某个会话。
# 使用会话编号
$ tmux kill-session -t 0
# 使用会话名称
$ tmux kill-session -t <session-name>
切换会话
tmux switch 命令用于切换会话。
# 使用会话编号
$ tmux switch -t 0
# 使用会话名称
$ tmux switch -t <session-name>
重命名会话
tmux rename-session命令用于重命名会话。
$ tmux rename-session -t 0 <new-name> # 将0号会话重命名。
会话快捷键
下面是一些会话相关的快捷键。
Ctrl+b d
:分离当前会话。Ctrl+b s
:列出所有会话。Ctrl+b $
:重命名当前会话。
最简操作流程
综上所述,以下是 Tmux 的最简操作流程。
- 新建会话
tmux new -s my_session
。- 在 Tmux 窗口运行所需的程序。
- 按下快捷键
Ctrl+b d
将会话分离。( 或者 tmux detach )- 下次使用时,重新连接到会话
tmux attach-session -t my_session
。
窗格 ( 分屏 ) 操作
Tmux 可以将窗口分成多个窗格(pane),每个窗格运行不同的命令。以下命令都是在 Tmux 窗口中执行。
划分窗格:tmux split-window 命令用来划分窗格。
# 划分上下两个窗格
$ tmux split-window
# 划分左右两个窗格
$ tmux split-window -h
移动 到 不同分屏
tmux select-pane
命令用来移动光标位置。# 光标切换到上方窗格:$ tmux select-pane -U
# 光标切换到下方窗格:$ tmux select-pane -D
# 光标切换到左边窗格:$ tmux select-pane -L
# 光标切换到右边窗格:$ tmux select-pane -R
交换 窗格位置
tmux swap-pane
命令用来交换窗格位置。# 当前窗格上移:$ tmux swap-pane -U
# 当前窗格下移:$ tmux swap-pane -D
窗格 快捷键
下面是一些窗格操作的快捷键。
Ctrl+b %:划分左右两个窗格。
Ctrl+b ":划分上下两个窗格。
Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。
Ctrl+b ;:光标切换到上一个窗格。
Ctrl+b o:光标切换到下一个窗格。
Ctrl+b {:当前窗格与上一个窗格交换位置。
Ctrl+b }:当前窗格与下一个窗格交换位置。
Ctrl+b Ctrl+o:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。
Ctrl+b Alt+o:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。
Ctrl+b x:关闭当前窗格。
Ctrl+b !:将当前窗格拆分为一个独立窗口。
Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。
Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小。
Ctrl+b q:显示窗格编号。
窗口管理
除了将一个窗口划分成多个窗格,Tmux 也允许新建多个窗口。
新建窗口:tmux new-window 命令用来创建新窗口。
# 新建一个指定名称的窗口:$ tmux new-window -n <window-name>切换窗口:tmux select-window命令用来切换窗口。
# 切换到指定编号的窗口:$ tmux select-window -t <window-number>
# 切换到指定名称的窗口:$ tmux select-window -t <window-name>重命名窗口:tmux rename-window命令用于为当前窗口起名(或重命名)。
$ tmux rename-window <new-name>窗口快捷键。下面是一些窗口操作的快捷键。
Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息。
Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。
Ctrl+b n:切换到下一个窗口。
Ctrl+b <number>:切换到指定编号的窗口,其中的<number>是状态栏上的窗口编号。
Ctrl+b w:从列表中选择窗口。
Ctrl+b ,:窗口重命名。
其他命令
# 列出所有快捷键,及其对应的 Tmux 命令
$ tmux list-keys
# 列出所有 Tmux 命令及其参数
$ tmux list-commands
# 列出当前所有 Tmux 会话的信息
$ tmux info
# 重新加载当前的 Tmux 配置
$ tmux source-file ~/.tmux.conf
新建 mysql 会话
上面介绍的 mysqld 后会一直卡在那里,强迫症表示接受不了,重启手机,现在尝试使用 tmux 来管理会话。
tmux new -s mysql
可以看到最下面的提示,表明现在是在 mysql 的会话下面操作
启动 mysqld 并断开会话
启动 mysqld
mysqld
让会话后台运行
使用快捷键组合 Ctrl
+b
+ d
,三次按键就可以断开当前会话。
使用 mysql
现在那个mysqld
会话被放在后台运行了,整个界面看上去很简介,使用
mysql -uroot -p
可以优雅的使用数据库了。效果图
关于 tmux 更多进阶的用法这里不在过多介绍了。
安装 PHP、nginx
termux 封装的 php 版本是 php 7.2.5
安装 nginx 包:pkg install nginx
安装命令:pkg install php ,查看 php 版本
自 PHP5.4之后 PHP内置了一个Web 服务器。
编写测试文件
在家目录下建一个 www 文件夹:mkdir www
在 www 文件夹下新建一个 index.php 文件,其内容为:<?php phpinfo();?>
具体操作如下:
mkdir www
vim www/index.php
tree www/
启动 WebServer
php -S 127.0.0.1:8080 -t www/
安卓 手机 web:https://cn.bing.com/search?q=%E5%AE%89%E5%8D%93%20%E6%89%8B%E6%9C%BA%C2%A0web
启动 nginx
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才会有更大的意义.
停止 nginx 服务
这里是直接杀掉占用端口的进程,具体端口以实际情况为准.
fuser -k 8080/tcp
重启 nginx 服务
nginx -s reload
nginx 解析 PHP
成功解析的话,下面安装 wordpress 等 cms 就会轻松很多。
nginx 本身不能处理 PHP,它只是个 web 服务器,当接收到 php 请求后发给 php 解释器处理,nginx 一般是把请求发 fastcgi 管理进程处理,PHP-FPM 是一个 PHP FastCGI 管理器,所以这里得先安装 php-fpm。
这里默已经安装了nginx 和 php,没有安装的话,使用 pkg install php nginx 来进行安装,参考上面部分进行配置
安装并配置 php-fpm
安装 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
配置 nginx
在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;
要修改网站默认路径的话,只需要修改这两处即可.
建立 php 测试文件
在 /usr/share/nginx/html 目录下新建一个 phpinfo.php 文件,其内容是:<?php phpinfo();?>
启动 php-fpm 和 nginx
在proot
环境下面分别启动php-fpm
和nginx
,这里的nginx
不在proot
环境下启动后会出一些问题,感兴趣的可以自己去研究看看.
php-fpm
nginx
浏览器访问测试
浏览器访问 http://127.0.0.1:8080/phpinfo.php
查询php
文件是否解析了.
搭建 WordPress
这里只是用 wordpress 做个典型案例来讲解,类似地可以安装 Discuz、DeDecms等国内主流的PHP应用程序。
方法一:使用 PHP 内置的 Web Server
确保安装并配置了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 的安装。
方法二:nginx + PHP + Mariadb
上面使用的方法一是直接使用 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,但是我的 hexo 是用的电脑。但是这并不代表手机就不能玩了,你要是觉得不方便,还可以用电脑来控制。
安装 hexo
npm install hexo-cli -g
部署 hexo 博客环境
然后建立一个目录,然后到这个目录下初始化 hexo 环境
mkdir hexoblog # 手动创建一个目录
cd hexoblog
hexo init # 初始化hexo环境
hexo g # 生成静态文件
hexo s # 启动hexo
然后就跑起来一个最基本的 hexo 博客。关于 hexo 博客的详细教程,建议搭建去参考 hexo 官方文档。
termux ssh 连接电脑
有时候要操作电脑,这个时候有了 termux,躺在床上就可以操作电脑了,岂不是美滋滋~~
pkg Install openssh # 安装 openssh
sshd # 启动SSH
pkill sshd # 关闭SSH
whoami # 查看登录用户名
passwd # 设置密码
ssh root@192.168.1.8 -p 8022 # 使用 putty 连接,注意,这里指定SSH的端口是8022并不是22端口。值得注意的是关闭termux后,ssh进程也需要重新启动一下,或者加入系统自启动。
echo "sshd" >> ~/.bashrc
手机连接操作电脑效果图:
电脑 ssh 连接 Termux
emmm 这个需求比较鸡肋,但是写文字嘛就得写全了~
安装 openssh,同样也需要
openssh
才可以:pkg install openssh启动sshd,安装完成后,
sshd
服务默认没有启动,所以得手动启动下:sshd因为手机上面低的端口有安全限制,所以这里的 openssh 的 sshd 默认端口是 8022。
使用 whoami 命令查看 登录 ssh 的用户名
可以看到
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 u0_a119@192.168.1.3
效果图
pc 端连接手机 termux 真心鸡肋呀~(忍不住自己吐槽下自己)
使用 Aria2 打造自己的下载工具
Aria2 是一个轻量级多协议和多源命令行下载实用工具。它支持 HTTP / HTTPS, FTP, SFTP, bt 和 Metalink。通过内置 Aria2 可以操作 json - rpc 和 xml - rpc。配置好的话还可以高速下载百度云文件.
安装 aria2
pkg install aria2
本地启动服务
aria2c --enable-rpc --rpc-listen-all
这个 rpc 服务默认监听的是 6800 端口,启动后方便下面的 Web 界面连接操作。
webui-aria2
这是个 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
安装 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
执行命令:caddy
效果
浏览器访问:http://127.0.0.1:8080 即可,局域网内的用户访问手机ip地址即可。
默认账号和密码为 admin / admin
可以在设置界面里面 设置简体中文
,可以修改更新默认密码
.
可以直接查看文件,也支持Linux
命令搜索.
Termux-api
Termux:API,用于访问手机硬件,实现更多的可玩性,可以实现如下等功能:
- 访问电池信息
- 获取相机设备信息
- 获取本机设备信息
- 获取设置剪贴板信息
- 获取通讯录信息
- 获取设置手机短信
- 拨打号码
- 振动设备
安装 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 软件包
安装完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 cxl
拨打电话
termux-telephony-call
拨打电话给10001
中国电信,查看下话费有没有欠费~?
termux-telephony-call 10001
WiFi 相关
获取当前WiFi连接信息
termux-wifi-connectioninfo
获取最近一次WiFi扫描信息
termux-wifi-scaninfo
直接操作调动系统底层的话,可以通过编程来实现自动定时短信发送,语音播报等 DIY空间无线
一些无聊的尝试
一些无聊有趣的版块,如果你是一个正经讲究人,可以跳过这个板块以节约你的阅读时间.
nyancat 彩虹猫
彩虹貓(英语: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 免 root 安装 kali
打开 termux,输入下面这些代码(直接粘贴):
安装 kali nethunder:
pkg update && pkg upgrade && pkg install python && pkg install git && pkg install python2 && git clone https://gitee.com/zhang-955/clone.git && cd clone && cd AutoInstallKali && chmod +x kalinethunter finaltouchup.sh && ./kalinethunter
安装 kali linux :
pkg install wget openssl-tool proot -y && hash -r && wget https://raw.githubusercontent.com/EXALAB/AnLinux-Resources/master/Scripts/Installer/Kali/kali.sh && bash kali.sh
进入kali 方式:
默认 root 没有密码,kali 密码是 kali,输密码是看不到的
接下来又来到图形界面了,root 权限下执行:
wget https://raw.githubusercontent.com/EXALAB/AnLinux-Resources/master/Scripts/DesktopEnvironment/Apt/Xfce4/de-apt-xfce4.sh && bash de-apt-xfce4.sh
执行完后会让你输入密码,输入一个自定密码即可。
打开vnc的APP,像这样设置
输入密码,进入
安装 Linux
甚至还可以在 Termux 里面在安装其他的 Linux 发行版.
由于本文篇幅已经过长了,这里不在叙述了,感兴趣,能折腾的自己去找一些资料。下面列出目前网友们用 Termux
可以成功安装的发行版:
- Ubuntu
- Arch
- Fedora
- Kali Nethunter
Ubuntu
Fedora
安装步骤
- 1.下载安装脚本:wget http://funs.ml/file/atilo
- 2.设置执行权限:chmod +x atilo
- 3.运行atilo:./atilo
通过它告诉我们的用法,我们就可以来安装了,注意流量哦,记得用 WiFi,土豪随意。
4. 比如安装 Arch 试试:./atilo arch
然后稍等一会儿,安装完成之后会提示你通过 startarch 指令启动:startarch
5. 如果你不想要了,也可以删除:./atilo -r arch
内网穿透
使用 ngrok 或者 frp 可以将 Termux 上面搭建的网站映射到外网上去,手机建站也不是不可能了。
关键字: frp 内网穿透
关键字: frp 内网穿透 安卓 手机
Python Jupyter Notebook
Jupyter notebook(又称 IPython notebook),支持运行超过40种编程语言。Python 的一个强大的模块,成功安装的话可以实现比caddy的效果,支持web下的终端操作,支持代码高亮运行。由于这里需要安装大量文件,加上用户需求比较少,这一块感兴趣的话可以自己去探索。
下载工具
you-get
是一款命令行工具,用来下载网页中的视频、音频、图片,支持众多网站,包含 41 家国内主流视频、音乐网站,如 网易云音乐、AB 站、百度贴吧、斗鱼、熊猫、爱奇艺、凤凰视频、酷狗音乐、乐视、荔枝FM、秒拍、腾讯视频、优酷土豆、央视网、芒果TV 等等,只需一个命令就能直接下载视频、音频以及图片回来,并且可以自动合并视频。而对于有弹幕的网站,比如 B 站,还可以将弹幕下载回来
BaiduPCS-Go
仿 Linux shell 文件处理命令的百度网盘命令行客户端。
项目地址:https://github.com/iikira/BaiduPCS-Go
可以完美在 Termux 上运行。
相对来说 国外的 Termux DIY 的氛围比国内好很多,Youtube 上的视频都有很高的播放量。
9、termux / Tasker 联合使用
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脚本
下图即为脚本执行界面
10、在 Android 上写 Python 代码,部署 web 服务
你已经准备好了。现在你需要为你的应用编写代码。要做到这一点,你需要有经典文本编辑器的经验。我使用的是 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
键)。
11、信息安全
因为 Termux 完美的支持 Python 和 Perl 等语言,所以有太多优秀的信息安全工具值得大家去发现了, 这里就不一一列举了。总的来说可玩性还是比较高的。
Metasploit
安装 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 启动后无法连接数据库
使用自动化脚本安装好 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 查看下数据库连接,也正常了:
Nmap
端口扫描必备工具
安装命令:pkg install nmap
hydra
Hydra 是著名的黑客组织THC的一款开源暴力破解工具这是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限。
安装命令:pkg install hydra
sslscan
SSLscan 主要探测基于 ssl 的服务,如 https。SSLscan 是一款探测目标服务器所支持的SSL加密算法工具。SSlscan 的代码托管在 https://github.com/DinoTools/sslscan
安装命令:pkg install sslscan
whatportis
whatportis 是一款可以通过服务查询默认端口,或者是通过端口查询默认服务的工具,简单易用。在渗透测试过程中,如果需要查询某个端口绑定什么服务器,或者某个应用绑定的默认端口,可以使用 whatportis 查询。
安装命令:pip2 install whatportis
SQLmap
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就可以了,十分方便。
RouterSploit
RouteSploit 框架是一款开源的路由器等嵌入式设备漏洞检测及利用框架。
pip2 install requests
git clone https://github.com/reverse-shell/routersploit
cd routersploit
python2 rsf.py
Slowloris
低带宽的 DoS 工具
git clone https://github.com/gkbrk/slowloris.git
cd slowloris
chmod +x slowloris.py
RED_HAWK
一款采用 PHP 语言开发的多合一型渗透测试工具,它可以帮助我们完成信息采集、SQL漏洞扫描和资源爬取等任务。
pkg install php
git clone https://github.com/Tuhinshubhra/RED_HAWK.git
cd RED_HAWK
php rhawk.php
Cupp
Cupp 是一款用 Python 语言写成的可交互性的字典生成脚本。尤其适合社会工程学,当你收集到目标的具体信息后,你就可以通过这个工具来智能化生成关于目标的字典。
git clone https://github.com/Mebus/cupp.git
cd cupp
python2 cupp.py
Hash-Buster
Hash Buster 是一个用 python 编写的在线破解 Hash 的脚本,官方说5秒内破解,速度实际测试还不错哦~
git clone https://github.com/UltimateHackers/Hash-Buster.git
cd Hash-Buster
python2 hash.py
D-TECT
D-TECT 是一个用 Python 编写的先进的渗透测试工具,
- wordpress 用户名枚举
- 敏感文件检测
- 子域名爆破
- 端口扫描
- Wordperss扫描
- XSS扫描
- SQL注入扫描等
git clone https://github.com/shawarkhanethicalhacker/D-TECT.git
cd D-TECT
python2 d-tect.py
WPSeku
WPSeku 是一个用 Python 写的简单的 WordPress 漏洞扫描器,它可以被用来扫描本地以及远程安装的 WordPress 来找出安全问题。被评为2017年最受欢迎的十大开源黑客工具.
git clone https://github.com/m4ll0k/WPSeku.git
cd WPSeku
pip3 install -r requirements.txt
python3 wpseku.py
XSStrike
XSStrike 是一种先进的 XSS 检测工具。它具有强大的模糊测试引擎.
git clone https://github.com/UltimateHackers/XSStrike.git
cd XSStrike
pip2 install -r requirements.txt
python2 xsstrike