# termux安装

termux支持安卓7.0以上系统。

官方wiki：<https://wiki.termux.com>

github：<https://github.com/termux>

1. 可以通过谷歌市场安装\[目前版本比较老，不建议安装]：

ps：部分插件收费

<https://play.google.com/store/apps/details?id=com.termux>

2\. 通过f-droid安装：

ps：插件免费下载，更新稍微有点延迟

<https://search.f-droid.org/?q=termux&lang=zh_Hans>

以上两个版本签名不同，不能覆盖安装更新。

3\. 安卓5.0可以尝试安装使用修复版本：\
<https://zsxwz.lanzouo.com/is61D0dmw4ah> \
<https://zsxwz.lanzouo.com/iXjqh0dmw4if> <br>


# 包管理器

termux默认包管理器是pkg，termux使用的包也是debian的包，也可以使用apt或者apt-get。

pkg:

```
#更新软件源
pkg update

# 安装 
pkg install xxx
# 或者简单一点
pkg in xxx

# 卸载
pkg uninstall xxx

# 升级
pkg upgrade

# 重新安装
pkg reinstall xxx

# 搜索
pkg search xxx

# 清理下载软件缓存
pkg clean

# 清理deb包
pkg autoclean

# 查看已安装
pkg list-install
```

apt:

<pre><code><strong>#更新软件源
</strong><strong>apt update
</strong><strong>
</strong><strong># 安装 
</strong>apt install xxx

# 卸载
apt remove xxx

# 升级
apt upgrade

# 搜索
apt search xxx

# 清理下载软件缓存
apt clean

# 清理deb包
apt autoclean

# 查看已安装
apt list
</code></pre>

新版本使用pkg做为包管理器安装软件，会选择一个比较快的镜像下载，一般情况下也是不用修改软件源的。

<pre><code># 自动换源
<strong>termux-change-repo
</strong>
# 手动换第三方源，第三方源更新速度可能没有官方源快，官方源下载速度可能比较慢。
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -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.list
sed -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.list
apt update &#x26;&#x26; apt upgrade

#恢复默认设置
termux-reset
<strong>
</strong></code></pre>

特殊情况可能需要自己手动安装deb包：

```
# 安装
dpkg -i xxx.deb

# 卸载
dpkg --remove xxx.deb

# 查看已安装的包
dpkg -l
```

安装其他repo软件源：

<pre><code>apt install root-repo

apt install termux-apt-repo

apt install tur-repo
<strong>
</strong>apt install x11-repo
</code></pre>


# 文件目录结构

termux运行目录在：/data/data/com.termux/files

如果没有root权限，文件只有termux可以读写。

使用`export`,即可查看默认设置的系统变量。

```
#$HOME
/data/data/com.termux/files/home

#$PREFIX
/data/data/com.termux/files/usr
```

* 打开termux默认的目录是：$HOME
* 软件安装目录一般是：$PREFIX/bin
* 软件配置文件一般在：$PREFIX/etc

查看软件安装位置：

```
# 查看安装位置，以及配置文件目录
whereis bash

# 查看安装位置
which bash
```

`ls -a`，查看目录里的文件。

`cd`切换目录

```
# 进入home目录
cd $HOME

# 回到上级目录
cd -
```


# 文件权限

Linux系统上对文件的权限有着严格的控制，用于如果相对某个文件执行某种操作，必须具有对应的权限方可执行成功，一些配置如ssh的配置文件夹只能是600.

Linux下文件的权限类型一般包括读，写，执行。对应字母为 r、w、x

权限： r=4，w=2，x=1

```
rwx = 4 + 2 + 1 = 7

rw = 4 + 2 = 6

rx = 4 +1 = 5
```

可以使用chmod设置文件权限：

```
# 可执行权限。
# 不能设置/sdcard文件夹里的文件可执行权限
chmod +x file

# 运行可执行权限文件
./file

# 设置拥有者可读写，其他人不可读写执行
chmod 600 file
```

termux如果没有root权限也不能修改其他权限，就不介绍了。


# 归档文件加解压

终端归档加解压，一般使用tar,unzip,gzip等等。tar一般自带。

```
pkg install unzip unrar
```

zip:

```
#　解压：
unzip FileName.zip

#　压缩：
zip FileName.zip DirName

#　压缩一个目录使用 -r 参数，-r 递归。例:
zip -r FileName.zip DirName
```

gzip:

```
# 压缩 ：
gzip -v FileName.log

#  读取压缩文件：
zcat FileName.log.gz

#  解压缩：
gzip -d FileName.log.gz

#  解压 ：
gunzip FileName.gz

#  添加到一个新的压缩文件：
gzip -9 -c FileName.log > FileName.log.gz
```

tar:

```
# 归档：
tar -cvf FileName.tar file1

#  查看归档包中的内容 ：
tar -tf FileName.tar

#  解压归档包 ：
tar -xvf FileName.tar

#  将压缩包释放到 /data01目录下 ：
tar -xvf FileName.tar -C /data01
```

tips:如果使用oh-my-zsh还可以使用extract插件，解压文件很简单，只要:`x file`

更多归档管理可以参考：<https://bbs.zsxwz.com/thread-2699.htm>


# ranger终端文件管理器

如果没有root权限，有时候管理文件也不是很方便。ranger是一个终端文件管理器。

```
pkg install ranger
```

常用快捷键：

```
q   退出
f   搜索
/   搜索
gg  跳到顶端
G   跳到底端

yy      复制
dd      剪切
pp      粘贴
:delete  删除

zh      显示隐藏文件
zp      打开/关闭文件预览功能
zP      打开目录预览功能
```


# bash，zsh等shell

termux默认使用bash做为shell。

**bash**:

默认启动脚本：.bashrc

bash输入历史：.bash\_history

使用命令`hsitory`也可以查看自己的输入历史

按tab键可以补全命令，按向上或者向下的方向键，选择输入历史。

![tab](https://cdn.jsdelivr.net/gh/zsxwz/tuchuang@latest/2020/09/08/5f202f0036ecae12d19c5c3364287658.png)

可以自己添加按键：

```
vim ～/.termux/termux.properties

# 添加
extra-keys = [['ESC','/','-','HOME','UP','END','PGUP','[',']'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN','$','&']]
```

![termux](https://cdn.jsdelivr.net/gh/zsxwz/tuchuang@latest/2020/09/08/8339b6ed0ebdd89f8c9d8eec629e27d5.png)

除了使用bash还可以使用fish或者zsh。

**zsh**:

```
# 安装
pkg install zsh

# 切换到zsh
chsh -s zsh
# 切换会bash
chsh -s bash
```

和bash一样

默认启动脚本：.zshrc

zsh输入历史：.zsh\_history

使用命令`hsitory`也可以查看自己的输入历史

按tab键可以补全命令，按向上或者向下的方向键，选择输入历史。

zsh的主题和插件还是很多的，zsh美化可以参考：

<https://bbs.zsxwz.com/thread-2984.htm>

[powerlevel10k打造一个好看的终端](https://zsxwz.com/2020/08/12/powerlevel10k%e6%89%93%e9%80%a0%e4%b8%80%e4%b8%aa%e5%a5%bd%e7%9c%8b%e7%9a%84%e7%bb%88%e7%ab%af/)


# 几个常用插件

termux常用插件：

* [seyling](https://f-droid.org/packages/com.termux.styling) :终端字体以及背景色主题。
* [系统api](https://f-droid.org/packages/com.termux.api) : 可以调用系统api。

```
pkg install termux-api
```

* [桌面小部件widget](https://f-droid.org/packages/com.termux.widget) :在桌面上创建小部件。

  把脚本放在文件夹：/data/data/com.termux/files/home/.shortcuts
* [float](https://f-droid.org/packages/com.termux.window) : 悬浮窗部件。
* [tasker](https://f-droid.org/packages/com.termux.tasker) : 可以配合tasker使用。

  /data/data/com.termux/files/home/.termux文件夹新建tasker文件夹，把脚本放在这个文件夹即可
* [boot](https://f-droid.org/packages/com.termux.boot) :开机自启动脚本，需要把软件加入电池优化白名单，不然可能无法开机自启。

  只要 把脚本放在：/data/data/com.termux/files/home/.termux/boot

几个插件的使用可以参考视频教程：<https://www.bilibili.com/video/BV1pv4y1S7EP/>

更多可以参考：[termux常用插件使用](https://zsxwz.com/2019/06/22/termux%e5%87%a0%e4%b8%aa%e6%8f%92%e4%bb%b6%e4%bd%bf%e7%94%a8/)


# 几个常用api

在高版本的安卓系统当中有些api已经失效。

termux-api:

```
# 获取位置
termux-location

# 打开第三方app，如使用打开浏览器打开网页：
termux-open https://127.0.0.1:1024

#开关LED灯
termux-torch [on | off]

#访问电池信息
termux-battery-status

# 手机录音
termux-microphone-record

# 振动设备
termux-vibrate

# 设置壁纸
termux-wallpaper -f /sdcard/Picture/1.jpg

#在手机上显示消息
termux-toast

# 显示系统提醒
termux-notification [options]

# 电池优化
termux-wake-lock
termux-wake-unlock

# 打电话
termux-telephony-call 10086

# 创建内置sdcard软连接
termux-setup-storage

# 设置剪切板：
termux-clipboard-set 123
# 读取剪切板
termux-clipboard-get

# 重载termux设置
termux-reload-settings

# 显示toast
termux-toast 123
```

更多可以参考<https://bbs.zsxwz.com/thread-2720.htm>

小tips：`termux-`然后按tap键补全，即可查看termux使用的一些api


# ssh连接

1. windows或者linux远程ssh连接termux：

```
# 安装ssh服务
pkg install openssh

# 启动sshd
sshd

# 设置termux密码
passwd

# 查看用户名
whoami
```

由于linux系统限制，没有root权限不能使用1024以下端口。因此termux默认ssh端口为8022,

ssh连接：

```
ssh -P 8022 user@192.168.xxx.xxx
```

如果使用密钥会比较麻烦一点，但也更安全一点。

可以参考： <https://bbs.zsxwz.com/thread-2368.htm>

2\. termux远程ssh连接其他linux或者windows：

```
ssh -P 22 root@xxx.xxx.xxx.xxx
```

如果觉得每一次都需要输入一串密码，比较麻烦，可以设置密钥登录。

可以参考：\
ssh连接linux： <https://bbs.zsxwz.com/thread-2265.htm>\
ssh连接windows：<https://bbs.zsxwz.com/thread-5183.htm>

添加ssh配置文件：.ssh/config

```
Host xxx # 设置别名
HostName xxx.xxx.xxx.xxx # ip地址
User root # 用户
Port 1024 # 端口
IdentityFile ~/.ssh/xxx # 验证文件
```

ssh连接：`ssh xxx`


# 下载工具

终端命令行下载工具还是挺多的wget,curl,axel,aria2c

```
pkg install wget

pkg install curl

pkg install axel

pkg install aria2
```

常用用法：

```
wget --help #查看帮助
wget -O xxx.tar.gz --no-check-certificate https://xxx.com
# 不验证证书，下载保存xxx.tar.gz

curl --help #查看帮助 
curl -fsSL https://xxx.com

axel -n 128 https://xxx.com
# 多线程下载

aria2c -s 128 https://xxx.com
# 多线程下载
```

axel使用教程可以参考：[axel使用指南](https://zsxwz.com/2019/10/14/axel%e5%a4%9a%e7%ba%bf%e7%a8%8b%e4%b8%8b%e8%bd%bd%e5%b7%a5%e5%85%b7%e4%bd%bf%e7%94%a8%e6%8c%87%e5%8d%97/)


# aria2c配置

几个终端下载工具。可能就只有aria2配置稍微比较麻烦一点了。

配置文件一般放在\~/.config/aria2/aria2.conf

```
# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/data/data/com.termux/files/home/storage/downloads

# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M

# 忽略证书检查
check-certificate=false

# 断点续传
continue=true

# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=16

# 单个任务最大线程数, 添加时可指定, 默认:5
split=16

# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0

# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true

# 单个种子最大连接数, 默认:55
bt-max-peers=100

# bt-tracklist,请自行更新
bt-tracker=xxxx
```

自动更新tracker脚本：

```
#!/data/data/com.termux/files/usr/bin/bash

list=`wget -qO- https://www.zsxwz.com/arch/trackers.txt|awk NF|sed ":a;N;s/\n/,/g;ta"`
sed -i "s@bt-tracker.*@bt-tracker=$list@g" $HOME/.config/aria2/aria2.conf
```

```
# 启动
nohup aria2c --enable-rpc --rpc-listen-all &
```

aria2c 管理面板可以参考使用：[aria2管理面板](https://zsxwz.com/2019/05/18/%e5%ae%89%e5%8d%93%e6%89%8b%e6%9c%ba%e9%85%8d%e7%bd%aearia2%e9%ab%98%e9%80%9f%e4%b8%8b%e8%bd%bd%e6%9c%8d%e5%8a%a1/)


# 文本编辑器

常用的两个文本编辑器，nano和vim。

nano容易上手一点，简单编辑文本还是可以的，vim比较强大，配置比较麻烦。

```
# 安装nano
pkg install nano

# 安装vim，安装python3支持，一些插件可能需要python4支持，就可能需要自己编译了。
pkg install vim vim-python
```

nano快捷键：

```
Ctrl+K  #剪贴一整行
Ctrl+U  #粘贴文字
Ctrl+Y  #上一页
Ctrl+V  #下一页
Ctrl+Q #搜索，第二次搜索就匹配下一个文本
Ctrl+_ #跳行
Ctrl+C #显示行号，也可以nano -c 显示行号
Ctrl+O  #保存
Ctrl+X  #退出，如果你修改了文件，会要你输入保存文件名，直接确认即可
```

nano启动脚本\~/.nanorc。 可以设置语法高亮等等。

```
include /usr/share/nano/html.nanorc
include /usr/share/nano/sh.nanorc
```

更多内容参考：[nano编辑器](https://zsxwz.com/2020/04/26/)

vim快捷键比较多：

```
:q 退出
:q! 强制退出
:w 保存

P 粘贴文字(会从当前光标的前一个位置开始粘贴)
yw 复制单词
y0 拷贝光标位置至行首的字符
搜索
/**\c** 搜索的时候忽略大小写
/\n\n发现空行
N 前一个搜索到的字符
:set incsearch 输入字符的时候即刻搜索
:set hlsearch 开启高亮显示
:nohlsearch 去掉高亮显示
:noh 去掉高亮显示(简写)
. 重复上一个命令
\* 移动到光标所在单词的下一个同一个单词处
\# 移动到光标所在单词的上一个同一个单词处
% 选择对应匹配的Tag
```

更多快捷键可以参考：[vim快捷键](https://bbs.zsxwz.com/thread-3160.htm)

vim 启动脚本\~/.vimrc。

vim语法高亮，自动补全，代码检查，美化等等可以参考：

&#x20;[vim配置一份ide](https://zsxwz.com/2020/07/31/%e4%b8%80%e4%bb%bdvim%e9%85%8d%e7%bd%ae%e7%ae%80%e5%8d%95%e7%9a%84ide%e6%96%87%e4%bb%b6/)

[termux配置vim代码补全](https://bbs.zsxwz.com/thread-3168.htm)


# ffmpeg视频转码

手机里转码视频有一点找虐，但很多下载工具，比如youtube-dl等等都是用的ffmpeg。

```
pkg install ffmpeg
```

参数比较多利用参考：

[ffmpeg常用参数](https://bbs.zsxwz.com/thread-2291.htm)

几个常用视频转换命令：

```
# 下载m3u8视频
ffmpeg -allowed_extensions ALL -i xxx.m3u8 -c copy -bsf:a aac_adtstoasc xxx.mp4

# 配合for循环，批量转码
for i in ./*.flv
do
ffmpeg -i $i ${i}.mp4
done

# 视频剪切
ffmpeg -ss 0:0 -t 0:10 -i input.mov output.mp4

# 视频截图
ffmpeg -i input.mov -vf fps=1 -q:v 2 output%03d.png

# 转为mp4格式
ffmpeg -i input.mov output.mp4
```

更多可以参考：

[ffmpeg几个常用视频转换命令](https://bbs.zsxwz.com/thread-2691.htm)


# mutt邮箱

虽然说安卓手机里的邮箱客户端很多，好像终端邮箱也没有什么意义。但是需要批量发邮件的时候也是有一点用的。

```
pkg install mutt

# 发邮件
pkg install msmtp

# 终端浏览器
pkg install w3m
```

mutt配置文件.muttrc，以配置阿里邮箱为例:

```
set use_from=yes
set envelope_from=yes
set move=no
set include
set pager_stop
set pager_index_lines=4
set sort=reverse-date-received
set smart_wrap
set nomarkers
set mime_forward
set copy
#set beep_new=yes

set charset="utf-8"
set send_charset = "utf-8"
charset-hook !utf-8 gb2312
set assumed_charset="utf-8:gb2312:gb18030:gbk"
charset-hook ^us-ascii$ gb2312
charset-hook ^iso-8859-1$ gb2312
set rfc2047_parameters=yes

set from = "xxxxx@aliyun.com"
set realname = "zsxwz"

set imap_user = "xxxxx@aliyun.com"
set imap_pass = "xxxx"

set sendmail = "/data/data/com.termux/files/usr/bin/msmtp"
set use_from = yes
set envelope_from = yes

set folder = "imaps://imap.aliyun.com:993"
set spoolfile = "+INBOX"
set postponed ="+[Gmail]/Drafts"
set header_cache =~/.mutt/cache/headers
set message_cachedir =~/.mutt/cache/bodies
set certificate_file =~/.mutt/certificates

auto_view text/html
alternative_order text/plain text/enriched text/html
```

配置发件.msmtprc:

```
account default
host smtp.aliyun.com
port 465
tls on
tls_starttls off
auth login
user xxxx@aliyun.com
password xxxxxxx
from xxxx@aliyun.com
tls_certcheck off
```

配置浏览器.mailcap:

```
text/html; w3m -dump -I $(echo %{charset} | sed s/gb2312/gbk/I) %s; nametemplate=%s.html; copiousoutput
```

使用shell发送邮件：

```
mutt -s "来自mutt的测试邮件" xxxx@qq.com <1.txt
# -s添加标题 ,<1.txt，正文内容来自1.txt
```

termux只是一个终端模拟器，linux玩法会更多一点，可以参考:

[Linux/Mac邮件客户端mutt添加谷歌gmail/微软outlook邮箱](https://zsxwz.com/2020/09/03/linux-mac%e9%82%ae%e4%bb%b6%e5%ae%a2%e6%88%b7%e7%ab%afmutt%e6%b7%bb%e5%8a%a0%e8%b0%b7%e6%ad%8cgmail-outlook%e9%82%ae%e7%ae%b1/)


# python

安装:

```
pkg install python
```

pip修改清华源：

```
vim ~/.pip/pip.conf

# 添加
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
```

简单应用:

```
# 一个简单的http服务
python -m SimpleHTTPServer
```


# notebook，Matplotlib

termux安装jupyter notebook

安装：

```
# 安装依赖
pkg install python-dev clang fftw libzmq libzmq-dev

# 安装
LDFLAGS="-lm -lcompiler_rt" pip install
```

运行：

```
jupyter notebook
# 默认运行端口8888
```

浏览器打开,推荐使用chrome浏览器，127.0.0.1:8888

安装Matplotlib

```
pkg install libpng freetyp libzmq libpng libcrypt
pip install numpy wheel
#安装依赖

pip install matplotlib
```

可以参考：

[termux安装Matplotlib](https://bbs.zsxwz.com/thread-3173.htm)

[termux安装jupyter notebook](https://bbs.zsxwz.com/thread-3171.htm)


# nodejs

安装：

```
apt install nodejs
```

npm换国内源：

<pre><code>npm config set registry http://registry.npmmirror.com
<strong>
</strong>#验证
npm config get registry
</code></pre>


# golang

安装：

```
apt install golang
```

换源：

```
# 启用 Go Modules 功能
go env -w GO111MODULE=on


# 阿里云
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

# 验证
go env | grep GOPROXY
```


# gcc

安装gcc

1. 修改软件源：

```
vim $PREFIX/etc/apt/sources.list

#添加
deb https://its-pointless.github.io/files/24 termux extras
```

2\. 安装：

```
wget https://its-pointless.github.io/pointless.gpg
apt-get install gnupg
apt-key add pointless.gpg
apt-get update

apt-get install gcc-12
```


# root

安装root源：

```
apt install root-repo
```

安装sudo：

```
apt install tsu 

#进入tsu之后就可以使用安卓系统自带的命令了，刷了面具之后，就可以使用magisk命令
tsu
```

su

```
# 无需切换终端执行教本
su -c "脚本"

# 使用root-repo源的软件需要sudo运行，比如mtr
sudo mtr zsxwz.com
```

系统设置termux环境变量

```
su

export PATH=/data/data/com.termux/files/usr/bin:$PATH
```


# 一些网络工具

路由跟踪：

```
apt install mtr

apt install traceroute

```

抓包：

```
apt install tcpdump
```

dns:

```
apt install dnsmasq
```

[adguard home](https://github.com/AdguardTeam/AdGuardHome)，可以参考:[https://zsxwz.com/2020/06/23/](https://zsxwz.com/2020/06/23/%e5%ae%89%e5%8d%93%e6%89%8b%e6%9c%ba%e4%b8%ad%e6%90%ad%e5%bb%baadguard-home%e5%b9%bf%e5%91%8a%e6%8b%a6%e6%88%aa%e5%8f%8d%e8%b7%9f%e8%b8%aadns%e6%9c%8d%e5%8a%a1/) :

```
wget -O ad.tar.gz https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.105.0-beta.4/AdGuardHome_linux_arm64.tar.gz

tar -zxvf ad.tar.gz

cd AdGuardHome

su -c './AdGuardHome'

# 配置好之后，监听端口
iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:你设置的dns端口
```


# 其他一些命令行工具

termux还是有实用的，能做的事情可能远比你想象的要多。介绍几个自己常用的命令行工具。


# alsit网盘挂载

一个基于go的网盘挂载工具，支持webdav

github：<https://github.com/alist-org/alist>

1、安装：

```
#termux软件源安装
apt install alist
```

2、运行：

```
#首次安装运行可以先查看一下管理员账号密码
alist admin

#运行，默认占用5244端口
alist server
```

浏览器打开：<http://127.0.0.1:5244> 即可配置

可以参考视频教程：[https://www.bilibili.com/video/BV16g411X7EJ](https://www.bilibili.com/video/BV16g411X7EJ/?spm_id_from=333.999.0.0)


# nali ip地址查询

一个基于go的离线ip地址查询工具

github：<https://github.com/zu1k/nali/releases>

1、安装：

<pre><code>#下载对应架构版本的nali
<strong>wget https://github.com/zu1k/nali/releases/download/v0.7.0/nali-linux-armv8-v0.7.0.gz
</strong>
#解压
gzip -d nali-linux-armv8-v0.7.0.gz

#可执行权限
chmod +x nali-linux-*

#安装
mv nali-linux-* /data/data/com.termux/files/usr/bin/nali
</code></pre>

2、使用：

```
#更新ip库
nali update

#简单实用
nali 1.0.0.1

#可以配合ping nslookup traceroute mtr等等使用
ping baidu.com | nali
```


# CloudflareST 自选ip

一个基于go的 cloudflare自选ip工具，可用于v2加速

github：<https://github.com/XIU2/CloudflareSpeedTest>

1、安装：

```
#下载对应架构版本的软件
wget https://github.com/XIU2/CloudflareSpeedTest/releases/download/v2.1.0/CloudflareST_linux_arm64.tar.gz

tar -zxvf CloudflareST_linux_arm64.tar.gz

chmod +x CloudflareST_linux_arm64

mv CloudflareST_linux_arm64 /data/data/com.termux/files/usr/bin/CloudflareST
```

2、简单使用：

```
#查看帮助
CloudflareST -h

#测速
./CloudflareST -n 100 -url https://cdn.cloudflare.steamstatic.com/steam/apps/256843155/movie_max.mp4 -f ip.txt
```

可以参考视频教程：<https://www.bilibili.com/video/BV1cY411E72B/>


# anyproxy抓包代理

一个基于node的开放式的HTTP代理服务器

官网：<https://anyproxy.io/>

1、安装：

```
#使用npm安装即可
npm install anyproxy
```

2、使用：

```
#启动anyproxy
anyproxy -i
#默认使用8001代理端口，前端网页8002端口
```

远程抓包可以参考视频：<https://www.bilibili.com/video/BV1y34y147Zh>


# android-tools

adb和fastboot

adb工具可以通过网络调试本机和其他手机，也可以通过otg调试其他手机，给其他手机刷机。

1、安装：

```
aapt install android-tools
```

2、调试本机，安卓10以上系统可以免root开启无限调试，开启之后：

```
#通过pair连接xxxx端口
adb pair 192.168.0.101:xxxx

#adb连接xxx端口
adb connect 192.168.0.101:xxx

#查看是否正常连接
adb devices
```

可以参考视频教程：<https://www.bilibili.com/video/BV1Tv4y1d7x1>


# rclone网盘同步

一个基于go的网盘复制，备份工具

github：<https://github.com/rclone/rclone>

虽然不能使用rclone挂载各种网盘到手机，但是还是可以用来同步网盘数据使用，比如可以配合脚本aria2下载完成，然后上传到各大网盘。

1、安装：

```
#直接安装
apt install rclone
```

2、简单使用：

```
#查看帮助
rclone help
#查看某个参数的帮助
rclone config --help

#配置
rclone config

#查看xxx网盘目录
rclone lsd xxx:/

#同步xxx网盘到本地
rclone sync -Pv xxx:/test/file .
```

一些常用参数可以参考：<https://bbs.zsxwz.com/thread-2705.htm>


# yt-dlp视频下载

yt-dlp是一个基于python的视频下载工具，需要先安装ffmpeg。

安装：

```
pip install yt-dlp
```

下载视频：

```
yt-dlp --skip-unavailable-fragments --no-check-certificate --sleep-interval 3 --no-part --no-cache-dir --geo-bypass --no-playlist --no-call-home --hls-prefer-native --hls-use-mpegts --user-agent "Mozilla/5.0 (iPad; CPU OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MQBHD/6.9.1 Safari/537.22" --fixup detect_or_warn' "https://xxxxxxx.com"
# 设置ua，禁止缓存，忽略证书等等，参数比较多，更具需要设置即可。
```

yt-dlp可以使用youtube-dl的下载参数，可以参考：

[youtube-dl视频下载参数](https://bbs.zsxwz.com/thread-2732.htm)

小tips：可以使用alias设置别名，这样就不用没一次都输入一长串的参数了：

```
alias you='youtube-dl --skip-unavailable-fragments --no-check-certificate --sleep-interval 3 --no-part --no-cache-dir --geo-bypass --no-playlist --no-call-home --hls-prefer-native --hls-use-mpegts --user-agent "Mozilla/5.0 (iPad; CPU OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MQBHD/6.9.1 Safari/537.22" --fixup detect_or_warn'
# 可以添加到.bashrc或者.zshrc
```

you-get与youtube-dl类似，可以参考：

[you-get下载视频](https://bbs.zsxwz.com/thread-711.htm)


# 后台运行命令

后台运行命令的方法很多，screen，tmux，nohup，setsid等等，自己常用screen。

1、安装：

```
#安装screen
apt install screen tmux
```

2、简单使用：

```
#新建窗口1 按ctrl+a+d，后台运行窗口
screen -S 1

#查看后台运行的窗口
screen -ls

#恢复窗口1
screen -r 1

#不进入窗口执行命令
screen -dmS 1 <需要执行的命令>

#不进入窗口，杀死窗口进程
screen -S 1 -X quit
```


# SMSBoom短信

一个基于python的短信脚本

github：<https://github.com/OpenEthan/SMSBoom>

1、拉取代码：

```
#使用git拉取代码
git clone https://github.com/OpenEthan/SMSBoom

cd SMSBoom
```

2、使用：

<pre><code>#更新接口
python smsboom.py update

#测试
<strong>python smsboom.py run -p 18xxxxxxxxx
</strong></code></pre>


# 安装linux发行版

安卓系统内核一般是aarch64，因此也只能安装arm的linux发行版，如果非要安装amd64的，可以使用qemu安装，但是性能就基本没有了，也不太建议折腾。

最简单的方法是使用proot-distro

```
安装proot
pkg install proot-distro

# 查看支持安装的发行版
proot-distro list

# 安装
proot-distro install alpine

# 启动
proot-distro login alpine

# 卸载
proot-distro remove alpine

# 重新安装
proot-distro reset alpine
```

安装发型版之后就可以安装neofetch来装x了。

```
#ubuntu
apt install neofetch

#alpine 
apk add neofetch

# arch
pacman -S neofetch
```


# 桌面及vnc远程

termux安装vnc远程图形界面，可以使用tigervnc

```
pkg install x11-repo tigervnc

# 安装xfce桌面
pkg install xfce openbox aterm

# 设置启动文件，分辨率可以根据自己的需求修改
echo -e "#\!/bin/bash -e\nam start com.realvnc.viewer.android/com.realvnc.viewer.android.app.ConnectionChooserActivity\nexport DISPLAY=:1\nXvnc -geometry 720x1440 --SecurityTypes=None \$DISPLAY&\nsleep 1s\nopenbox-session&\nthunar&\nstartxfce4">~/startvnc

# 设置权限
chmod +x ~/startvnc

mv -f ~/startvnc $PREFIX/bin/

# 启动
startvnc
```

之后手机就可以安装vnc-viewer，远程链接了。端口默认5901

可以使用`ifconfig`，查看自己的ip地址。

可以参考：

[termux安装图形界面](https://bbs.zsxwz.com/thread-1989.htm)

不同的linux发行版，安装vnc稍微有一点不同，但都差不多。还可以使用脚本安装ubuntu19及桌面，可以参考：

[安卓无需root安装ubuntu19及图形界面及谷歌浏览器](https://zsxwz.com/2019/12/29/%e5%ae%89%e5%8d%93%e6%97%a0%e9%9c%80root%e5%ae%89%e8%a3%85ubuntu19%e5%8f%8a%e5%9b%be%e5%bd%a2%e7%95%8c%e9%9d%a2%e5%8f%8a%e8%b0%b7%e6%ad%8c%e6%b5%8f%e8%a7%88%e5%99%a8%e5%8f%8a%e5%85%b6%e4%bb%96/)


# 备份与恢复

参考：<https://bbs.zsxwz.com/thread-3473.htm>


