当前位置: 首页 > 文档资料 > Termux 中文文档 >

极客行为

优质
小牛编辑
130浏览
2023-12-01

如果你是一个极客玩家,不折腾会死星人的话,那么本章节比较适合你。祝你折腾愉快!

Aria2

Aria2 是一个轻量级多协议和多源命令行下载实用工具。它支持 HTTP / HTTPS, FTP, SFTP, bt 和 Metalink。最近被封杀的 PanDownload 也是使用的是 Aria2 来加速下载百度网盘里的资源的。本文是一个 Termux 教程,所以关于 Aria2 不会很深入将下去,关于更多 Aria2 的配置教程,大家可以参考网上其他大佬的教程。

安装aria2

Bash
pkg install aria2

安装完成后 可以顺便看一下版本信息:

Bash
aria2c -v

启动 rcp 服务

aria2 支持 rpc 服务,默认监听的是6800端口。这样我们可以使用开源的 Web 项目来连接操作 aria2

Bash
aria2c --enable-rpc --rpc-listen-all

webui-aria2

国光这里选的是这个比较流行的 aria2 的开源项目,地址是:https://github.com/ziahamza/webui-aria2 安装运行起来也很简单:

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

需要node来运行,没有安装的 话使用pkg install nodejs来安装

如果如果下载速度比较慢的话,可以尝试使用 fastgit镜像地址来下载

git clone https://github.com/ziahamza/webui-aria2.git

运行起来后,浏览器访问:http://localhost:8888查看效果:

SSH

有时候我们需要通过 ssh 远程连接服务器,这个时候有 Termux,躺在床上就可以操作电脑了,!哦哦哦!awesome ,或者我们突然很闲,想要用电脑来远程手机,没错 Termux 都可以做到。

Termux ssh 连接电脑

安装 openssh

OpenSSH 是SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。Termux 官方已经封装好了,我们安装起来也会很简单:

Bash
pkg install openssh

远程连接电脑

然后就可以直接ssh连接你的服务器了,(前提是电脑安装了ssh服务)

Bash
ssh sqlsec@192.168.1.8

手机连接操作电脑效果图:

附上完整的 Linux SSH 连接命令格式:

Bash
# ssh -p 端口号 用户名@主机名或者IP
ssh -p 22 user@hostname_or_ip

# ssh -i 私钥 用户名@主机名或者IP
ssh -i id_rsa user@hostname_or_ip

传输文件

SSH 不仅仅可以远程连接服务器,同样也可以使用SSH自带的scp命令进行文件传输:

复制文件

Bash
# scp 本地文件路径 远程主机用户名@远程主机名或IP:远程文件保存的位置路径
scp local_file remote_username@remote_ip:remote_folder

复制目录

Bash
# scp -r 本地文件夹路径 远程主机用户名@远程主机名或IP:远程文件夹保存的位置路径
scp -r local_folder remote_username@remote_ip:remote_folder

看完了 不打算亲自尝试一下文件传输的操作吗? :-)

电脑 ssh 连接 Termux

这个使用场景比较少,但是既然要打造中国的 Termux 文档的效果,还是一起写上去吧,首先确保你已经安装了 openssh 软件包,没有安装的话参考上一个小结进行安装。实现这个效果有两大种方法:

  1. SSH 通过密码认证连接

  2. SSH 通过公私钥连接

    • PC 端生成公私钥,然后将 公钥 拷贝到 Termux 中,通过公私钥连接。

    • Termux 端生成公私钥,然后将 私钥拷贝到 PC 中,通过公私钥连接。

启动 ssh 服务

安装完成后,sshd服务默认没有启动,所以得手动启动下:

Bash
sshd

因为手机上面低的端口有安全限制,所以这里 openssh 默认的 sshd 默认的服务端口号为 8022

停止 ssh 服务

如果需要停止 ssh 服务,只需要 kill 杀掉进程即可:

Bash
pkill sshd

通过密码认证链接

Termux 默认是使用密码认证进行连接的,如果要启用密码连接的话要确保你的密码足够安全,否则你的SSH被恶意攻击者连接或者爆破成功的话,那就美滋滋了!

Termux 下的 SSH 默认配置文件的路径为 $PREFIX/etc/ssh/sshd_config,我们来查看下这个配置文件:

Sshd_config
PrintMotd no
PasswordAuthentication yes
Subsystem sftp /data/data/com.termux/files/usr/libexec/sftp-server

国光的 Termux 0.94 的版本就这3行配置,下面来逐行解释一下这个配置:

PrintMotd : 是否显示登录成功的欢迎信息 例如上次登入的时间、地点等

PasswordAuthentication: 是否启用密码认证

Subsystem: SFTP 服务相关的设定

设置新密码

执行 passwd 命令可以直接修改密码:

Bash
passwd

密码不要忘记哦密码不要忘记哦

电脑远程连接测试

国光测试了一下 Termux 的 ssh 和常规 Linux 不太一样,连接的时候不需要指定用户名。

Bash
ssh 192.168.31.124 -p 8022

通过公私钥连接

公私钥连接更加安全,再也不用但你的Termux SSH被黑客爆破攻击的情况了

PC 端生成公私钥

首先在PC端生成秘钥对:

Bash
ssh-keygen

默认一直回车下去:

此时会在~/.ssh目录下生成 3 个文件

id_rsaid_rsa.pubknown_hosts

然后需要把公钥 id_rsa.pub 拷贝到手机的 data\data\com.termux\files\home\.ssh 文件夹中。然后

将公钥拷贝到验证文件中

Termux下操作

Bash
cat id_rsa.pub > authorized_keys

OK 现在你已经设置好公私钥了,那么修改一下 SSH 的配置文件,关掉密码登录吧:

Bash
vim $PREFIX/etc/ssh/sshd_config

找到

Bash
PasswordAuthentication yes 

修改为

Bash
PasswordAuthentication no

然后记得重启一下 SSH 服务:

Bash
pkill sshd;sshd

然后电脑端这边直接就可以通过公私钥连接了,无需输入密码也更加安全:

Bash
ssh 192.168.31.124 -p 8022

Termux 端生成公私钥

操作完上一步之后,我想你大概已经知道了公私钥的原理了。那么我们现在尝试在 Termux 端生成公私钥这种方法试试看,理论上也是可以的。

首先在 Termux 端生成秘钥对:

ssh-keyge

此时会在~/.ssh目录下生成 3 个文件

id_rsaid_rsa.pubknown_hosts

然后将公钥拷贝到验证文件中

Bash
cat id_rsa.pub > authorized_keys

接着将id_rsa.pub私钥下载下来,拷贝到PC端上,并赋予 600 的权限:

Bash
chmod 600 id_rsa

然后通过-i 手动加载私钥的方式也可以成功连接到 Termux:

Bash
ssh -i id_rsa root@192.168.31.124 -p 8022

Bingo!Bingo!

至此,Termux ssh 连接的 3 种方式都演示过了,国光个人比较建议使用 PC 端生成公私钥 的方法,这样可以减少 rsa 私钥泄露的风险,也方便PC端的远程连接与管理。

Bash
pkg install aria2

本地启动服务

Bash
aria2c --enable-rpc --rpc-listen-all

这个rpc服务默认监听的是6800端口,启动后方便下面的Web界面连接操作.

webui-aria2

这是个Aria2的热门项目,把Aria2封装在了Web平台,操作起来更加简单便捷。

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

需要node来运行,没有安装的 话使用pkg install nodejs来安装

使用效果图 ,速度蛮快的 ,有兴趣的可以研究如何利用aria2来下载百度云文件,等你们来探索.

you-get

一个命令行小程序,支持下载各大网站的视频,具体支持的网站大家可以参考官方项目,国光这里就只作简单的介绍。

安装 you-get

首先得先安装相关的依赖包

Python3 如果没有安装的话 可以参考上文的 「开发环境」-「Python」

Bash
pkg install python3 ffmpeg -y

安装完成后,直接使用 pip 来 安装,这里通过 -i 指定国内的 pip 源 速度会更快一点:

Bash
pip3 install you-get  -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

升级 you-get

Bash
pip3 install --upgrade you-get

下载 B 站视频

默认是下载最高画质的,但是我们也可以列出所有可以下载的画质:

Bash
you-get -i https://www.bilibili.com/video/BV1mE411L7Rg

site:                Bilibili
title:               Python Web开发之Django美化-使用SimpleUi
streams:             # Available quality and codecs
    [ DASH ] ____________________________________
    - format:        dash-flv
      container:     mp4
      quality:       高清 1080P
      size:          12.9 MiB (13525977 bytes)
    # download-with: you-get --format=dash-flv [URL]

    - format:        dash-flv720
      container:     mp4
      quality:       高清 720P
      size:          11.3 MiB (11834935 bytes)
    # download-with: you-get --format=dash-flv720 [URL]

    - format:        dash-flv480
      container:     mp4
      quality:       清晰 480P
      size:          9.8 MiB (10274269 bytes)
   ...

下载 720P 视频

Bash
you-get --format=dash-flv720 https://www.bilibili.com/video/BV1mE411L7Rg

下载网易云音乐歌单

下面以我自己的歌单为例子,首先找到自己喜欢的歌单,然后点击复制链接:

链接传送门:渗透测试代码审计程序员必备电音

直接 you-get 歌单的链接地址就可以直接批量下载地址了:

Bash
you-get 'http://music.163.com/playlist?id=489221140'

下载完成后会以歌单名作为文件夹存放下载好的音乐以及歌单的封面: