Win10_Aria_配置

虽然很早就知道下载神器 Aria2,但一直没有认真研究使用过。前几天下载百度网盘资料,需要用到 Aria2,便研究了一下。本文教程参考了 PC 端 Win10 安装 Aria2 并配置 AriaNG 客户端 – 老柴的博客 ,并在其基础上加以补充。

一.准备工作

1.下载 Aria2

点这里 Releases · aria2/aria2 · GitHub 下载,如下图。

1

 下载完成解压缩(推荐使用7-zip 7-Zip )。在其他路径新建一个文件夹”Aria2“(路径不要有中文和空格),把刚刚解压缩出的“aria2c.exe”复制进去,我这里放到了”D:\Aria2\aria2c.exe”。

2.下载 AriaNg Native

点这里下载 Releases · mayswind/AriaNg-Native · GitHub ,如下图。

2

这里推荐下载免安装版,便于后续迁移。下载完成后解压缩,把解压缩后的文件夹重命名为”AriaNg_Native“,并移动到上面新建的”Aria2“文件夹中,如下图。

3

二.配置 Aria2

1.创建相关文件

在“aria2c.exe”所在文件夹,新建下面4个空文件(先把资源管理器—查看—文件拓展名勾上,右键新建—文本文档—重命名为下列名称)。

1
2
3
4
Aria2.log (日志文件)
aria2.session (用于记录下载历史,以便断点续传)
aria2.conf (配置文件)
start.vbs(启动脚本)
4

2.修改配置文件

用文本编辑器(比如 Notepad3)打开刚才新建的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
295
296
297
298
299
300
301
#################
#
# 井号开头的为注释内容,选项都有相应的注释说明,根据需要修改
# 被注释的选项填写的是默认值,建议在需要修改时再删掉注释
# 该配置引用了部分'Aria2完美配置' https://github.com/P3TERX/aria2.conf
#
#################

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

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

# 日志文件的保存路径
log=D:\Aria2\Aria2.log
log-level=error

# 启用磁盘缓存,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=none

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

# 检查完整性
check-integrity=true

# 断点续传
continue=true

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

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

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

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

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

# 会话文件保存路径
# Aria2 退出时或指定的时间间隔会保存`错误/未完成`的下载任务到会话文件
save-session=D:\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=123456

# 是否启用 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=true

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

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

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

# 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=false

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

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

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

# BT tracker 服务器列表
bt-tracker=http://1337.abcvg.info:80/announce,http://bt.okmp3.ru:2710/announce,http://nyaa.tracker.wf:7777/announce,http://p2p.0g.cx:6969/announce,http://share.camoe.cn:8080/announce,http://t.acg.rip:6699/announce,http://t.nyaatracker.com:80/announce,http://torrentsmd.com:8080/announce,http://tr.cili001.com:8070/announce,http://tracker.bt4g.com:2095/announce,http://tracker.files.fm:6969/announce,http://tracker.gbitt.info:80/announce,http://tracker.k.vu:6969/announce,http://tracker.mywaifu.best:6969/announce,http://tracker.peckservers.com:9000/announce,http://tracker.renfei.net:8080/announce,http://tracker.tfile.co:80/announce,http://v6-tracker.0g.cx:6969/announce,http://vps-dd0a0715.vps.ovh.net:6969/announce,http://www.all4nothin.net:80/announce.php,http://www.wareztorrent.com:80/announce,https://1337.abcvg.info:443/announce,https://opentracker.i2p.rocks:443/announce,https://tr.burnabyhighstar.com:443/announce,https://tracker.foreverpirates.co:443/announce,https://tracker.gbitt.info:443/announce,https://tracker.jiesen.life:8443/announce,https://tracker.kuroy.me:443/announce,https://tracker.lilithraws.cf:443/announce,https://tracker.loligirl.cn:443/announce,https://tracker1.520.jp:443/announce,udp://9.rarbg.com:2810/announce,udp://aarsen.me:6969/announce,udp://acxx.de:6969/announce,udp://aegir.sexy:6969/announce,udp://astrr.ru:6969/announce,udp://bedro.cloud:6969/announce,udp://bt1.archive.org:6969/announce,udp://epider.me:6969/announce,udp://exodus.desync.com:6969/announce,udp://htz3.noho.st:6969/announce,udp://ipv6.fuuuuuck.com:6969/announce,udp://ipv6.tracker.monitorit4.me:6969/announce,udp://linfan.moe:6969/announce,udp://mail.artixlinux.org:6969/announce,udp://moonburrow.club:6969/announce,udp://movies.zsw.ca:6969/announce,udp://oh.fuuuuuck.com:6969/announce,udp://open.demonii.com:1337/announce,udp://open.dstud.io:6969/announce,udp://open.stealth.si:80/announce,udp://open.tracker.cl:1337/announce,udp://open.tracker.ink:6969/announce,udp://opentor.org:2710/announce,udp://opentracker.i2p.rocks:6969/announce,udp://opentracker.io:6969/announce,udp://p4p.arenabg.com:1337/announce,udp://private.anonseed.com:6969/announce,udp://retracker.hotplug.ru:2710/announce,udp://retracker01-msk-virt.corbina.net:80/announce,udp://run.publictracker.xyz:6969/announce,udp://sanincode.com:6969/announce,udp://static.54.161.216.95.clients.your-server.de:6969/announce,udp://t.133335.xyz:6969/announce,udp://thagoat.rocks:6969/announce,udp://thetracker.org:80/announce,udp://thouvenin.cloud:6969/announce,udp://torrents.artixlinux.org:6969/announce,udp://tracker.4.babico.name.tr:3131/announce,udp://tracker.altrosky.nl:6969/announce,udp://tracker.artixlinux.org:6969/announce,udp://tracker.auctor.tv:6969/announce,udp://tracker.birkenwald.de:6969/announce,udp://tracker.bitsearch.to:1337/announce,udp://tracker.cyberia.is:6969/announce,udp://tracker.dler.com:6969/announce,udp://tracker.doko.moe:6969/announce,udp://tracker.farted.net:6969/announce,udp://tracker.jonaslsa.com:6969/announce,udp://tracker.leech.ie:1337/announce,udp://tracker.moeking.me:6969/announce,udp://tracker.monitorit4.me:6969/announce,udp://tracker.openbittorrent.com:6969/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.pimpmyworld.to:6969/announce,udp://tracker.skyts.net:6969/announce,udp://tracker.srv00.com:6969/announce,udp://tracker.theoks.net:6969/announce,udp://tracker.torrent.eu.org:451/announce,udp://tracker1.bt.moack.co.kr:80/announce,udp://tracker2.dler.com:80/announce,udp://u4.trakx.crim.ist:1337/announce,udp://u6.trakx.crim.ist:1337/announce,udp://uploads.gamecoast.net:6969/announce,udp://v1046920.hosted-by-vdsina.ru:6969/announce,udp://wepzone.net:6969/announce,ws://hub.bugout.link:80/announce,wss://tracker.openwebtorrent.com:443/announce

# 保存通过 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
7
8
9
下面几项必须更改
dir = 下载路径
log = 日志 Aria2.log 文件的保存路径
input-file = 读取下载任务的 aria2.session 文件路径
save-session = 会话 aria2.session 文件保存路径
file-allocation = 文件预分配模式 none|prealloc|trunc|falloc
rpc-secret = 自定义的 RPC 授权密钥
下面几项不重要,可根据情况更改
bt-tracker=自定义BT tracke 服务器列表

自定义BT tracke 服务器列表,可以在这里查看 XIU2/TrackersListCollection 查看,并复制粘贴到bt-tracker=后面。

配置文件全部改好保存后,在地址栏输入“cmd”后回车,打开CMD窗口,执行以下命令查看配置是否生效:

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

2.配置 AriaN5g Native

双击打开”AriaNg_Native“文件夹中的”AriaNg Native.exe“。如下图,填入自定义的RPC密钥后点”重新加载 AriaNg“,Aria2 状态显示为绿色”已连接“。其他选项可根据自己需求自行设置。

6

3.配置启动脚本

每次使用命令行启动”aria2c.exe“再打开AriaNg_Native 很不方便,而且”Aria2.log“会随着使用次数增加越来越大。故编写了一个 vbs 脚本来快速启动,用文本编辑器(比如 Notepad3)打开 start.vbs 文件,复制粘贴下面的代码:

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
Dim ws,fso
Set ws = Wscript.CreateObject("Wscript.Shell")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")

' 停止aria2c.exe进程
Set colProcessList = GetObject("Winmgmts:").ExecQuery("Select * from Win32_Process Where Name='aria2c.exe'")
For Each objProcess In colProcessList
objProcess.Terminate()
Next

' 等待aria2c.exe进程完全停止
Do
Set colProcessList = GetObject("Winmgmts:").ExecQuery("Select * from Win32_Process Where Name='aria2c.exe'")
If colProcessList.Count = 0 Then Exit Do
WScript.Sleep 500
Loop

' 删除Aria2.log.bak
If fso.FileExists("Aria2.log.bak") Then
fso.DeleteFile "Aria2.log.bak"
End If

' 重命名Aria2.logAria2.log.bak
If fso.FileExists("Aria2.log") Then
fso.MoveFile "Aria2.log", "Aria2.log.bak"
End If

' 创建一个空的Aria2.log文件
Set file = fso.CreateTextFile("Aria2.log", True)
file.Close

' 运行aria2c.exeAriaNg Native
ws.run "aria2c.exe --conf-path=aria2.conf",vbhide
ws.run """D:\Aria2\AriaNg_Native\AriaNg Native.exe"""
Wscript.quit

其中”AriaNg Native.exe“的路径根据自己的情况进行更改。

保存后,双击 start.vbs ,会将旧的”Aria2.log”文件备份,并创建新的”Aria2.log”文件,同时启动”aria2c.exe“和 AriaNg_Native。

如下图,可以右键 start.vbs 创建一个快捷方式,把名称和图标更改为自己喜欢的。可以把这个快捷方式复制到其他地方,来快速启动”aria2c.exe“和 AriaNg_Native。

7

到这里教程就结束了,希望大家用得开心。


参考:

[Win10 Aria2 配置 (notion.site)


Win10_Aria_配置
http://example.com/2024/01/20/Win10-Aria-配置/
作者
dzq88
发布于
2024年1月20日
许可协议