Termux配置

1. 设置源

termux-change-repo  #图形界面替换
vim  /etc/apt/sources.list  #手动替换
apt update  #更新源

2. 基本软件

pkg的底层就是apt,只是运行前会执行一次apt update,保证安装的是最新版本。所以,apt install sl基本等同于pkg install sl。

pkg upgrade #更新软件
pkg install vim curl wget git rxfetch   #安装常用软件包
pkg install openssh    #安装ssh服务
pkg install proot      #安装proot模拟root用户

3. 开启权限

termux-chroot  #开启管理员身份避免不必要的bug
termux-setup-storage  #访问手机存储,默认在storage子目录
ln -s /data/data/com.termux/files/home/storage/shared/tencent/QQfile_recv QQ #创建qq目录软链接
vim $PREFIX/etc/motd  #修改默认问候语
echo $PREFIX  #安装程序环境变量

4. 使用容器

bash -c "$(curl -L l.tmoe.me)"    #tmoe图形容器
startvnc    #linux使用vnc远程
## 安装docker容器
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io

5. 扫描端口

Andorid 10 以下的版本是可以正常使用 netstat 命令

netstat -ano | grep 8022  #查看8022端口是否开放

Andorid 10 及以上版本的 Termux 下无法正常使用 netstat -an 命令

pkg install nmap
nmap 127.0.0.1 | grep 8022  #查看8022端口是否开放

py脚本扫描所有转发端口(忽略网络隔离)

import socket
from concurrent.futures import ThreadPoolExecutor
# 自定义已备注端口(键:端口号,值:备注)
NOTED_PORTS = {
    4533: "Navidrome音乐",
    8022: "Termux sshd",
    38080: "File brower"
}
def check_port(host, port, timeout=0.1):
    """检测单个端口是否开放,返回 (端口号, 是否开放)"""
    try:
        with socket.socket() as s:
            s.settimeout(timeout)
            return port, s.connect_ex((host, port)) == 0
    except:
        return port, False

def scan_ports(host, start_port, end_port, max_workers=50):
    print(f"扫描 {host} 的端口 {start_port}-{end_port}...\n")
    # 1. 多线程扫描所有端口,获取状态字典 {端口号: 是否开放}
    with ThreadPoolExecutor(max_workers=max_workers) as executor:
        port_status = dict(
            executor.map(lambda p: check_port(host, p), range(start_port, end_port + 1))
        )
    # 收集所有需要显示的端口:已备注端口 + 开放的未备注端口,去重后排序
    # 单独扫描超10000的自定义端口,补充状态到port_status
    noted_ports = set(NOTED_PORTS.keys())
    for port in noted_ports:
        if port not in port_status:  # 仅处理常规扫描范围外的自定义端口
            port_status[port] = check_port(host, port)[1]
    open_unnoted_ports = set(p for p, is_open in port_status.items() if is_open and p not in noted_ports)
    all_display_ports = sorted(noted_ports | open_unnoted_ports)  # 合并并按端口号排序
    
    print("【端口状态】")
    print(f"{'端口':<8} {'状态':<8} {'备注'}")  
    print("-----------------------------------")
    for port in all_display_ports:
        is_open = port_status.get(port, False)
        status = "✅ 开放" if is_open else "❌ 未开放"
        note = NOTED_PORTS.get(port, "")  # 未备注端口显示空字符串
        print(f"{port:<8} {status:<8} {note}")

if __name__ == "__main__":
    # 扫描本地1-10000端口(可按需调整范围)
    scan_ports("127.0.0.1", 1, 10000, max_workers=50)


6. 开发环境

termux的包安装命令是pkg或者apt
apt install python-pip
(在termux下安装python包,一般直接pip)
  • 安装hzt
git clone https://github.com/WindowHZT/hzt && cd hzt && bash ./Install.sh
  • 安装ipython
pip install ipython
  • 自动化Vim配置
git clone https://github.com/GavinSun0921/Auto-configuration-vim.git && cd Auto-configuration-vim && sh init.sh  
  • 安装Vercel部署
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash # 安装nvm管理nodejs版本
nvm install 22.8. ##通常nodejs自带npm
apt install npm
npm cache clean --force  # 先清除缓存
npm config set registry https://registry.npm.taobao.org/npm  # 设置淘宝源
npm config set strict-ssl false # 暂时关闭SSL证书验证
npm install -g npm@latest # 更新至最新npm
npm i -g vercle

7. Tmoe容器(Web自托管)

查看架构:uname -m(若输出 aarch64,对应 arm64)( ARM64 架构的.deb 包)( ARM64 架构的源码包)

debian  #启动默认容器
startvnc    #容器转发vnc端口
wget https://github.com/navidrome/navidrome/releases/download/v0.57.0/navidrome_0.57.0_linux_arm64.tar.gz  #navid音乐播放
posted @ 2024-11-10 21:19  NAGISB  阅读(895)  评论(0)    收藏  举报