首页 > 代码库 > 树莓派-基于aria2实现离线下载

树莓派-基于aria2实现离线下载

安装aria2

aria2是linux下的一个下载工具,它支持http、bt种子、磁力链接三种方式下载

sudo apt-get install aria2

配置aria2

aria2支持命令参数,也支持指定配置文件,这里我们使用指定配置文件参数的方式来启动。

mkdir .aria2vim .aria2/aria2.config

添加下面内容

continue#后台运行daemon=true#默认下载目录dir=/home/pi/Downloads#立即分配下载所需的空间对ext4支持最好file-allocation=falloclog-level=warnmax-connection-per-server=4max-concurrent-downloads=3max-overall-download-limit=200Kmin-split-size=5Menable-http-pipelining=true#启用rpc调用接口enable-rpc=truerpc-listen-all=true#rpc的访问密码rpc-secret=hzdx#保存下载会话save-session=/home/pi/.aria2/aria2.sessioninput-file=/home/pi/.aria2/aria2.session

编辑好配置文件,我们还要做个创建个空白的会话文件。要不然,aria2在启动时会报打开会话文件失败的错误。

touch /home/pi/.aria2/aria2.session

然后我们测试下aria2是否启动成功

aria2c --conf-path=/home/pi/.aria2/aria2.config

ps aux|grep aria 看是否有进程启动,若有说明启动成功了。

设置aria2服务和开机启动

我们用的Raspbian系统是使用systemd来管理服务的,和最初init.d有一些差别,网上关于aria2的一些配置还都是使用init.d的方式去做的开机启动。所以,在这个地方我专门说下怎么在systemd下注册服务。

sudo vim /lib/systemd/system/aria.service

我们创建并编辑aria.service文件,并输入以下内容:

[Unit]Description=Aria2 ServiceAfter=network.target[Service]User=piType=forkingExecStart=/usr/bin/aria2c --conf-path=/home/pi/.aria2/aria2.config[Install]WantedBy=multi-user.target

设置开机启动

sudo systemctl daemon-reloadsudo systemctl enable aria

查看aria服务状态

sudo systemctl status aria

启动,停止,重启aria服务

#启动命令sudo systemctl start aria#停止命令sudo systemctl stop aria#重启命令sudo systemctl restart aria

配置aria2下载的web界面

这里需要用到一个第三方的工具webui-aria2,这个是通过rpc接口来管理aria2下载的工具。

安装git和nginx

sudo apt-get install git nginx-light

下载webui-aria2

git clone https://github.com/ziahamza/webui-aria2.git

将webui-aria2放到nginx的/var/www/html/目录下,然后设置开机启动nginx

sudo mv webui-aria2/* /var/www/html/sudo systemctl enable nginx

用浏览器访问树莓派IP

然后点击设置 --> 服务器设置 --> 找到访问密码这项 --> 修改为上文配置的rpc访问密码:hzdx

树莓派-基于aria2实现离线下载