# 下载系列(3):Aria2使用指南

2025-04-15
:: tags: #Network

前言 Aria2是一款开源、跨平台的命令行界面下载管理器，常常被各种下载器软件使用。

## 介绍

在上网的时候，我们可能需要下载一些东西，而浏览器自带的下载比较缓慢。为此，许多人安装了类似IDM或者Motrix等等软件，用多线程来加速下载。其实，许多开源的下载器就是Aria2的前端，我们可以直接使用Aria2进行下载。

Aria2是一款开源、跨平台的命令行界面下载管理器，支持的下载协议有：`HTTP、HTTPS、FTP、Bittorrent 和 Metalink`。它以高效、轻量和灵活著称，适用于需要批量下载、自动化任务或远程控制的用户。

Aria2 有以下几个特点：

- `多连接下载`：可以从多个来源/协议下载文件并尝试利用您的最大下载带宽，真正加快您的下载体验；
- `轻量`：不需要太多内存和 CPU 时间；
- `全功能的 BitTorrent 客户端`：BitTorrent 客户端的所有功能都可用,，如 DHT、PEX、加密、Magnet URI、网络播种、选择性下载、本地对等发现和 UDP 跟踪器；
- `支持Metalink`：支持 Metalink 下载描述格式。 在下载中使用 Metalink 数据块的校验和自动验证下载的数据部分；
- `远程控制`：支持 RPC 接口来控制 aria2 进程。 支持的接口是 JSON-RPC（通过 HTTP 和 WebSocket）和 XML-RPC。

要使用Aria2来替代浏览器自带的下载，一般需要三个条件：

1. 在系统中安装Aria2,并设置环境变量和开机自启；
2. 让Aria2接管浏览器的下载；
3. 需要一个前端面板来更方便的控制Aria2(可选).

## 安装

### Windows

首先下载aria2-1.37.0-win-64bit-build1.zip，将下载好的文件解压并放到你喜欢的目录下，设置系统环境变量，类似`D:\DATA\Data\AriaNg-1.3.10-AllInOne`,随后即可在 CMD 中使用`aria2c -v`查看Aria2 。

然后创建一个配置文件`C:\Users\<你>\.aria2\aria2.conf`，内容如下：

    # 下载目录
    dir=C:/Users/<你>/Downloads

    # 断点续传
    continue=true
    file-allocation=prealloc

    # RPC 设置
    enable-rpc=true
    rpc-listen-all=true
    rpc-allow-origin-all=true
    rpc-listen-port=6800
    rpc-secret=<你的密码>

随后在这个项目中winsw下载 WinSW-x64.exe到一个目录，并重命名为 aria2-service.exe，并在同目录下创建`aria2-service.xml`，内容如下：

    <service>
      <id>aria2</id>
      <name>Aria2 Service</name>
      <description>Aria2 Download Manager</description>
      <executable>C:\Users\<你>\scoop\apps\aria2\current\aria2c.exe</executable>
      <arguments>--conf-path=C:\Users\<你>\.aria2\aria2.conf</arguments>
    </service>

随后使用`.\aria2-service.exe install`安装服务，并使用`.\aria2-service.exe start`启动服务，类似linux上的systemctl.

> 注意修改用户名！

### Arch linux

Arch linux 和大部分常规发行版可以适用此方法。

首先安装aria2本体:

    paru -S aria2

随后创建配置文件

    nano /home/<you-username>/.config/aria2/aria2.conf

内容为

    enable-rpc=true
    rpc-listen-all=true
    rpc-allow-origin-all=true
    rpc-listen-port=6800
    continue=true
    dir=/home/<you-username>/Downloads
    input-file=/home/<you-username>/.config/aria2/aria2.session
    save-session=/home/<you-username>/.config/aria2/aria2.session
    save-session-interval=60

保存退出；随后创建守护进程以便开机自启动：

    nano ~/.config/systemd/user/aria2.service

写入：

    [Unit]
    Description=Aria2 Daemon
    After=network.target

    [Service]
    ExecStart=/usr/bin/aria2c --conf-path=/home/<you-username>/.config/aria2/aria2.conf
    Restart=on-failure

    [Install]
    WantedBy=default.target

在更新配置文件和服务文件后，执行以下命令以重启服务：

    systemctl --user daemon-reload
    systemctl --user enable aria2.service
    systemctl --user start aria2.service

使用以下命令检查服务状态:

    systemctl --user status aria2.service

### Nixos

    { lib, pkgs, username, ... }:
    {
      services.aria2.enable = false;
      systemd.services.aria2 = {
        description = "Aria2 Download Manager (dich)";
        after = [ "network.target" ];
        wants = [ "network.target" ];
        wantedBy = [ "multi-user.target" ];

        serviceConfig = {
          Type = "simple";
          User = username;

          ExecStartPre = [
            "${pkgs.coreutils}/bin/mkdir -p /home/${username}/.config/aria2"
            "${pkgs.coreutils}/bin/touch /home/${username}/.config/aria2/aria2.session"
          ];

          ExecStart = "${pkgs.aria2}/bin/aria2c --conf-path=/home/${username}/.config/aria2/aria2.conf";

          Restart = "always";
          RestartSec = "5s";

          NoNewPrivileges = true;
          PrivateTmp = true;
        };
      };
    }

## 命令行用法

如果你不想用浏览器插件或者面板，也可以直接使用命令行操作：

    aria2c [选项] [URL | 磁力链接 | .torrent文件]

### 例子：

1. 下载单个文件

    aria2c https://example.com/file.iso

2. 指定保存路径和文件名

    aria2c -d ~/Downloads -o ubuntu.iso https://releases.ubuntu.com/24.04/ubuntu.iso

3. 同时下载多个文件

    aria2c https://example.com/file1.zip https://example.com/file2.zip

4. 从文件读取 URL 列表

    aria2c -i urls.txt

（`urls.txt` 每行一个链接）

7. 下载 torrent 文件

    aria2c ubuntu.torrent

8. 下载磁力链接

    aria2c "magnet:?xt=urn:btih:xxxxx..."

9. 限制 BT 上传

    aria2c --max-upload-limit=50K ubuntu.torrent

## 浏览器插件

如果你想让其直接接管浏览器下载,可以使用以下几种浏览器插件,它们都自带面板：

Chrome 浏览器

- Aria2 Explorer是一款功能强大的扩展，能够自动拦截浏览器下载任务并自带Aria2-NG面板。

Firefox 浏览器

- Aria2-Integration也是一款 Firefox 拓展，拦截下载任务的同时带有 Aria2-NG面板，方便使用。

> 注意！如果你前面配置中设置了rpc的密码，需要在面板中也写入才可连接成功。

## 面板

如果你不想使用浏览器插件，也可以使用aria2+独立面板的方法，但这样就不能接管浏览器的下载，适合其他环境使用。

这里推荐使用 AriaNg 前端，AriaNg 使用纯 html & javascript 开发, 所以其不需要任何编译器或运行环境.

AriaNg 现在提供三种版本, `标准版、单文件版和 AriaNg Native.` 标准版适合在 Web 服务器中部署, 提供资源缓存和按需加载的功能. 单文件版适合本地使用, 您下载后只要在浏览器中打开唯一的 html 文件即可. AriaNg Native 同样适合本地使用, 并且不需要使用浏览器.这里`建议使用单文件版或者Native版`,下之后打开其中的html并设为书签即可。

单文件版(AllinOne) Native版

Done.

Thanks for reading! Read other posts?

← 下载系列(2):Yt-dlp使用指南 乱七八糟:lazyvim快速上手 →