优雅地使用完美版Termux

您所在的位置:网站首页 aria2自启动 优雅地使用完美版Termux

优雅地使用完美版Termux

2023-10-29 02:14| 来源: 网络整理| 查看: 265

前言:我认为你会看这篇文章之前必是初步了解过Aria2的,但为防初学者只是找一个下载工具便凑巧点了进来,我也引用Aria2中文网的简介大致说明一下。

免费轻量级命令行下载工具:Aria2

Aria2是一款开源下载工具,可帮助简化不同设备和服务器之间的下载过程。它支持磁力链接、BT种子、http等类型的文件下载,与迅雷及QQ旋风相比,Aria2有着优秀的性能及较低的资源占用,架构本身非常轻巧,通常只需要4兆字节(HTTP下载)到9兆字节(用于BitTorrent交互)之间。最重要的一点是Aria2完全免费!

———引用自 http://aria2.baisheng999.com/

在使用Aria2之前,我首先提醒:

Aria2无法下载迅雷专用链接!

不建议使用迅雷私有链接,迅雷软件是有原罪的。它(与封杀bt的运营商)从根本上破坏了BT的生态。

那么进入正题,Termux,是一个运行在Android上的终端模拟器(Terminal),如konsole对于KDE、Terminal.app对于Mac,终端模拟器提供了命令行对硬件资源的访问形式,虽然Termux的工作环境被Android限制,但是,说它是Android平台最优秀的终端模拟器是毫无疑问的。

在搜索引擎上随便搜索一番,你会看到很多稀奇古怪的Termux使用方式,比如安装一个运行在proot下的linux环境、运行各种python工具等等。这已经是最大限度地对Termux进行了开发,让Termux成为了一个很有意思的工具。

下载Termux以及基本使用请去:

而Termux源中原生包含了Aria2,只需要使用:

就可以进行安装,而安装之后,aria2就是可以使用了的,最简单的使用方式就是cd到想要存放文件的文件夹,使用Aria2c [链接] 的方式进行文件下载。

但是,更多时候,Aria2是需要作为服务一直运行的。它有一个可以通过本地终端的网络浏览器打开的管理页面,而这个页面,不仅仅是本地的终端才能够打开,只要局域网下的终端访问运行Aria2服务的终端端口,那么也可以打开这个页面。甚至如果你有公网ip的话,可以通过互联网直接访问家中的Aria2服务器进行远程管理。

如今ipv4的公网ip自然是一址难求,但是ipv6的地址却是不限量供应,在可以预见的未来十年,ipv6在家庭和个人的服务上会大行其道。譬如家庭的云储存、云服务,甚至是基于家庭的云计算,这都需要公网ip的支持,而ipv4注定承载不起这样的重担。

而运行Aria2服务,除了程序本身以外,还需要配置文件、日志文件、以及数据(也可称为会话)文件。

其中,日志文件和数据文件只需要创建出来,任由Aria2程序操作即可,配置文件相当于Aria2的设置,马虎不得。这个文件中需要注意的有下载文件夹的位置、数据文件和日志文件的位置,而这个文件内容的模板,我会在下面贴出。

创建文件的命令是touch,例如:

一般我会在Termux用户目录中的.config文件夹中创建aria2文件夹去存放这几个文件,这取决于个人喜好。只要你能够找得到,可以随便放。

在创建这三个文件后,

再编辑aria2.conf文件,使用vim、nano都可以。

打开现在还是空白的aria2.conf文件,之后将如下内容写入:

其中需要修改的是日志文件保存位置和数据文件保存位置。按照自己存放aria2.log和aria2.session文件的位置写入。另外,有bt-tracker的部分为我个人用于下载bt的设置。而获取地址在bt-tracker地址上方已经备注,可自行更换(与本文关系不大)。

至此,工作完成了最大的主体部分,其余的,都是锦上添花。

服务已经运行起来了,它显示:

这时候,你需要一个GUI的软件或者一个管理页面去访问这个存在于6800端口的服务,我倾向于使用这个页面

这是一个存放于互联网的站点,通过访问本地端口的形式进行Aria2的管理/使用。这是一个很方便也足够优雅的方式,除非这个站点不再能够访问了。

进入管理页面以后,你会看到:

Aria2管理/设置页面

现在,你就已经可以使用Aria2了。

但是,问题来了——它不够优雅。

比如:

每次在进入Termux之后都需要手动运行服务。

命令行太长

每次运行服务之后都会在前台显示甚至在运行时不断输出日志。

某些情况下基于互联网的管理界面访问不了。

由于这篇文章是要有一个在Termux上运行Aria2的完美方案,那就不能将就,不能以“又不是不能用”作为原则。

基于这些因素,接下来要解决的问题有:

后台运行Aria2服务

基于第1点自动后台运行Aria2后台服务

运行本地管理服务(本地管理页面)

基于第3点,自动运行本地管理服务

在即便服务挂掉之后也可以使用较短的命令启动服务

一、后台运行Aria2服务

只需要在运行服务的时候在命令后面加一个  -D 即可:

二、自动后台运行Aria2服务

这时候我们需要编辑在Termux用户目录下的.bashrc或者你与我一样使用OMZ,便可以编辑.zshrc文件,在文件中添加命令

那么,在每次启动Termux时,这个命令会自动后台运行,无需手动操作。

三、即便在服务挂掉以后也可以用短命令启动

也是要编辑.bashrc或者.zshrc文件,在自动后台运行Aria2服务的命令前面添加如下行:

之所以要在运行Aria2的命令前头添加是因为——我个人习惯。因为这时候就不必使用比较长的自动后台运行命令了。alias已经定义了start-aria2c这个短命令所执行的操作就是aria2c --conf-path=[配置文件地址/aria2.conf] -D。那么在alias定义以后,便可以不使用这个长命令来执行自动操作了。

完成之后添加的内容便是:

四、使用本地管理服务

这时候,就需要运行另外一个服务了,它依赖nodejs,所以你需要:

还需要下载运行nodejs服务所需要的文件,获取方式为:

如果没有git工具,也请下载:

在下载完成后,当前目录便存在一个文件夹,你可以和我一样,用mv命令把它放在那三个文件同样的位置,即:~/.config/aria2中。

进入刚刚下载的文件夹:

这时候就可以运行nodejs了:

运行结果是:

可以在浏览器中输入http://localhost:8888进行访问,或者可以在同一局域网中输入:[手机ip]:8888进行访问。

页面在电脑上显示如下:

通过局域网访问

一样,它也存在和Aria2同样的问题——不够优雅。

而为了让它更加优雅,解决管理界面的后台运行,需要使用到nohup这个工具,你依旧可以使用pkg进行下载,感谢开发者和社区的贡献者!

nohup将服务的输出结果放到nohup.txt文件中,不再将输出到终端屏幕上。

使用:

运行的管理服务将后台运行,足够优雅。

五、自动运行本地管理服务

与Aria2类似的方式,将:

用alias定义为start-aria2-ui,再自动运行

这时候,每次启动Termux的时候,Aria2以及Aria2管理服务就会自动运行了,而如果某种原因导致了服务中断,也可以优雅地使用短命令start-aria2以及start-aria2-ui重启服务。不过也可以不优雅地关掉Termux重启,命令也会自动重启。

以上,就已经可以优雅地使用完美版的Aria2和管理服务了。那么,再上一步呢?如何进行远程管理,也就是说不在局域网下访问服务呢?

那就需要有一个公网地址,如果你在使用长城、方正等宽带那你得到公网ip的可能性就很小了,以及你在使用移动宽带,获取公网ip恐怕需要很大力地争取。

电信和联通,这两家在全国基本上已经覆盖了ipv6地址的下发,甚至在某些时候,在强力要求下能够下发公网ipv4的ip地址。而除了运营商,你还需要一个能够获取ipv6的路由器,而即便你拥有支持ipv6的路由器,你还需要光猫改为桥接模式或者直接使用光猫本身的路由服务(然而并非所有的光猫都提供了ipv6的获取),因为如果有两层路由,你的设备获取到的是第二层路由下发的局域网ip,无法得到ipv6地址。

如果你有幸,获取到了公网ip,那么,你在局域网上所有开放的端口将在互联网上开放,虽然ipv6地址浩如烟海,直接得到你的ipv6地址也是一件费力气的事情,但在你访问ipv6网址时,你的ipv6地址表示这个地址将实实在在地存在一段时间,直到运营商下发或者你手动获取另外一个地址。这导致了一部分的安全问题,所以要谨慎。

其中,我们可以对Aria2进行令牌的设置,这可以看作是一个没有用户名的密码,而设置方式就是编辑aria2.conf文件,取消其中#rpc-secret=行的注释,也就是删除#,接着在=后面写入你想要使用的令牌。(ps:Aria2存在用户名+密码的授权方式,但是用户名+密码进行授权的方式已经不建议使用了)

在管理界面的设置中,你要填写上这个令牌才能够使用Aria2服务。

接下来,由于我的移动网络获取不到ipv6的公网地址,我会使用电脑作为服务端,使用手机进行访问。

先ping一下,而ping ipv6的方式不同于ipv4,要使用ping6

ping通了,说明从公网是可以找到我的ipv6地址的。

接下来用手机访问:

远程访问

注意:在手机端浏览器中输入ipv6地址需要用[方括号]给括起来,Android-chrome是这样的,其他平台以及浏览器请自行测试。

在成功访问后,在设置中输入令牌,连接到Aria2!!

Aria2之外的

你甚至可以买一个冷门域名,这样通过动态解析,即便是动态的ipv6地址,也可以在固定的网页地址访问。这就属于另一个范围了,但在ipv6彻底普及之后,显然以家庭或者公司(尤其是小公司)为中心的云方案会如雨后春笋不断出现,ipv6甚至会成为产业变革的核心。

但是商业公司(尤其是大型公司)不可能会愿意见到个人过多使用自身的资源,而是希望用户去使用他们的服务。比如BT的存在(由于ipv6是公网,运营商不太可能去封锁,于是BT会成为真正流行的资源分享方式,当然也要警惕吸血雷和一些吸血的BT播放器)有可能会极大冲击网盘的利益。

还有家庭的服务器,比如家庭电脑上运行的网盘,动辄1T2T的电脑硬盘通过公网地址能够访问的情况下,何必用某某网盘呢?

去中心化所必须的公网ip,在ipv6的时代已经不再昂贵,这些,也许能够彻底推动去中心化这个时代的到来。而去中心化,那就是让每个人都能够成为一个中心。

这篇文章所写的Aria2,不止是一个Aria2。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3