生活的点滴都值得记录

0%

傻瓜教程-用aria2和Chrome插件提高下载速度

Chrome的下载管理比较简陋, 又不想安装下载软件. 以下讨论的就是借助Aria2和Chrome的插件, 来极大提高下载速度.

又要折腾

为什么要这么折腾?
我用MBP, 浏览器随大流用Chrome, 各种插件和油猴脚本非常方便, 我不想在安装太多的别的软件. 但上网下载的速度一直不理想, Chrome可以在打开Parallel downloading的配置flags来提高下载速度, 但个人体验作用非常有限, 尤其是下载管理简直简陋, 好些还不能下, 比如BT, 没法忍.

还有没有别的法子?
方法总比困难多, 度娘告诉我还可以用aria2. 这是跨平台, 免费的下载软件, 支持各种类型的文件下载, 不限速. 经常阻挠我等小白使用这个软件是由于这个玩意没有图形化界面, 不过现在Chrome上有很多的插件, 双剑合璧就香了.

install

install aria2

这个用brew, 不会的问度娘吧.

1
brew install aria2

start service

运行起来看看

1
aria2c

如果安装没什么问题, 应该会起一个服务, 有一些log会出来

install AriaNg

Chrome插件我是在Chrome的官方扩展市场里下了AriaNg, 我看用的人比较多, 可以保证质量和未来的更新. 安装傻瓜不表.
AriaNg的配置也非常傻瓜, 装好之后Chrome上会多一个图标, 点击可以打开界面, 右键打开有一些配置选项.

config

由于aria2是个服务程序, 每次手工启动总是有点麻烦, 最好是把它配置为随电脑自动运行, 比较方便. 以下有点过程, 不过照下面的步骤做就行了.

config aria2

安装好之后要做点配置, 为了后面的自动运行:

1
2
3
4
5
cd ~
mkdir .aria2
cd .aria2
touch aria2.conf
touch ~/.aria2/aria2.session

以下是配置文件aria2.conf内容, 可以直接copy进去, 改掉路径就行.

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
## 文件保存相关 ##

# 文件的保存路径 (可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/Users/i062679/Downloads
# 设置日志等级
log-level=error
# 日志保存路径
log=/Users/i062679/.aria2/aria2.log
# 启用磁盘缓存, 0 为禁用缓存, 需 1.16 以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc 和 trunc 则需要文件系统和内核支持
# NTFS 建议使用 falloc, EXT3/4 建议 trunc, MAC 下需要注释此项
# file-allocation=none
# 断点续传
continue=true

## 下载连接相关 ##

# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=16
# 最小文件分片大小, 添加时可指定, 取值范围 1M -1024M, 默认:20M
# 假定 size=10M, 文件为 20MiB 则使用两个来源下载; 文件为 15MiB 则使用一个来源下载
min-split-size=1MiB
# 单个任务最大线程数, 添加时可指定, 默认:5
split=16
# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0
#max-upload-limit=0
# 禁用 IPv6, 默认:false
disable-ipv6=true

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=/Users/i062679/.aria2/aria2.session
# 在 Aria2 退出时保存 ` 错误 / 未完成 ` 的下载任务到会话文件
save-session=/Users/i062679/.aria2/aria2.session
# 定时保存会话, 0 为退出时才保存, 需 1.16.1 以上版本, 默认:0
save-session-interval=180

## 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=自己的密码
# 设置的 RPC 访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=<USER>
# 设置的 RPC 访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=<PASSWD>

## 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
# 本地节点查找, PT 需要禁用, 默认:false
#bt-enable-lpd=false
# 种子交换, PT 需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的 PT 很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT 需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 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

看起来这个配置文件有点大, 其实大部分都默认配置
, 这里就是为了告诉你有哪些常用的选项.

auto start

Mac下要让程序自动运行, 需要将以下内容生成一个文件名为com.aria2c.plist的文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.aria2c</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/aria2/bin/aria2c</string>
<string>--rpc-listen-all=true</string>
<string>--rpc-allow-origin-all</string>
<string>--conf-path=/Users/i062679/.aria2/aria2.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

再执行以下命令:

1
2
3
open ~/Library/LaunchAgents
// 然后把 com.aria2c.plist 复制到打开的LaunchAgents文件夹里
launchctl load -w ~/Library/LaunchAgents/com.aria2c.plist

步骤看起来有点复杂, 其实一步一步还是非常简单的.

扩展应用

现在很多人用个人NAS, 可以将Aria2部署到NAS上, 这样随时可以在浏览器里发送下载指令, 将下载任务送给NAS执行, 场景比如追剧什么的就方便了, 以后有时间了再搞.

Welcome to my other publishing channels