aria2是linux(支持平台众多)平台上功能齐全流行的下载工具,支持 HTTP(S)FTPSFTPBitTorrentMetalink协议。aria2支持JSON-RPC接口调用,因此网上出现了众多Aria2的第三方扩展/客户端,提供了简单易于使用的界面,主要流行的webui有YAAWwebui-aria2AriaNg,个人更喜欢AriaNg的界面。需要gui的可以尝试Motrix这个跨平台客户端。我使用的是树莓派4作为离线下载机,所以配置了AriNg+Nginx作为下载的WebUi。

安装aria2+nginx

aria2安装

  • debain/raspbian/ubuntu下: sudo apt-get install aria2
  • archlinux下:sudo pacman -S aria2

nginx安装

  • debain/raspbian/ubuntu下: sudo apt-get install nginx
  • archlinux下:sudo pacman -S nginx

配置aria2

创建配置文件

  1. 创建目录:sudo mkdir /etc/aria2/
  2. 创建配置文件:sudo touch /etc/aria2/aria2.conf
  3. 创建aria2用户,sudo useradd -M -s /usr/sbin/nologin aria2
  4. 创建session文件,用于保存进度:sudo touch /etc/aria2/aria2.session
  5. 修改文件拥有者为aria2用户sudo chown aria2 /etc/aria2 /etc/aria2/aria2.session
  6. 根据需要编辑文件:sudo vim /etc/aria2/aria2.conf为如下(参考自这里):

    # 默认下载位置
    dir=/mnt/hd-share/aria2
    # 断点续传
    continue=true
    min-split-size=10M
    input-file=/etc/aria2/aria2.session
    save-session=/etc/aria2/aria2.session
    enable-rpc=true
    rpc-allow-origin-all=true
    # 只让本机访问6800端口,因为下面让nginx代理
    rpc-listen-all=false
    # rpc秘钥
    rpc-secret=myrpctoken
    # rpc默认端口为6800
    #rpc-listen-port=6800
    listen-port=51413

    enable-dht=false
    enable-peer-exchange=false
    peer-id-prefix=-TR2770-
    user-agent=Transmission/2.77
    seed-ratio=0
    bt-seed-unverified=true
    bt-save-metadata=true
  7. 创建systemd文件:sudo vim /lib/systemd/system/aria2.service为如下:

    [Unit]
    Description=Aria2c download manager
    After=network.target

    [Service]
    Type=simple
    User=aria2
    ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf

    [Install]
    WantedBy=multi-user.target
  8. 启动:sudo systemctl start aria2.service

  9. 可以设置开机启动:sudo systemctl enable aria2.service,如果要关闭开机启动:sudo systemctl disable aria2.service

配置nginx+ariaNg

下载ariaNg

可到ariaNg的github仓库release页面获取最新版本,目前为1.1.3版本。


cd /tmp
wget https://github.com/mayswind/AriaNg/releases/download/1.1.3/AriaNg-1.1.3.zip
# 创建web目录
sudo mkdir -p /website/AriaNg
# 解压,如果没有安装unzip,则需要sudo apt-get instal unzip或 sudo pacman -S unzip 安装
sudo unzip AriaNg-1.1.3.zip -d /website/AriaNg

配置Nginx

为了方便使用,我把AriaNg和jsonrpc都配置在了80端口,利用nginx的代理功能,把本机6800端口隐藏,对外只暴露80端口.

  • 如果是官方raspbian系统,编辑/etc/nginx/conf.d/default.conf文件.
  • 如果是archlinuxarm,则编辑/etc/nginx/nginx.conf文件
  • http节点下,添加两个location
    # 配置aria2Ng
location /aria2 {
alias /website/AriaNg/;
index index.html;
}
# 代理jsonrpc
location /jsonrpc {
proxy_pass http://localhost:6800/jsonrpc;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
#以下代码使支持WebSocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
  • 重启nginx:sudo systemctl restart nginx

最后,打开http://树莓派ip/aria2/就可以看到如下界面了!,按实际情况设置好就可以连接了AriaNg设置界面