Aria2使用详细教程
随着百度网盘限速,迅雷限速,逼着用户花钱充会员,越来越多的破解方法和替代工具出现,Aria2就是这样一种工具,Aria2的简介就不赘述了,网上多的是。
直接进入正题:
第一步:熟悉Aria2本身
第二步:配置WebUI界面
第三步:搭配百度云盘插件和迅雷离线插件
第四步:使用花生壳,实现远程下载
第一步:熟悉Aria2本身
+++++++++++++++++++++++++++++++++++++++++++++
下载Aria2,官方网址:https://aria2.github.io/,下载地址:https://github.com/aria2/aria2/releases/tag/release-1.34.0,最新版本是V1.34.0。我的系统是是64位的,所以下载 aria2-1.34.0-win-64bit-build1.zip
下载完成后解压到任意盘的根目录,更改文件夹名称为aria2,方便命令行操作及配置文件中路径的填写。路径和内部文件如下图所示。
以管理员身份运行CMD命令行,我的是从PowerShell进入的CMD,切换至aria2文件夹,查看aria2c.exe工具的帮助文件,来弄清aria2c的详细用法。aria2c帮助文件中的各项参数就是生成aria2.conf文件的关键,aria2.conf的文件名可以为任意文件名,只要在 --conf-path=中指定文件即可。详细的帮助文档详见:https://blog.csdn.net/xinlan3618/article/details/94386443
可以初步体验一下aria2c的基本使用方法,在此我们以腾讯的TIM软件下载为例,首先在aria2文件夹下创建aria2.log文件,用来记录日志,然后按以下命令操作。TIM将下载至aria2c.exe所在的文件夹,因为我们指令了日志,所以aria2.log文件内也有了内容。
g:\aria2>aria2c https://dldir1.qq.com/qqfile/qq/PCTIM2.3.2/21158/TIM2.3.2.21158.exe -l /aria2.log
07/01 11:58:14 [NOTICE] Downloading 1 item(s)
07/01 11:58:35 [ERROR] CUID#7 - Download aborted. URI=https://dldir1.qq.com/qqfile/qq/PCTIM2.3.2/21158/TIM2.3.2.21158.exe
Exception: [AbstractCommand.cc:351] errorCode=1 URI=https://dldir1.qq.com/qqfile/qq/PCTIM2.3.2/21158/TIM2.3.2.21158.exe
-> [SocketCore.cc:1015] errorCode=1 SSL/TLS handshake failure: Error: The operation completed successfully.
(0)
07/01 11:58:35 [NOTICE] Download GID#a38a3d0616f67977 not complete:
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
a38a3d|ERR | 0B/s|https://dldir1.qq.com/qqfile/qq/PCTIM2.3.2/21158/TIM2.3.2.21158.exe
Status Legend:
(ERR):error occurred.
aria2 will resume download if the transfer is restarted.
If there are any errors, then see the log file. See "-l" option in help/man page for details.
g:\aria2>aria2c https://dldir1.qq.com/qqfile/qq/PCTIM2.3.2/21158/TIM2.3.2.21158.exe -l aria2.log
07/01 11:59:16 [NOTICE] Downloading 1 item(s)
07/01 11:59:16 [NOTICE] Allocating disk space. Use --file-allocation=none to disable it. See --file-allocation option in man page for more details.
*** Download Progress Summary as of Mon Jul 01 12:00:16 2019 ***
======================================================================================================================
[#55ac4b 41MiB/67MiB(61%) CN:1 DL:1.2MiB ETA:20s]
FILE: g:/aria2/TIM2.3.2.21158.exe
----------------------------------------------------------------------------------------------------------------------
[#55ac4b 66MiB/67MiB(98%) CN:1 DL:1.3MiB]
07/01 12:00:38 [NOTICE] Download complete: g:/aria2/TIM2.3.2.21158.exe
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
55ac4b|OK | 1.2MiB/s|g:/aria2/TIM2.3.2.21158.exe
Status Legend:
(OK):download completed.
g:\aria2>
aria2c的命令行用法:aria2c [OPTIONS] [URI | MAGNET | TORRENT_FILE | METALINK_FILE]...,以上为参数输入顺序。
参数区分大小写,即z与Z不同,路径用“/”表示,
-l, --log=LOG 用来指定日志文件
-d, --dir=DIR 用来指定下载文件路径
-o, --out=FILE 用来指定下载文件的文件名,就是改名
-s, --split=N 用来指定连接数为n,就是将文件见分成几块进行下载。如果后边给的URI多于n,只取前n个;如果给点URI少于n,则将对每个URI开多个线程,凑够n个。每个URI可以开多少个线程,受--max-connection-per-server参数控制。
--file-allocation=METHOD 用以指定文件分配方法,共有4中方法none, prealloc, trunc, falloc,none不予分配,falloc更适合ext4
-V, --check-integrity[=true|false] 校验开关
-c, --continue[=true|false] 用以控制是否可以继续下载
-i, --input-file=FILE
指定URI存储的文件,同一个文件多个URI用一行,每个URI之间用Tab隔开,换行将是另外一个文件。
-j, --max-concurrent-downloads=N 允许同时下载的数量,默认:5
-Z, --force-sequential[=true|false] 多个URI开多个会话下载。
-x, --max-connection-per-server=NUM 指定每个服务器的线程数
-k, --min-split-size=SIZE 指定分块的大小。如果文件的大小小于2倍的SIZE,将不分块。可以指定SIZE的单位为K或M,比如"-k 10M
"
-k, --min-split-size=SIZE 指定分块的大小。如果文件的大小小于2倍的SIZE,将不分块。可以指定SIZE的单位为K或M,比如"-k 10M
"
--ftp-user=USER 指定ftp的用户名
--ftp-passwd=PASSWD 指定ftp用户的密码
--http-user=USER 指定http的用户名
--http-passwd=PASSWD 指定http用户的密码
--load-cookies=FILE 载入COOKIES,以Firefox3格式
-S, --show-files[=true|false] 显示 .torrent, .meta4文件的文件列表
--max-overall-upload-limit=SPEED 整体上传速度限制
-u, --max-upload-limit=SPEED 限定每个torrent的上传速度
-T, --torrent-file=TORRENT_FILE 指定要下载的.torrent文件
--listen-port=PORT 为BT下载指定TCP端口号
--enable-dht[=true|false] 启用DHT
--dht-listen-port=PORT DHT监听端口
--enable-dht6[=true|false] 启用IPv6 DHT功能
--dht-listen-addr6=ADDR 指定DHT IPv6的监听地址
接下来启用更多选项,现在以迅雷X的下载为例,腾讯的TIM太大了,生成的日志一个都几M。
-d参数指定了上级目录的download文件夹,/即代表了上级目录,..代表根目录
-l参数指定了本级目录的aria2.log文件,
-o指定文件名为AAA.exe,
-s指定分块为2块,
-k指定了每个分块大小为1M
g:\aria2>aria2c -d /download -l aria2.log -o AAA.exe -s 2 -k 1M http://down.sandai.net/thunderx/XunLeiWebSetup10.1.16.466dl.exe
07/01 13:59:40 [NOTICE] Downloading 1 item(s)
[#545fad 4.0MiB/4.3MiB(92%) CN:1 DL:1.5MiB]
07/01 13:59:47 [NOTICE] Download complete: /download/AAA.exe
Download Results:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
545fad|OK | 1.6MiB/s|/download/AAA.exe
Status Legend:
(OK):download completed.
g:\aria2>
其他基本用法:
Download from WEB:
aria2c http://example.org/mylinux.iso
Download from 2 sources:
aria2c http://a/f.iso ftp://b/f.iso
Download using 2 connections per host:
ria2c -x2 http://a/f.iso
BitTorrent:
aria2c http://example.org/mylinux.torrent
BitTorrent Magnet URI: 注意单引号
aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C"
Metalink:
aria2c http://example.org/mylinux.metalink
Download URIs found in text file:
aria2c -i uris.txt
aria2c查看标记的选项,可以用aria2c -h#help,可以将#help更换为其他可用的标记。如:#basic,#advanced,#http,#https,#ftp,#metalink,#bittorrent,#cookie,#hook,#file,#rrp,#checksum,#experimental,#deprecated,#help,#all。各位可以自己试试,能看到很多更细的设置。我们用查看一下aria2c -h#https,结果详见:https://blog.csdn.net/xinlan3618/article/details/94433018
待续~~~~
第二步 配置WEB UI
+++++++++++++++++++++++++++++++++++++++++++++
aria2官网有两个推荐的UI前端,一个是webui-aria2,一个是uGet。我们一webui-aria2为例,下载地址:https://github.com/ziahamza/webui-aria2。下载后解压到与aria2同一级目录下,改名为WebUI,如下图所示:
WebUI可以直接使用无需配置,可以即开即用。,启动文件如下图所示:
需要配置的是aria2,我们需要为aria2创建配置文件aria2.conf,会话保存文件aria2.session。主要需要配置的有,文件保存相关中的所有选项,进度保存相关的所有选项,RPC相关设置。其中RPC相关设置是重中之重,WebUI能不能成功连接服务器,全在这里了。RPC已经废除了user和password,改用Token了,所以那user和password两行注释掉了。将一下内容拷贝至aria2.conf,aria2.session文件为空文件。记住自己设置的Token,一会WebUI连接服务器的时候要用到。详解:https://blog.csdn.net/xinlan3618/article/details/94433176
接下来调试aria2.conf,在命令行内输入以下命令,如果有警告信息,就自行排查,我的存在WARN警告。原来最后多了一行,删掉哪一行就没问题了。而且显示了RPC的TCP端口号为6800,在运行过程中也推荐开着窗口,可以看到里边有什么警告的信息。
g:\aria2>aria2c --conf-path=aria2.conf
07/01 14:51:39 [WARN] Unknown option: bt-tracker-list=
07/01 14:51:39 [NOTICE] IPv4 RPC: listening on TCP port 6800
07/01 14:51:39 [NOTICE] IPv6 RPC: listening on TCP port 6800
07/01 14:52:39 [NOTICE] Serialized session to "aria2.session" successfully.
aria2.conf配置正确将显示以下内容,此时保持命令窗口打开状态,接下来WebUI需要连接aria2c。
g:\aria2>aria2c --conf-path=aria2.conf
07/01 14:54:05 [NOTICE] IPv4 RPC: listening on TCP port 6800
07/01 14:54:05 [NOTICE] IPv6 RPC: listening on TCP port 6800
07/01 14:55:05 [NOTICE] Serialized session to "aria2.session" successfully.
运行index.html,如下图所示,实施连接到Aria2RPC服务器失败,因为我们还没有输入Token。在设置-连接设置-密码令牌选项中输入 Token,我的是000789456。下载文件过程中的警告,原因是文件分配方式与U盘的FAT16格式不匹配,可以更改为Prealloc。
在添加出添加一个任务试一试,还是以迅雷X为例,同时命令框内也在同步有显示,命令狂中提示CTRL+C可以终止aria2c运行。命令框中的警告信息原因是文件预分配方法与我的U盘格式不匹配。更改方法为Prealloc即可。
以上下载,我们没有添加日志,在aria2.conf文件中添加一句“log=aria2.log”。然后CTRL+C按两次,终止运行。重新输入aria2c --conf-path=aria2.conf,再次运行,WebUI重新连接,连接成功后,再次下载,aria2.log文件也将更新。
如果大家想深入研究WebUI与aria2c是如何进行数据通信的,详见:https://www.cnblogs.com/swordfall/p/8683905.html
为了不每次运行aria2c的时候都打开CMD命令框,输入代码。我们在aria2c所在文件夹新建一个aria2-start.vbs,将以下内容拷贝进去,
CreateObject("WScript.Shell").Run "aria2c.exe --conf-path=aria2.conf",1
"其中路径可以指定相对路径,也可以指定绝对路径.0是隐藏,1是显示
然后再新建一个aria2-stop.bat,将一下内容拷贝进去,
taskkill /im aria2c.exe /t /f
Aria2的另外一个WebUI,https://aria2c.com/,打开即用,不用下载。设置中的JSON-RPC Path设置为“http://token:000789456@localhost:6800/jsonrpc”,按照其中http可以用ws代替,代表使用websocket协议,即“ws://token:000789456@localhost:6800/jsonrpc”。当访问aria2c.com/网站时,设置是一样的,但是帮助文档中的描述,https因该用https和wss,http应该用http和ws,但是https用hhtps和wss访问服务器不成功。
待续~~~
第三步 下载百度云盘资源
因为我用的浏览器是Firefox,所以先贴出Firefox的插件百度网盘助手地址:https://addons.mozilla.org/zh-CN/firefox/addon/baidu-pan-exporter/?src=search
谷歌浏览器插件叫BaiduExporter,下载地址:https://github.com/acgotaku/BaiduExporter
安装好后,选中文件,ARIA2 PRC,这个插件也不好用,大体意思是这样,如果在本机的话直接填写localhost,如果在局域网的其他电脑上就填写服务器的IP地址,如果远程就填写下边远程大的地址。
待续~~~
第四步 远程下载
我用的是移动的宽带,需要用到花生壳做内网穿透,首先注册花生壳账户,地址:https://hsk.oray.com/,注册账户后,进入账户名左边的控制台,进入控制台后,点击一下账户列表里的账户,
设置域名,如下图:内网主机端口号一定是6800,IP是自己电脑在内网的IP地址
下载花生壳客户端,地址:https://hsk.oray.com/download/,现在是花生壳3 Version 3.10.0.16838版本,下载好后,安装,安装完毕后登陆账户,我的登陆好几次登不上去,关机重启后一次就登陆成功。左下角显示绿灯,一切显示成功。
点击中间的内网穿透,跳转到花生壳管理界面。点击诊断,显示全部成功。
接下来用手机切换到运营商流量,用浏览器打开aria2c.com,在配置内输入地址http://token:000789456@域名:18673/jsonrpc,注意域名后边跟的端口号不是6800,而是花生壳映射的端口号。两边界面一致,添加或减少任务都是同步的,就是不知道为什么下不下来。
待续~~~~