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时开始所有的下载任务,即上班时候和凌晨才会开启脱机下载功能,脚本里面的时候可以根据需要自己来修改。