Raspberry Pi技术笔记之四:使用aria2打造下载利器

使用Raspberry Pi下载而不用电脑直接下载的好处有:可以做到完全脱机下载,可以将任务定时在凌晨下载而不会影响正常时间的网速,下载的内容位于NAS硬盘中方便多设备访问。鄙人使用的方案是百度云网盘加aria2,先将BT种子或是电驴链接等等扔到百度云网盘上,再用aria2从百度云网盘下载到本地NAS硬盘,下载速度基本上是满速。Raspberry Pi所安装操作系统为Archlinux。

  1. 安装aria2

    pacman -Sy aria2
  2. 下载aria2配置文件

    mkdir -p /etc/aria2
    cd /etc/aria2
    wget https://github.com/bostoneboy/raspberry_pi_stuff/raw/master/aria2/aria2.conf
    wget https://github.com/bostoneboy/raspberry_pi_stuff/raw/master/aria2/save-session.list

    aria2.conf部分配置项说明:
    ## 下载文件存放目录,根据实际情况修改
    dir=/media/aa/nas/downloading

    是否预先分配磁盘空间

    file-allocation=prealloc

    是否继续下载未完成的文件

    continue=true

    日志级别,可以为debug, info, notice, warn 或 error

    log-level=info

    每下载任务最大连接数

    max-connection-per-server=10

    下载进度输出的间隔时间

    summary-interval=120

    是否以进程的方式启动

    daemon=true

    是否启用rpc

    enable-rpc=true

    rpc监听端口

    rpc-listen-port=6800

    是否在所有网卡上启用监听

    rpc-listen-all=true

    最大同时下载任务数,根据实际情况修改

    max-concurrent-downloads=3

    会话保存文件,进程退出时保存未下载完成的会话

    save-session=/etc/aria2/save-session.list

    启动输入文件,进程启动时读取上次未下载完成的会话

    input-file=/etc/aria2/save-session.list

    日志文件,根据实际情况修改

    log=/media/aa/log/aria.log

    是否关闭ipv6

    disable-ipv6=true

    磁盘缓存

    disk-cache=25M

    超时时间

    timeout=600

    重试等待时间

    retry-wait=30

    最大重试次数,0代表可以无限次重试

    max-tries=0

    user agent,此处所填值用于伪装成百度云网盘客户端,以达到满速下载的目的

    user-agent=netdisk;4.4.0.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJia
    更多的配置选项请参考官方配置手册

  3. 下载aria2的service启动脚本及加入开机自启动项

    cd /etc/systemd/system/
    wget https://github.com/bostoneboy/raspberry_pi_stuff/raw/master/system/aria2c.service
    systemctl enable aria2c.service
  4. 以进程的方式启动aria2

    systemctl start aria2c.service
  5. 安装lighttp及aria2的页面端webui

    pacman -Sy lighttpd
    cd /srv
    wget https://github.com/ziahamza/webui-aria2/archive/master.zip
    unzip master.zip
    mv webui-aria2-master http

    用浏览器访问 http://pi的IP地址或主机名 即可看到webui的界面,在此界面添加下载任务测试即可,如果lighttp缺省端口不是80则需要手动修改配置文件并重启进程

  6. 在电脑上的chrome浏览器上安装『百度云导出到aria2』插件,以方便在电脑上直接将百度云盘上的文件添加至aria2,插件下载地址为:
    https://chrome.google.com/webstore/detail/iamaphkapjbdhhpdapkalhanifedeged

    初次安装完成后需要配置aria2 PRC地址,一般来说是
    http://pi的IP地址或是主机名:6800/jsonrpc

    完成后使用导出按钮来测试效果:
  7. 添加定时下载的脚本
    cd /etc/aria2
    wget https://github.com/bostoneboy/raspberry_pi_stuff/raw/master/aria2/aria2_auto.py
    crontab -e
    00 /usr/bin/python2 /etc/aria2/aria2_auto.py

    此脚本的作用是每天晚上6时暂停所有正在下载的任务,每天凌晨3时开始所有的下载任务,即上班时候和凌晨才会开启脱机下载功能,脚本里面的时候可以根据需要自己来修改。