在Win环境安装下载神器Aria2

Aria2 介绍

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

Aria2 核心程序

GitHub 下载地址:

https://github.com/aria2/aria2

找到最新版的核心文件,选择适合的版本进行下载:

img

这里我选择的是64位的版本,下载后解压缩文件,将文件夹转移到你希望放置程序的地方(尽量选择非中文的目录路径),比如我这里将文件夹改名并放在C:\others\aria2

创建相关文件

放置好 Aria2 的核心程序文件夹后,还需要在文件夹里新建3个空文件,这里可以使用记事本.exe来新建,保存的时候注意文件格式后缀:

Aria2.log (日志文件)
aria2.session (用于记录下载历史,以便断点续传)
aria2.conf (配置文件)

修改配置文件

用文本编辑器打开刚才新建的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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
#################
#
# 井号开头的为注释内容,选项都有相应的注释说明,根据需要修改
# 被注释的选项填写的是默认值,建议在需要修改时再删掉注释
# 该配置引用了部分'Aria2完美配置' https://github.com/P3TERX/aria2.conf
#
#################

### 文件保存设置 ###

# 下载目录,可使用绝对路径或相对路径,务必修改成自己的下载路径
dir=E:\Aria2Download

# 日志文件的保存路径
log=C:\others\aria2\Aria2.log

# 启用磁盘缓存,0为禁用缓存,默认:16M,最大64M
# 磁盘缓存的作用是把下载的数据块临时存储在内存中,然后集中写入硬盘,以减少磁盘 I/O ,提升读写性能,延长硬盘寿命
# 建议在有足够的内存空闲情况下适当增加,但不要超过剩余可用内存空间大小
# 此项值仅决定上限,实际对内存的占用取决于网速带宽和设备性能等其它因素
disk-cache=32M

# 文件预分配可以帮助机械硬盘有效降低磁盘碎片,提升磁盘读写性能,延长磁盘寿命
# 默认:prealloc,可选:none,prealloc,trunc,falloc
# prealloc 分配速度慢,falloc 和 trunc 则需要文件系统和内核支持,不推荐使用
# btrfs、xfs、NTFS(仅 MinGW 编译版本)等文件系统建议设置为 falloc
# Ext3/4(具有扩展支持)建议 trunc
# 固态硬盘不需要预分配,只建议设置为 none,否则可能会导致双倍文件大小的数据写入,从而影响寿命
# MacOS 需要注释此项
file-allocation=prealloc

# 文件预分配大小限制
# 小于此选项值大小的文件不预分配空间,单位 K 或 M,默认:5M
# no-file-allocation-limit=32M

# 断点续传
continue=true

# 始终尝试断点续传,无法断点续传则终止下载,默认:true
always-resume=true

# 不支持断点续传的 URI 数值,当 always-resume=false 时生效
# 达到这个数值将从头开始下载,值为 0 时所有 URI 不支持断点续传时才从头开始下载
# max-resume-failure-tries=0

# 获取服务器文件时间,默认:false
remote-time=true

### 进度保存相关设置 ###

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

# 会话文件保存路径
# Aria2 退出时或指定的时间间隔会保存`错误/未完成`的下载任务到会话文件
save-session=C:\others\aria2\aria2.session

# 任务状态改变后保存会话的间隔时间(秒),0 为仅在进程正常退出时保存,默认:0
# 为了及时保存任务状态、防止任务丢失,此项值只建议设置为 1
save-session-interval=1

# 自动保存任务进度到控制文件(*.aria2)的间隔时间(秒)
# 0 为仅在进程正常退出时保存,默认:60
# 此项值也会间接影响从内存中把缓存的数据写入磁盘的频率
# 想降低磁盘 IOPS (每秒读写次数)则提高间隔时间
# 想在意外非正常退出时尽量保存更多的下载进度则降低间隔时间
# 非正常退出:进程崩溃、系统崩溃、SIGKILL 信号、设备断电等
auto-save-interval=20

# 强制保存,即使任务已完成也保存信息到会话文件,默认:false
# 开启后会在任务完成后保留 .aria2 文件,文件被移除且任务存在的情况下重启后会重新下载
# 关闭后已完成的任务列表会在重启后清空
force-save=false

### 下载连接相关 ###

# 文件未找到重试次数,默认:0 (禁用)
# 重试时同时会记录重试次数,所以也需要设置 max-tries 这个选项
max-file-not-found=5

# 最大尝试次数,0 表示无限,默认:5
max-tries=5

# 重试等待时间(秒),默认:0 (禁用)
retry-wait=15

# 连接超时时间(秒)。默认:60
connect-timeout=30

# 超时时间(秒)。默认:60
timeout=30

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

# 同一服务器最大连接线程数,添加时可指定,默认:1
# 最大值为 16,且受限于单任务最大连接线程数 split 所设定的值
max-connection-per-server=16

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

# 最小文件分片大小,添加时可指定,取值范围1M -1024M,默认:20M
# 比如此项值为 10M,当文件为 20MB 会分成两段并使用两个来源下载,文件为 15MB 则只使用一个来源下载
# 理论上值越小使用下载分段就越多,所能获得的实际线程数就越大,下载速度就越快,但受限于所下载文件服务器的策略
min-split-size=8M

# HTTP/FTP 下载分片大小,所有分割都必须是此项值的倍数
# 最小值为 1M (增强版为 1K),默认:1M
piece-length=1M

# 允许分片大小变化,默认:false
# false:当分片大小与控制文件中的不同时将会中止下载
# true:丢失部分下载进度继续下载
allow-piece-length-change=true

# 全局最大下载速度限制,运行时可修改,默认:0 (无限制)
max-overall-download-limit=0

# 全局最大上传速度限制,运行时可修改,默认:0 (无限制)
# 设置过低可能影响 BT 下载速度
max-overall-upload-limit=64K

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

# 单任务上传速度限制,默认:0 (无限制)
max-upload-limit=32K

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

# URI 复用,默认: true
reuse-uri=false

# 允许覆盖,当相关控制文件(.aria2)不存在时从头开始重新下载,默认:false
allow-overwrite=false

# 文件自动重命名,此选项仅在 HTTP(S)/FTP 下载中有效
# 新文件名在名称之后扩展名之前加上一个点和一个数字(1..9999),默认:true
auto-file-renaming=true

### 客户端伪装 ###

# 自定义 User Agent
user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.47

### RPC相关设置 ###

# 启用 JSON-RPC/XML-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 最大请求大小
rpc-max-request-size=10M

# 设置的 RPC 授权密钥,取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=abcde12345

# 是否启用 RPC 服务的 SSL/TLS 加密,默认:false
# 启用加密后必须使用 https 或者 wss 协议连接
# 不推荐开启,建议使用 web server 反向代理
# 比如 Nginx、Caddy,灵活性更强
#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下载相关 ###

# BT 监听端口(TCP), 默认:6881-6999
# 直通外网的设备,比如 VPS ,务必配置防火墙和安全组策略允许此端口入站
# 内网环境的设备,比如 NAS ,除了防火墙设置,还需在路由器设置外网端口转发到此端口
listen-port=51413

# DHT 网络与 UDP tracker 监听端口(UDP), 默认:6881-6999
# 因协议不同,可以与 BT 监听端口使用相同的端口,方便配置防火墙和端口转发策略。
dht-listen-port=51413

# 下载种子文件(.torrent)自动开始下载,默认:true,可选如下
# true:保存种子文件
# false:仅下载种子文件
# mem:将种子保存在内存中
follow-torrent=true

# BT 下载最大连接数(单任务),运行时可修改
# 0 为不限制,默认:55
# 理想情况下连接数越多下载越快,但在实际情况是只有少部分连接到的做种者上传速度快,其余的上传慢或者不上传
# 如果不限制,当下载非常热门的种子或任务数非常多时可能会因连接数过多导致进程崩溃或网络阻塞
# 进程崩溃:如果设备 CPU 性能一般,连接数过多导致 CPU 占用过高,因资源不足 Aria2 进程会强制被终结
# 网络阻塞:在内网环境下,即使下载没有占满带宽也会导致其它设备无法正常上网
bt-max-peers=64

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

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

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

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

# BT 下载期望速度值(单任务),运行时可修改
# 单位 K 或 M,默认:50K
# 下载速度低于此选项值时会临时提高连接数来获得更快的下载速度,不过前提是有更多的做种者可供连接
# 实测临时提高连接数没有上限,但不会像不做限制一样无限增加,会根据算法进行合理的动态调节
bt-request-peer-speed-limit=5M

# 客户端伪装,PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77

# 最小分享率。当种子的分享率达到此选项设置的值时停止做种
# 0 为一直做种, 默认:1.0
# 强烈建议将此选项设置为大于等于 1.0
seed-ratio=1.0

# 最小做种时间(分钟)
# 设置为 0 时将在 BT 任务下载完成后停止做种
seed-time=30

# 做种前检查文件哈希,默认:true
bt-hash-check-seed=true

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

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

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

# BT tracker 服务器连接超时时间(秒)。默认:60
# 建立连接后,此选项无效,将使用 bt-tracker-timeout 选项的值
bt-tracker-connect-timeout=45

# BT tracker 服务器超时时间(秒)。默认:60
bt-tracker-timeout=45

# 保存通过 WebUI(RPC) 上传的种子文件(.torrent),默认:true
# 所有涉及种子文件保存的选项都建议开启,不保存种子文件有任务丢失的风险
# 通过 RPC 自定义临时下载目录可能不会保存种子文件
rpc-save-upload-metadata=true

# BT强制加密, 默认: false
# 启用后将拒绝旧的 BT 握手协议并仅使用混淆握手及加密
# 可以解决部分运营商对 BT 下载的封锁,且有一定的防版权投诉与迅雷吸血效果
# 此选项相当于后面两个选项(bt-require-crypto=true, bt-min-crypto-level=arc4)的快捷开启方式,但不会修改这两个选项的值
bt-force-encryption=true

# BT加密需求,默认:false
# 启用后拒绝与旧的 BitTorrent 握手协议(\19BitTorrent protocol)建立连接,始终使用混淆处理握手。
#bt-require-crypto=true

# BT最低加密等级,可选:plain(明文),arc4(加密),默认:plain
#bt-min-crypto-level=arc4

### 高级选项 ###

# 启用异步 DNS 功能,默认:true
async-dns=true

# 指定异步 DNS 服务器列表,未指定则从 /etc/resolv.conf 中读取。
async-dns-server=119.29.29.29,223.5.5.5,1.1.1.1,8.8.8.8,114.114.114.114

# 指定单个网络接口,可能的值:接口,IP地址,主机名
# 如果接口具有多个 IP 地址,则建议指定 IP 地址。
# 已知指定网络接口会影响依赖本地 RPC 的连接的功能场景,即通过 localhost 和 127.0.0.1 无法与 Aria2 服务端进行讯通。
#interface=

# 指定多个网络接口,多个值之间使用逗号(,)分隔。
# 使用 interface 选项时会忽略此项。
#multiple-interface=

以上配置文件可以全选复制保存,只需要额外注意以下几项配置,根据自己的情况进行更改:

1
2
3
4
5
6
dir = 下载路径
log = 日志 Aria2.log 文件的保存路径
input-file = 读取下载任务的 aria2.session 文件路径
save-session = 会话 aria2.session 文件保存路径
file-allocation = 文件预分配模式 none|prealloc|trunc|falloc
rpc-secret = 自定义的 RPC 授权密钥

配置文件全部改好保存后,打开终端PowerShell.exe,执行以下命令查看配置是否生效:

1
2
3
4
# 进入 Aria2 核心文件目录
cd C:\others\aria2
# 根据刚才保存的配置运行 Aria2
./aria2c.exe --conf-path=aria2.conf

当终端显示以下信息后,则表示 Aria2 运行成功:

img

安装 Win10 PC 端的 Aria2 客户端 AriaNg Native(我们来给Aria2添加一个界面,方便操作)

客户端 AriaNg Native 的下载地址:

https://github.com/mayswind/AriaNg-Native

选择对应系统的版本进行下载,这里我选择的是64位绿色解压版:

img

客户端使用非常简单,将下载下来的压缩包解压后保存到任意位置,然后双击AriaNg Native.exe即可运行程序。

程序打开后,我们还需要进行配置,让客户端和程序核心进行链接,如图:

img

img

看到已链接字样则表示成功。

设置后台静默启动 Aria2

截至到以上设置,虽然可以正常使用,但是每次都需要手动打开终端运行核心文件,且还要一直保持终端运行,始终不太方便,因此可以使用WinSW这个工具进行以下配置,让电脑每次开机后自动在后台运行,我们要用的时候只用打开客户端即可。

WinSw 下载地址:

https://github.com/winsw/winsw

这里我选择64位版本,并一并下载配置 .xml 的模板文件:

img

选择任意位置创建一个文件夹,比如命名为WinSW-Aria2c,将刚才下载的WinSW-x64.exesample-minimal.xml文件放到新建的文件夹里,然后用文本编辑器打开sample-minimal.xml,对配置进行修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<service>

<!-- 系统进程中显示的服务ID-->
<id>Aria2</id>
<!-- 服务名称 -->
<name>Aria2后台运行</name>
<!-- 这里是要运行服务的介绍,随便写 -->
<description>Aria2后台运行服务随开机自启动</description>

<!-- 需要执行的命令内容 -->
<executable>C:\others\aria2\aria2c.exe</executable>
<arguments>--conf-path=C:\others\aria2\aria2.conf</arguments>

<!--
可以定义一系列操作,如果托管可执行文件失败,则应执行以下操作:
restart 服务重启
reboot 系统重启
none 无
-->
<onfailure action="restart" delay="60 sec"/>
<onfailure action="restart" delay="120 sec"/>
<logmode>reset</logmode>

</service>

修改好后,将.exe.xml的文件名改成统一名称,格式后缀不要改动,然后以管理员身份运行终端PowerShell.exe,执行以下指令:

1
.\WinSW-Aria2c.exe install 

如下图所示,就表示后台自启动服务已经安装成功:

img

然后按键盘Win+r快捷键打开运行界面,输入services.msc进入服务列表,如图所示:

img

找到 Aria2 服务,双击打开服务详情,然后点击启动

img

以后每次电脑开机后都会默默的后台运行,省心又方便。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2023 Move Jian
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信