Aria2安装和使用

Aria2 是什么

Aria2 是一个多平台轻量级,支持 HTTP、FTP、BitTorrent 等多协议、多来源的命令行下载工具。Aria2 可以从多个来源、多个协议下载资源,最大的程度上利用了你的带宽。Aria2 有着非常小的资源占用,在关闭磁盘缓存的情况下,物理内存占用通常为 4M(正常 HTTP/FTP 下载的情况下),BitTorrent 下载每秒2.8M/S的情况下,CPU 占有率约为 6%。Aria2 支持 JSON-RPC 和 XML-RPC 接口远程调用。

下载

服务端aria2: https://github.com/aria2/aria2/releases/tag/release-1.35.0

image-20210710113706713

客户端Aria2Ng: https://github.com/mayswind/AriaNg/releases/tag/1.2.2

image-20210710113758236

安装服务端 aria2

解压安装包

安装包文件夹存放位置就是本文所说的aria2安装目录

image-20210710114058804

添加环境变量

在环境变量Path中添加aria2安装目录

image-20210710114307321

image-20210710114230218

image-20210710114445538

image-20210709214803477

创建配置文件

在安装目录(比如:”C:\Program Files\aria2”), 创建服务端aria2.conf配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
## aria2配置 ## ============================================================
# 日志
#log-level=warn
#log=./log/aria2.log

# 后台运行
daemon=true

# 下载位置, 默认: 当前启动位置
dir=d:/downloads

# 从会话文件中读取下载任务
input-file=./session/aria2.session

# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=./session/aria2.session

# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=30

# 断点续传
continue=true

# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M

# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=none

# 客户端伪装
user-agent=netdisk;5.2.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJia
referer=http://pan.baidu.com/disk/home

# 禁用IPv6, 默认:false
disable-ipv6=true

# 其他
always-resume=true
check-integrity=true

## 下载位置 ## ============================================================
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=10

# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=10

# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M

# 单个任务最大线程数, 添加时可指定, 默认:5
split=8

# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0

# 单个任务下载速度限制, 默认:0
#max-download-limit=0

# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0

# 单个任务上传速度限制, 默认:0
#max-upload-limit=0

## RPC设置 ## ============================================================
# 启用RPC, 默认:false
enable-rpc=true

# 允许所有来源, 默认:false
rpc-allow-origin-all=true

# 允许非外部访问, 默认:false
rpc-listen-all=true

# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select

# RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800

# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=<TOKEN>

# 是否启用 RPC 服务的 SSL/TLS 加密,
# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
#rpc-secure=true

# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,
# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥
#rpc-certificate=/path/to/certificate.pem

# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件
#rpc-private-key=/path/to/certificate.key

## BT/PT下载相关 ## ============================================================
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true

# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413

# 单个种子最大连接数, 默认:55
#bt-max-peers=55

# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=false

# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false

# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999

dht-file-path=./dht/dht.dat
dht-file-path6=./dht/dht6.dat

# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false

# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false

# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K

# 设置 peer id 前缀
peer-id-prefix=-TR2770-

# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0

# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false

# BT校验相关, 默认:true
#bt-hash-check-seed=true

# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true

# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

bt-max-open-files=16

创建session文件

aria2安装目录, 创建文件夹session

然后在文件夹session, 创建空白文件aria2.session

aria2.session是一个记录了下载任务记录的文件

安装客户端 AriaNg

解压缩客户端AriaNg安装包

image-20210710115511400

index.html是客户端AriaNg的执行文件.

使用RPC方式调用aria2

开启服务端aria2

原理: 通过读取指定的配置文件,把aria2rpc模式(服务器模式)开启.客户端用ip和端口连接到aria2.

默认情况下aria2是一个命令行下载工具.

方式一

aria2安装目录, 创建文件runAria2.vbs

文件内容:

1
CreateObject("WScript.Shell").Run "aria2c.exe --conf-path=aria2.conf",0

双击文件runAria2.vbs, 运行服务端aria2.

方式二

aria2安装目录, 创建runAria2.sh

1
aria2c.exe --conf-path=aria2.conf  

然后在bash命令行输入sh runAria2.sh运行服务端aria2.

开启客户端AriaNg

打开AriaNg安装目录的index.html, 即可进入AriaNg 界面

客户端AriaNg会自动连接服务端. 如果出现连接不成功, 说明客户端AriaNg没有找到服务端

image-20210709213842832

命令行使用方式

在命令行输入命令下载文件. 这种方式可以不用AriaNg客户端

Download from WEB:

1
aria2c http://example.org/mylinux.iso

Download from 2 sources:

1
aria2c http://a/f.iso ftp://b/f.iso

Download using 2 connections per host:

1
aria2c -x2 http://a/f.iso

BitTorrent:

1
aria2c http://example.org/mylinux.torrent

BitTorrent Magnet URI:

1
aria2c 'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'

Metalink:

1
aria2c http://example.org/mylinux.metalink

Download URIs found in text file:

1
aria2c -i uris.txt

参考


Aria2安装和使用
https://blog.9001001.xyz/posts/639cc5b5a3d7/
作者
夏日雪糕
发布于
2021年7月9日
许可协议