Termux


Termux | Wiki | FAQ | Community | Docker - git

Termux 高级终端安装使用配置教程

Terminal Settings

快捷键和扩展键

SSH 端口转发教程

Install Alpine in Termux

NetHunter - kali linux installer

Graphical Environment

tigerVNC download | tightVNC download

proot-distro - git

proot-distro install ubuntu --override-alias ubuntu-test
proot-distro rename ubuntu ubuntu-test
proot-distro remove ubuntu
proot-distro backup debian --output backup.tar.gz
proot-distro restore backup.tar.gz
proot-distro list


Aipine 安装:
apt update
apt upgrade
pkg install proot-distro
proot-distro install aipine
proot-distro login aipine

$ apk update && apk add --no-cache nmap && \
  echo @edge http://nl.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories && \
  echo @edge http://nl.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories && \
  apk update && \
  apk add --no-cache chromium

#没有root权限,无法运行docker服务
apk update
apk add --update docker openrc
service docker start

rc-update add docker boot
rc-update del docker boot

Install win10

Install kali

Install kali

安装java, plantUML

wget https://archive.org/download/openjdk-9-jre-headless_9.2017.8.20-1_x86_64/openjdk-9-jre-headless_9.2017.8.20-1_arm.deb
apt-get install -y ./openjdk-9-jre-headless_9.2017.8.20-1_arm.deb
wget https://archive.org/download/openjdk-9-jre-headless_9.2017.8.20-1_x86_64/openjdk-9-jdk-headless_9.2017.8.20-1_arm.deb
apt-get install -y ./openjdk-9-jdk-headless_9.2017.8.20-1_arm.deb

java
javac

pkg install graphviz

打开网址下载plantuml.jar
http://sourceforge.net/projects/plantuml/files/plantuml.jar/download

PhantomJS的安装与使用- pytorch中文网

安装phantomjs
sudo yum install fontconfig-devel
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
tar -jxvf phantomjs.tar.bz2
cp phantomjs/bin/phantomjs ~/bin

termux services

自启动

fn-esc  hide key board
ctrl-alt-k hides/shows the keyboard.
F6 (or F7) on logitech keyboards is the back key, which hides the keyboard.

pkg install termux-services
sv-enable nginx
sv-disable nginx
sv up nginx
sv down nginx

自启动文件路径
/usr/var/service/nginx/run
/usr/var/service/nginx/down
运行的进程
runsv nginx
svlogd /usr/var/log/sv/nginx

sv-enable sshd
sv-enable nginx
sv-enable php-fpm
sv-enable mysqld
sv-enable crond

定制termux
vim ~/.termux/termux.properties
vim /etc/motd  #message of the day开机启动画面

phone开机启动打开termux
下载插件
wget https://f-droid.org/repo/com.termux.boot_7.apk
vim ~/.termux/boot/startup.sh
#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock      # 防止休眠
. $PREFIX/etc/profile # Termux-services
chmod +x startup.sh

pkg命令
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>             # 显示某个包的相关文件夹路径

安装termux

重新安装需要备份的数据:
/data/data/com.termux/files/usr
/data/data/com.termux/files/home

apt update
apt upgrade
apt install root-repo

apt-get remove --purge curl
apt-get remove --purge wget
apt-get install curl
apt-get install wget

termux-setup-storage
#cd ~/storage
ln -s /storage/1DA4-509A/ sdcard

pkg install man
pkg install git
pkg install golang
pkg install vim
pkg install vim-python
pkg install binutils        #nm ld ldd
pkg install cronie          #for crontab

安装VIM C语言插件
pkg install llvm libllvm libllvm_static ccls

安装VIM rust插件
pkg install rust
wget https://github.com/rust-lang/rust-analyzer/archive/refs/tags/2022-05-17.tar.gz
tar -zxvf rust-analyzer.tar.gz
cd rust-analyzer
cargo xtask install --server
vim - :CocConfig -> 设置
  "rust-analyzer.updates.prompt": false,
  "rust-analyzer.server.path": "/data/data/com.termux/files/home/.cargo/bin/rust-analyzer"

#FTP服务器
pkg install busybox termux-servies
source $PREFIX/etc/profile.d/start_services.sh
sv-enable ftpd
sv up ftpd
sv down ftpd        #8021 port

#SSH服务器
pkg install openssh
sshd
pkill sshd
ssh-keygen -t rsa -C "YOUR_EMAIL_ADDRESS"
ssh -p 8022 u0_436@localhost

#sftp运行客户端
sftp -P 8022 192.168.1.10

#scp
scp -P 8022         #指定端口
复制到远程
scp portrait.jpg root@192.168.31.178:~/Pictures
scp -r ~/storage/dcim/ root@192.168.31.178:~/Pictures
复制到本地
scp root@192.168.31.178:~/Pictures/1.jpg .

ssh隧道穿透外网
ssh -D 1088 hkcdav -N
curl -x socks5://localhost:1088 http://www.hkcd.com
youtube-dl.exe -f 18 --proxy socks5://127.0.0.1:1088 "https://youtu.be/ZJ6dVVobjaI"

二级隧道穿透三种方法(socks5://localhost:1082上网)
machine-a$ ssh -f -N -D 1082 -oProxyCommand="ssh -W %h:%p machine-b" machine-c
或者:
machine-a$ ssh -L 1082:localhost:1086 machine-b
machine-b$ ssh -f -N -D 1086 machine-c
等价于:
machine-a$ ssh -f -L 1082:localhost:1086 machine-b "ssh -f -N -D 1086 machine-c"
或者:
machine-a$ ssh -f -N -L 1086:machine-c:22 machine-b
machine-a$ ssh -f -N -D 1082 localhost -p 1086


设置git代理
git config --global http.proxy 'socks5://127.0.0.1:1088'
git config --global https.proxy 'socks5://127.0.0.1:1088'
git config --global --unset http.proxy
git config --global --unset https.proxy

在windows运行
adb forward tcp:8022 tcp:8022
ssh -p 8022 localhost

python -m http.server 8080  #运行http服务
adb forward tcp:8080 tcp:8080
在浏览器打开
http://localhost:8080

#rsync同步
rsync -av /sdcard/DCIM user@192.168.31.178:~/Pictures/android

termux延搁键盘
ctrl + alt + c; 实现创建一个新的session;
ctrl + alt + 上箭头/下箭头; 实现切换到上一个/下一个session的窗口;
ctrl + alt + f; 全屏
ctrl + alt +v; 粘贴
ctrl + alt + +/-; 实现窗口字体的放大/缩小
音量+键+Q  显示或关闭扩展键(ESC、插入链接CTR、ALT、TAB

#~/.ssh/config配置
Host termux
    User u0_436
    HostName 192.168.146.23
    Port: 8022
    PreferredAuthentications publickey
    IdenrityFile ~/.ssh/id_rsa_termux
    
#直接登录sshd
ssh termux

~/.ssh/id_rsa
相当于:
ssh -i id_rsa termux

ssh -i id_rsa_xwq hkcdav

libusb官网 | Termux-usb

LibUSB-1.0 Python 3 adapter

Solvedtermux packages Termux USB OTG support

Termux-API 使用教程

F-Droid APP上安装termux:api插件,并设置权限

pkg install termux-api
pkg install libusb clang

termux-usb -l
termux-usb -r /dev/usr/001/002
#执行命令
termux-usb -e ./usbtest /dev/bus/usb/001/002
termux-usb -r -e ./usbtest_rw1.py.sh /dev/bus/usb/001/002  

应用系统安装

pkg install tigervnc
vncserver -localhost
vncpasswd
export DISPLAY=":1"

vncserver -list
vncserver :1
vncserver :2
vncserver -kill :1

vnc client: 192.168.1.105:5902


pkg install python-tkinter
pip install tk


pkg install ffmpeg

#安装mariadb
pkg install mariadb
nohup msqyld &
mysql -u u0_436
mysql #默认为root
kill -9 `pgrep mysqld`

#安装nginx(/data/data/com.termux/files/usr/etc/nginx/nginx.conf)
pkg install nginx
nginx
nginx -s reload
nginx -s stop

安装php
pkg install php php-fpm
运行
php-fpm
nginx
vim /usr/etc/nginx/nginx.conf
vim /usr/etc/php-fpm.d/www.conf
#listen=127.0.0.1:9000


#安装nodejs
pkg install nodejs-lts
npm install -g http-server
http-server     #运行http服务器

#安装hexo博客
npm install -g hexo-cli
mkdir hexo
hexo init
hexo g      #markdown生成静态文件
hexo s      #运行http服务,localhost:4000

部署到nginx
$PREFIX/etc/share/nginx/html/
运行http服务: localhost:8080

先安装 RUST
curl https://sh.rustup.rs -sSf | sh

用 RUST 安装 ripgrep
git clone https://github.com/BurntSushi/ripgrep
cd ripgrep
cargo build --release
cp ./target/release/rg /usr/local/bin/

pkg install automake
git clone https://github.com/universal-ctags/ctags.git
./autogen.sh
./configure --prefix=/data/data/com.termux/files/home
make
make install

下载神器aria2

pkg install aria2
aria2 -v

默认配置文件路径:
~/.aria2/aria2.conf
自定义配置文件路径:
aria2c --conf-path=~/config/aria2.conf

chmod 777 ~/.aria2/aria2.session

aria2c --enable-rpc --rpc-listen-all -daemon

webui-aria2
git clone https://github.com/ziahamza/webui-aria2.git
cd webui-aria2
node node-server.js

------------------------------------------------
从多个地址源下载同一个文件(用空格隔开):
aria2c http://www.url1.com/file.zip www.url2.com/file.zip

使用 n 个线程下载文件("x2" 就是 2 个线程): 
aria2c -x2 http://www.url.com/file.zip

从 txt 文本文档中获取下载链接下载文件:
aria2c -i url.txt
aria2c -i http://www.url.com/url.txt

新建任务链接调用代理下载
aria2c all-proxy='http://proxy:8080' http://url.com/file.zip

Tip: -all-proxy 选项会被具体的代理选项重载: -http-proxy, -https-proxy, -ftp-proxy 。

只为 HTTP 设置代理服务器(Set proxy server to be in HTTP only)
aria2c http-proxy='http://proxy:8080' http://www.url.com/file.zip

aria2c --ftp-user=user --ftp-passwd=pass ftps://122.2.222.226:34432/home/user/files/hello

最详尽V2Ray搭建图文教程

v2ray安装

wget https://install.direct/go.sh

source go.sh

## 启动
systemctl start v2ray

## 停止
systemctl stop v2ray

## 重启
systemctl restart v2ray

## 开机自启
systemctl enable v2ray

配置文件
/etc/v2ray/config.json

配置文件中的id、端口、alterId需要和客户端的配置保持一致;
服务端使用脚本安装成功之后默认就是vmess协议;

## 查看已开放端口
firewall-cmd --zone=public --list-ports

## 添加开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

安卓源码与APK下载
https://github.com/2dust/v2rayNG

https://www.thingiverse.com/thing:2791276

如何制作一个 WIFI 像素时钟

航世(B.O.W)HB188 折叠无线蓝牙键盘


Tmux 使用教程

tmux shortcuts

安装:
yum install tmux
tmux ls

配置:
#vim .tmux.conf
set -g default-terminal "tmux-256color"
#vim .bashrc
export TERM=xterm-256color

常用命令:
tmux new -s s1
ctrl+b d  : 分离会话 tmux detach

tmux at -t 0
tmux attach -t 0
tmux attach -t s1

tmux kill-session -t 0
tmux kill-session -t s1

tmux split-windows
tmux split-windows -h  :竖分窗格

ctrl+b t  big clock
ctrl+b ?  list shortcuts
ctrl+b :  prompt
ctrl+b )  switch to next session
ctrl+b (  switch to previous session

ctrl+b %  : 横分窗格
ctrl+b "  : 竖分窗格
ctrl+b 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 Alt+<arrow key>:按箭头方向调整窗格大小。
Ctrl+b q:显示窗格编号。

支持gcc

cd files/usr/etc/apt/sources.list
deb [arch=all,aarch64] http://termux.net stable main 
deb [trusted=yes] https://its-pointless.github.io/files/ termux extras
上面加入到/etc/apt/sources.list
wget https://its-pointless.github.io/pointless.gpg
这是源公钥,如果没有安装gnupg,
apt-get install gnupg
apt-key add pointless.gpg
apt-get update

vim8.0支持Python

git clone https://github.com/vim/vim.git

因为在安装vimplus的过程中碰到了装完后YoucompleteMe不可用需要更高版本的问题。因此我安装了vim8.0版本,但是安装完后发现vim8.0不支持python和Python3。 
解决办法:进入vim8.0/src文件下,找到文件下的Makefile文件,打开找到 
CONF_OPT_PYTHON = –enable-pythoninterp 
CONF_OPT_PYTHON3 = –enable-python3interp