系统环境
标题
版本
备注
系统版本
ubuntu 22.04.3 LTS (Jammy Jellyfish)
-
内核版本
5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
-
Aria2
v1.37.0
-
Aria2 简介 Aria2 是一个用于下载文件的实用程序。 支持的协议包括 HTTP(S)、FTP、SFTP、BitTorrent 和 Metalink。 aria2 可以从多个源/协议下载文件,并尝试利用您的最大下载带宽。 它支持同时从HTTP(S)/FTP/SFTP和BitTorrent下载文件,同时从HTTP(S)/FTP/SFTP下载的数据上传到BitTorrent swarm。 使用 Metalink 的块校验和,aria2 在下载 BitTorrent 等文件时自动验证数据块。
项目页面位于 https://aria2.github.io/
Aria2 安装
官方提供的安装文档:https://aria2.github.io/manual/en/html/README.html#how-to-build
1.安装必要的依赖:
1 apt install libgnutls28-dev nettle-dev libgmp-dev libssh2-1-dev libc-ares-dev libxml2-dev zlib1g-dev libsqlite3-dev pkg-config libgcrypt20-dev libexpat1-dev libssl-dev libcurl4-openssl-dev libevent-dev ca-certificates build-essential intltool libunistring-dev libp11-kit-dev -y
2.从 github 下载 aria2 源码包到服务器的 /usr/local/src/
目录:
1 wget -O /usr/local/src/aria2-1.37.0.tar.gz https://github.com/aria2/aria2/releases/download/release-1.37.0/aria2-1.37.0.tar.gz
3.将下载下来的源码包解压至下载目录:
1 tar -zxf /usr/local/src/aria2-1.37.0.tar.gz -C /usr/local/src/
4.进入 aria2 解压目录,并配置编译参数:
1 cd /usr/local/src/aria2-1.37.0 && ./configure --prefix=/usr/local/aria2
5.编译及安装:
1 make -j $(nproc ) && make install
6.将可执行文件软链接到 /usr/bin 目录下:
1 ln -s /usr/local/aria2/bin/aria2c /usr/bin/
7.在 aria2 安装目录下创建配置文件存放目录 etc:
1 mkdir /usr/local/aria2/etc
8.在 aria2 安装目录下创建 aria2.log 和 aria2.sessions 文件:
1 touch /usr/local/aria2/{aria2.log,aria2.session}
9.在创建的 aria2 配置文件文件目录 etc 下创建 aria2.conf 文件,配置内容为:
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 42 43 44 45 46 47 48 49 50 51 52 cat << EOF > /usr/local/aria2/etc/aria2.conf # Base Options dir=/data/alist/downloads # 设置下载文件保存路径 log=/usr/local/aria2/aria2.log # 指定日志文件路径 input-file=/usr/local/aria2/aria2.sessions # 指定输入文件路径 save-session=/usr/local/aria2/aria2.sessions # 设定保存会话信息文件路径 save-session-interval=60 # 保存会话信息的时间间隔 force-save=true # 强制保存会话信息 log-level=error # 日志记录级别为错误级别 max-concurrent-downloads=5 # 最大同时下载文件数 continue=true # 断点续传 max-overall-download-limit=0 # 总体下载速度限制 max-overall-upload-limit=50K # 总体上传速度限制 max-upload-limit=20 # 单个任务上传速度限制 # HTTP/FTP Options connect-timeout=120 # 连接超时时间 lowest-speed-limit=10K # 最低速度限制 max-connection-per-server=10 # 单个服务器最大连接数 max-file-not-found=2 # 最大文件未找到数 min-split-size=1M # 最小分片大小 split=5 # 分片数 check-certificate=false # 不检查证书 http-no-cache=true # 禁用HTTP缓存 # BT/PT Options bt-enable-lpd=true # 启用BT/LPD功能 follow-torrent=true # 跟踪BT任务 enable-dht6=false # 禁用DHT6 bt-seed-unverified # 未验证的BT种子 bt-hash-check-seed # 检查BT种子哈希 bt-remove-unselected-file # 移除未选择的文件 bt-request-peer-speed-limit=100K # BT请求对等速度限制 seed-ratio=0.0 # 种子分享比率 # RPC Options enable-rpc=true # 启用RPC pause=false # 不暂停 rpc-allow-origin-all=true # 允许所有来源 rpc-listen-all=true # 监听所有地址 rpc-save-upload-metadata=true # 保存上传元数据 rpc-secure=false # 禁用RPC安全模式 # Advanced Options daemon=true # 启用守护进程模式 disable-ipv6=true # 禁用IPv6 enable-mmap=true # 启用内存映射 file-allocation=falloc # 文件分配方式为falloc max-download-result=120 # 最大下载结果数 force-sequential=true # 强制顺序下载 parameterized-uri=true # 启用参数化URI EOF
10.创建下载文件存放目录:
1 mkdir -p /data/alist/downloads
11.创建启动脚本文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 cat << 'EOF' > /lib/systemd/system/aria2.service[Unit] Description=Aria2c download manager After=network.target syslog.target Wants=network.target [Service] Type=forking ExecStart=/usr/bin/aria2c --console-log-level=warn --enable-rpc --rpc-listen-all --conf-path=/usr/local/aria2/etc/aria2.conf ExecReload=/usr/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target EOF
12.执行命令加载 aria2.srevice
13.启动 aria2.service 并将其设置为开机启动:
1 systemctl enable --now aria2.service
14.执行 aria2c –version 确保支持 https:
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 root@ubuntuhome:/usr/local/src/aria2-1.36.0 aria2 version 1.36.0 Copyright (C) 2006, 2019 Tatsuhiro Tsujikawa This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ** Configuration ** Enabled Features: Async DNS, BitTorrent, Firefox3 Cookie, GZip, HTTPS, Message Digest, Metalink, XML-RPC, SFTP Hash Algorithms: sha-1, sha-224, sha-256, sha-384, sha-512, md5, adler32 Libraries: zlib/1.2.11 libxml2/2.9.13 sqlite3/3.37.2 GnuTLS/3.7.3 nettle GMP/6.2.1 c-ares/1.18.1 libssh2/1.10.0 Compiler: gcc 11.3.0 built by x86_64-pc-linux-gnu on Feb 1 2023 09:17:14 System: Linux 5.15.0-43-generic Report bugs to https://github.com/aria2/aria2/issues Visit https://aria2.github.io/