0%

树莓派+PanDownload(aria2)实现远程下载


又是很长一段时间没有更新博客了,最近工作特别忙,加班多都没有时间写博客了。在如今这个快节奏的时代,难免会有这样的需求,身处办公室希望能远程下发下载任务到家里的树莓派下载资源,之前开坑玩了一下树莓派,尝试了迅雷远程下载的方案,在树莓派上搭建一个迅雷的远程下载服务器,不过目前这种方案已经失效了,迅雷关闭了远程下载的服务。不过最近我发现了一个不错的远程下载方案,aria2是一个在linux上支持远程下载的工具,无奈它的下载速度实在是太慢了,百度云的第三方下载工具PanDownload是基于aria2的,下载速度非常可观,且支持远程下载。我们可以在树莓派上搭建aria2的下载服务器,然后利用PanDownload远程下发下载任务到树莓派上的aria2服务器,即可实现远程下载。


树莓派搭建aria2服务器

关于树莓派的准备工作和系统安装这里就不讲了,希望了解的朋友可以查看上一篇,这里主要是说一下关于aria2服务器的搭建流程。

安装aria2

sudo apt install -y aria2

编写配置文件

  • 创建配置文件的文件夹
    mkdir -p ~/.config/aria2/
  • vim编写配置文件
    sudo vi ~/.config/aria2/aria2.config
    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
    #后台运行
    daemon=true
    #设置加密密钥
    rpc-secret=secret
    #允许rpc
    enable-rpc=true
    #允许所有来源, web界面跨域权限需要
    rpc-allow-origin-all=true
    #允许外部访问,false的话只监听本地端口
    rpc-listen-all=true
    #RPC端口, 仅当默认端口被占用时修改
    rpc-listen-port=6800
    #最大同时下载数(任务数), 路由建议值: 3
    max-concurrent-downloads=5
    #断点续传
    continue=true
    #同服务器连接数
    max-connection-per-server=5
    #最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
    min-split-size=10M
    #单文件最大线程数, 路由建议值: 5
    split=10
    #下载速度限制
    max-overall-download-limit=0
    #单文件速度限制
    max-download-limit=0
    #上传速度限制
    max-overall-upload-limit=0
    #单文件速度限制
    max-upload-limit=0
    #文件保存路径
    dir=/home/pi/Downloads
    #所需时间
    file-allocation=prealloc
    #不进行证书校验
    check-certificate=false
    #保存下载会话
    save-session=/home/pi/.config/aria2/aria2.session
    input-file=/home/pi/.config/aria2/aria2.session
    #断电续传
    save-session-interval=60
  • 创建该会话空白文件
    touch /home/pi/.config/aria2/aria2.session
  • 测试下aria2是否启动成功
    aria2c --conf-path=/home/pi/.config/aria2/aria2.config
  • 是否有进程启动
    用 ps aux|grep aria2
  • 结束进程
    kill -9 xxxx

设置aria2服务并开机启动

编写服务文件

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

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Aria2 Service
After=network.target

[Service]
User=pi
Type=forking
ExecStart=/usr/bin/aria2c --conf-path=/home/pi/.config/aria2/aria2.config

[Install]
WantedBy=multi-user.target

设置开机启动

sudo systemctl daemon-reload
sudo systemctl enable aria

查看aria服务状态

sudo systemctl status aria

启动aria2服务

sudo systemctl start aria

停止aria2服务

sudo systemctl stop aria

重启aria2服务

sudo systemctl restart aria

PanDownload配置

目前PanDownload只有windows版本,mac 需开启虚拟机使用
设置 -> 远程 -> 添加 -> 添加远程主机
效果图

  1. 勾选开启远程下载模式
    效果图
  2. 填写树莓派下载服务器的ip,填写端口号对应配置文件中的rpc-listen-port和token对应配置文件中的rpc-secret
    效果图
  3. 检测连接,提示连接成功
    效果图
  4. 取消默认下载路径的配置,这样才可以在选择下载文件后弹出远程下载的选择弹窗
  5. 如果提示“下载失败:无法创建文件,给下载文件夹授权,chmod 777 /mnt/download