随着迅雷远程下载不再支持第三方系统,aria2再次进入我的视线。
在树莓派系统下是可以通过apt-get 安装aria2的,但是版本太旧。需要自行编译新版本。
本教程在raspbian的最新版下完成。
首先安装依赖:
apt-get install -y wget libcurl4-openssl-dev libevent-dev ca-certificates libssl-dev pkg-config build-essential intltool libxml2-dev libgcrypt-dev libssl-dev
然后下载aria2最新版源码,官网地址为: https://github.com/aria2/aria2/releases/
sudo wget https://github.com/aria2/aria2/releases/download/release-1.32.0/aria2-1.32.0.tar.gz
tar -zxvf aria2-1.32.0.tar.gz
cd aria2-1.32.0
sudo ./configure
sudo make
编译完成后,进入/aria2-1.23.0/src目录,有一个文件名为aria2c的文件,复制到bin目录
sudo cp ~/aria2-1.23.0/src/aria2c /usr/bin
对aria2配置文件进行设置
在/etc里新建一个aria2的目录
sudo mkdir -p /etc/aria2
写入配置
sudo nano /etc/aria2/aria2.conf
内容为
## 文件保存相关 ##
# 文件保存目录
dir=/home/pi/usb/download
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
# 断点续传
continue=true
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
#file-allocation=falloc
## 下载连接相关 ##
# 最大同时下载任务数, 运行时可修改, 默认:5
#max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=15
# 整体下载速度限制, 运行时可修改, 默认: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
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
split=10
## 进度保存相关 ##
# 从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
# 在Aria2退出时保存错误的、未完成的下载任务到会话文件
save-session=/etc/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
## RPC相关设置 ##
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许外部访问, 默认:false
rpc-listen-all=true
# RPC端口, 仅当默认端口被占用时修改
# rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=
## BT/PT下载相关 ##
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true
新建一个aria2.session,用于存储正在下载的一些信息
sudo touch /etc/aria2/aria2.session
设置开机自启动
sudo nano /etc/init.d/aria2c
内容为
#!/bin/sh
### BEGIN INIT INFO
# Provides: aria2
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO
case "$1" in
start)
echo -n "Starting aria2c\n"
sudo -u pi aria2c --conf-path=/etc/aria2/aria2.conf -D
#sudo -u后面的是你正在使用的用户名,因为我用的pi
;;
stop)
echo -n "Shutting down aria2c "
killall aria2c
;;
restart)
echo -n "Shutting down aria2c "
killall aria2c
sleep 3
echo -n "Starting aria2c"
sudo -u pi aria2c --conf-path=/etc/aria2/aria2.conf -D
#同上面的一样,根据自己的用户名改pi。
;;
*)
echo 'Usage:' `basename $0` '[option]'
echo 'Available option:'
for option in start stop restart
do
echo ' -' $option
done
;;
esac
sudo chmod 755 /etc/init.d/aria2c
sudo service aria2c start
sudo update-rc.d aria2c defaults
完毕,webui下载后放到网页服务器的目录。