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

介绍

-

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

+

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

+

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

Aria2 有以下几个特点:

-

Aria2 原生使用命令行工具进行操作,为了更方便控制我们可以使用其他开源的面板配合本体,如AriaNg或者webui-aria2

-

Windows

-

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

-

随后可以安装 AriaNg 前端,AriaNg 使用纯 html & javascript 开发, 所以其不需要任何编译器或运行环境.

-

ariang-1

-

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

-

单文件版(AllinOne) -Native版

-

Arch linux

+

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

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

安装

+

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
 
@@ -171,35 +202,106 @@ [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. 下载单个文件
  2. +
+
aria2c https://example.com/file.iso
+
+
    +
  1. 指定保存路径和文件名
  2. +
+
aria2c -d ~/Downloads -o ubuntu.iso https://releases.ubuntu.com/24.04/ubuntu.iso
+
+
    +
  1. 同时下载多个文件
  2. +
+
aria2c https://example.com/file1.zip https://example.com/file2.zip
+
+
    +
  1. 从文件读取 URL 列表
  2. +
+
aria2c -i urls.txt
+
+

urls.txt 每行一个链接)

+
    +
  1. 下载 torrent 文件
  2. +
+
aria2c ubuntu.torrent
+
+
    +
  1. 下载磁力链接
  2. +
+
aria2c "magnet:?xt=urn:btih:xxxxx..."
+
+
    +
  1. 限制 BT 上传
  2. +
+
aria2c --max-upload-limit=50K ubuntu.torrent
+

浏览器插件

-

如果你想让其直接接管浏览器下载,可以使用以下几种浏览器插件:

+

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

Chrome 浏览器

Firefox 浏览器

-

通用版

- -

🔗

-

附带 aria2 的服务端应用

- +
+

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

+
+

aria2-rpc

+

面板

+

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

+

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

+

ariang-1

+

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

+

单文件版(AllinOne) +Native版


Done.

diff --git a/public/pagefind/fragment/en_7048507.pf_fragment b/public/pagefind/fragment/en_7048507.pf_fragment new file mode 100644 index 0000000..ec58bf0 Binary files /dev/null and b/public/pagefind/fragment/en_7048507.pf_fragment differ diff --git a/public/pagefind/fragment/en_a7d2e07.pf_fragment b/public/pagefind/fragment/en_a7d2e07.pf_fragment deleted file mode 100644 index 2131f4e..0000000 Binary files a/public/pagefind/fragment/en_a7d2e07.pf_fragment and /dev/null differ diff --git a/public/pagefind/index/en_1a222ef.pf_index b/public/pagefind/index/en_1a222ef.pf_index new file mode 100644 index 0000000..9534d77 Binary files /dev/null and b/public/pagefind/index/en_1a222ef.pf_index differ diff --git a/public/pagefind/index/en_458921d.pf_index b/public/pagefind/index/en_458921d.pf_index deleted file mode 100644 index d3ab12d..0000000 Binary files a/public/pagefind/index/en_458921d.pf_index and /dev/null differ diff --git a/public/pagefind/index/en_4fc9c25.pf_index b/public/pagefind/index/en_4fc9c25.pf_index new file mode 100644 index 0000000..1c2247b Binary files /dev/null and b/public/pagefind/index/en_4fc9c25.pf_index differ diff --git a/public/pagefind/index/en_5b10636.pf_index b/public/pagefind/index/en_5b10636.pf_index new file mode 100644 index 0000000..b6dce6d Binary files /dev/null and b/public/pagefind/index/en_5b10636.pf_index differ diff --git a/public/pagefind/index/en_754c485.pf_index b/public/pagefind/index/en_754c485.pf_index deleted file mode 100644 index 95f9738..0000000 Binary files a/public/pagefind/index/en_754c485.pf_index and /dev/null differ diff --git a/public/pagefind/index/en_78d4526.pf_index b/public/pagefind/index/en_78d4526.pf_index new file mode 100644 index 0000000..fc195de Binary files /dev/null and b/public/pagefind/index/en_78d4526.pf_index differ diff --git a/public/pagefind/index/en_97d2f69.pf_index b/public/pagefind/index/en_97d2f69.pf_index deleted file mode 100644 index aa4b1a0..0000000 Binary files a/public/pagefind/index/en_97d2f69.pf_index and /dev/null differ diff --git a/public/pagefind/index/en_c059996.pf_index b/public/pagefind/index/en_c059996.pf_index deleted file mode 100644 index 35ed69c..0000000 Binary files a/public/pagefind/index/en_c059996.pf_index and /dev/null differ diff --git a/public/pagefind/index/en_e2ee7e8.pf_index b/public/pagefind/index/en_e2ee7e8.pf_index new file mode 100644 index 0000000..f9d7bb0 Binary files /dev/null and b/public/pagefind/index/en_e2ee7e8.pf_index differ diff --git a/public/pagefind/pagefind-entry.json b/public/pagefind/pagefind-entry.json index c162131..a4816cb 100644 --- a/public/pagefind/pagefind-entry.json +++ b/public/pagefind/pagefind-entry.json @@ -1 +1 @@ -{"version":"1.3.0","languages":{"en":{"hash":"en_71429e4e20","wasm":"en","page_count":93}}} \ No newline at end of file +{"version":"1.3.0","languages":{"en":{"hash":"en_a5a6d11e14","wasm":"en","page_count":93}}} \ No newline at end of file diff --git a/public/pagefind/pagefind.en_71429e4e20.pf_meta b/public/pagefind/pagefind.en_71429e4e20.pf_meta deleted file mode 100644 index 12279db..0000000 Binary files a/public/pagefind/pagefind.en_71429e4e20.pf_meta and /dev/null differ diff --git a/public/pagefind/pagefind.en_a5a6d11e14.pf_meta b/public/pagefind/pagefind.en_a5a6d11e14.pf_meta new file mode 100644 index 0000000..b727b24 Binary files /dev/null and b/public/pagefind/pagefind.en_a5a6d11e14.pf_meta differ diff --git a/static/images/aria2-rpc.webp b/static/images/aria2-rpc.webp new file mode 100644 index 0000000..f82cfe8 Binary files /dev/null and b/static/images/aria2-rpc.webp differ