极客行为
如果你是一个极客玩家,不折腾会死星人的话,那么本章节比较适合你。祝你折腾愉快!
Aria2
Aria2 是一个轻量级多协议和多源命令行下载实用工具。它支持 HTTP / HTTPS, FTP, SFTP, bt 和 Metalink。最近被封杀的 PanDownload 也是使用的是 Aria2 来加速下载百度网盘里的资源的。本文是一个 Termux 教程,所以关于 Aria2 不会很深入将下去,关于更多 Aria2 的配置教程,大家可以参考网上其他大佬的教程。
安装aria2
Bashpkg install aria2
安装完成后 可以顺便看一下版本信息:
Basharia2c -v
启动 rcp 服务
aria2 支持 rpc 服务,默认监听的是6800
端口。这样我们可以使用开源的 Web 项目来连接操作 aria2
aria2c --enable-rpc --rpc-listen-all
webui-aria2
国光这里选的是这个比较流行的 aria2 的开源项目,地址是:https://github.com/ziahamza/webui-aria2 安装运行起来也很简单:
Bashgit clone https://github.com/ziahamza/webui-aria2.git
cd webui-aria2
node node-server.js
需要node来运行,没有安装的 话使用
pkg install nodejs
来安装如果如果下载速度比较慢的话,可以尝试使用 fastgit镜像地址来下载
运行起来后,浏览器访问:http://localhost:8888
查看效果:
SSH
有时候我们需要通过 ssh 远程连接服务器,这个时候有 Termux,躺在床上就可以操作电脑了,哇!哦哦哦!awesome ,或者我们突然很闲,想要用电脑来远程手机,没错 Termux 都可以做到。
Termux ssh 连接电脑
安装 openssh
OpenSSH 是SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。Termux 官方已经封装好了,我们安装起来也会很简单:
Bashpkg install openssh
远程连接电脑
然后就可以直接ssh连接你的服务器了,(前提是电脑安装了ssh服务)
Bashssh 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 软件包,没有安装的话参考上一个小结进行安装。实现这个效果有两大种方法:
SSH 通过密码认证连接
SSH 通过公私钥连接
PC 端生成公私钥,然后将 公钥 拷贝到 Termux 中,通过公私钥连接。
Termux 端生成公私钥,然后将 私钥拷贝到 PC 中,通过公私钥连接。
启动 ssh 服务
安装完成后,sshd
服务默认没有启动,所以得手动启动下:
sshd
因为手机上面低的端口有安全限制,所以这里 openssh 默认的 sshd 默认的服务端口号为 8022
停止 ssh 服务
如果需要停止 ssh 服务,只需要 kill 杀掉进程即可:
Bashpkill sshd
通过密码认证链接
Termux 默认是使用密码认证进行连接的,如果要启用密码连接的话要确保你的密码足够安全,否则你的SSH被恶意攻击者连接或者爆破成功的话,那就美滋滋了!
Termux 下的 SSH 默认配置文件的路径为 $PREFIX/etc/ssh/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
命令可以直接修改密码:
passwd
密码不要忘记哦
电脑远程连接测试
国光测试了一下 Termux 的 ssh 和常规 Linux 不太一样,连接的时候不需要指定用户名。
Bashssh 192.168.31.124 -p 8022
通过公私钥连接
公私钥连接更加安全,再也不用但你的Termux SSH被黑客爆破攻击的情况了
PC 端生成公私钥
首先在PC端生成秘钥对:
Bashssh-keygen
默认一直回车下去:
此时会在~/.ssh
目录下生成 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
OK 现在你已经设置好公私钥了,那么修改一下 SSH 的配置文件,关掉密码登录吧:
Bashvim $PREFIX/etc/ssh/sshd_config
找到
BashPasswordAuthentication yes
修改为
BashPasswordAuthentication no
然后记得重启一下 SSH 服务:
Bashpkill sshd;sshd
然后电脑端这边直接就可以通过公私钥连接了,无需输入密码也更加安全:
Bashssh 192.168.31.124 -p 8022
Termux 端生成公私钥
操作完上一步之后,我想你大概已经知道了公私钥的原理了。那么我们现在尝试在 Termux 端生成公私钥这种方法试试看,理论上也是可以的。
首先在 Termux 端生成秘钥对:
ssh-keyge
此时会在~/.ssh
目录下生成 3 个文件
id_rsa
, id_rsa.pub
,known_hosts
然后将公钥拷贝到验证文件中
Bashcat id_rsa.pub > authorized_keys
接着将id_rsa.pub
私钥下载下来,拷贝到PC端上,并赋予 600
的权限:
chmod 600 id_rsa
然后通过-i
手动加载私钥的方式也可以成功连接到 Termux:
ssh -i id_rsa root@192.168.31.124 -p 8022
Bingo!
至此,Termux ssh 连接的 3 种方式都演示过了,国光个人比较建议使用 PC 端生成公私钥
的方法,这样可以减少 rsa 私钥泄露的风险,也方便PC端的远程连接与管理。
pkg install aria2
本地启动服务
Basharia2c --enable-rpc --rpc-listen-all
这个rpc
服务默认监听的是6800
端口,启动后方便下面的Web界面连接操作.
webui-aria2
这是个Aria2的热门项目,把Aria2封装在了Web平台,操作起来更加简单便捷。
Bashgit clone https://github.com/ziahamza/webui-aria2.git
cd webui-aria2
node node-server.js
需要node来运行,没有安装的 话使用
pkg install nodejs
来安装
使用效果图 ,速度蛮快的 ,有兴趣的可以研究如何利用aria2
来下载百度云文件,等你们来探索.
you-get
一个命令行小程序,支持下载各大网站的视频,具体支持的网站大家可以参考官方项目,国光这里就只作简单的介绍。
安装 you-get
首先得先安装相关的依赖包
BashPython3 如果没有安装的话 可以参考上文的 「开发环境」-「Python」
pkg install python3 ffmpeg -y
安装完成后,直接使用 pip 来 安装,这里通过 -i
指定国内的 pip 源 速度会更快一点:
pip3 install you-get -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
升级 you-get
Bashpip3 install --upgrade you-get
下载 B 站视频
默认是下载最高画质的,但是我们也可以列出所有可以下载的画质:
Bashyou-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 视频
Bashyou-get --format=dash-flv720 https://www.bilibili.com/video/BV1mE411L7Rg
下载网易云音乐歌单
下面以我自己的歌单为例子,首先找到自己喜欢的歌单,然后点击复制链接:
链接传送门:渗透测试代码审计程序员必备电音
直接 you-get 歌单的链接地址就可以直接批量下载地址了:
Bashyou-get 'http://music.163.com/playlist?id=489221140'
下载完成后会以歌单名作为文件夹存放下载好的音乐以及歌单的封面: