Featured image of post Aria2 神器的进阶用法

Aria2 神器的进阶用法

aria2 的常见参数配置,从官网找的,机翻过来的,稍微整理了一下下

aria2 配置

众所周知哈 aria2 是一款非常强大的下载工具呐,但是我之前一直都只会他的最最最简单的用法一直不会那种进阶玩法,所以我就去官网找了找 aria2 的参数具体怎么用,还有 RPC 用法

基本参数

1
-d,--dir = 存储下载文件的目录。
1
-i,--input-file = 下载中列出的 URI FILE。您可以通过将多个 URI 放在由TAB字符分隔的一行中来为单个实体指定多个源 。
1
-l,--log = 日志文件的文件名。如果`-`指定,则将日志写入 `stdout`. 如果指定了空字符串(""),或者省略了此选项,则根本不会将日志写入磁盘。
1
-j,--max-concurrent-downloads =  为每个队列项设置最大并行下载数。默认:`5`
1
-V,--check-integrity [true|false] 通过验证片段散列或整个文件的散列来检查文件完整性。此选项仅在 BitTorrent、带校验和的 Metalink 下载或带`--checksum`选项的HTTP(S)/FTP 下载中有效 。默认: `false`
1
-c,--continue [true|false] 继续下载部分下载的文件。使用此选项可恢复由 Web 浏览器或其他从头开始按顺序下载文件的程序启动的下载。目前此选项仅适用于 HTTP(S)/FTP 下载。
1
-h,--help[=|] 帮助信息按标签分类。标签以 `#`. 例如,键入`--help=#http`以获取标记为 的选项的用法`#http`。如果给出了非标记词,则打印名称包含该词的选项的用法。可用值:`#basic`, `#advanced`, `#http`, `#https`, `#ftp`, `#metalink`, `#bittorrent`, `#cookie`, `#hook`, `#file`, `#rpc`, `#checksum`, `#experimental`, `#deprecated`, `#help`,`#all` 默认值:`#basic`

HTTP/FTP/SFTP 选项

1
--all-proxy = 为所有协议使用代理服务器。要覆盖先前定义的代理,请使用“”。您还可以覆盖此设置并使用`--http-proxy`、`--https-proxy`和`--ftp-proxy`选项为特定协议指定代理服务器。
1
--all-proxy-passwd = 为`--all-proxy`选项设置密码。
1
--all-proxy-user = 为`--all-proxy`选项设置用户。
1
--checksum == 设置校验和。TYPE 是哈希类型。
1
--connect-timeout = 以秒为单位设置连接超时以建立到 HTTP/FTP/代理服务器的连接。建立连接后,此选项无效,而是使用选项`--timeout`。默认:`60`
1
2
--dry-run [true|false]
如果`true`给出,aria2 只检查远程文件是否可用,不下载数据。此选项对 HTTP/FTP 下载有影响。如果`true`指定,则取消 BitTorrent 下载。默认:`false`
1
2
--lowest-speed-limit``=`
如果下载速度低于或等于此值(每秒字节数),则关闭连接。 `0`意味着 aria2 没有最低速度限制。您可以附加`K``M`(1K = 1024, 1M = 1024K)。此选项不影响 BitTorrent 下载。默认:`0`
1
-x,--max-connection-per-server = 每次下载到一台服务器的最大连接数。默认:`1`
1
--max-file-not-found = 如果 aria2 NUM 次从远程 HTTP/FTP 服务器收到“文件未找到”状态而没有获得一个字节,则强制下载失败。指定`0`禁用此选项。此选项仅在使用 HTTP/FTP 服务器时有效。重试次数计入`--max-tries`,因此也应进行配置。默认: `0`
1
-m,--max-tries = 设置尝试次数。`0`意味着无限。可以设置重试等待时间`--retry-wait`,默认:`5`
1
-k,--min-split-size = aria2 不会拆分小于 2*SIZE 的字节范围。例如,让我们考虑下载 20MiB 文件。如果 SIZE  10Maria2 可以将文件分成 2 个范围 [0-10MiB)  [10MiB-20MiB) 并使用 2 个源下载它`--split`当然,如果>= 2)。如果 SIZE  15M,由于 2*15M > 20MiBaria2 不会拆分文件并使用 1 个源下载。您可以附加`K``M`,可能的值:`1M`-`1024M`默认值:`20M`
1
2
--netrc-path = 指定 netrc 文件的路径。默认:`$(HOME)/.netrc`
note : .netrc 文件的权限必须为 600。否则,该文件将被忽略。
1
-n,--no-netrc [true|false] 禁用 netrc 支持。默认情况下启用 netrc 支持。
1
--no-proxy = 指定一个逗号分隔的主机名、域和网络地址列表,其中应使用或不使用代理的子网掩码。
1
2
-o,--out = 下载文件的文件名。它总是相对于`--dir`选项中给出的目录。
note:您不能为 Metalink 或 BitTorrent 下载指定文件名。此处指定的文件名仅在直接在命令行上给出提供给 aria2 的 URI 时使用`--input-file`有效。
1
--proxy-method = 设置在代理请求中使用的方法。方法是`get` `tunnel``tunnel`无论此选项如何,始终使用 HTTPS 下载。默认:`get`
1
-R,--remote-time [true|false] 从远程 HTTP/FTP 服务器检索远程文件的时间戳,如果可用,将其应用于本地文件。默认:`false`
1
--reuse-uri [true|false] 如果没有未使用的 URI,则重用已使用的 URI。默认:`true`
1
--retry-wait = 设置重试之间等待的秒数。
1
--server-stat-of = 指定保存服务器性能配置文件的文件名。您可以使用`--server-stat-if`选项加载保存的数据
1
--server-stat-if = 指定文件名以加载服务器的性能配置文件。
1
--server-stat-timeout = 以秒为单位指定超时,以使服务器自上次联系以来的性能配置文件无效。默认值:`86400`(24 小时)
1
2
-s,--split = 使用 N 个连接下载文件。如果给出的 URI 多于 N 个,则使用前 N  URI,其余 URI 用于备份。如果给定的 URI 少于 N 个,则这些 URI 将被多次使用,以便同时建立总共 N 个连接。到同一主机的连接数受`--max-connection-per-server`选项限制 。另可以设置最小的分片数`--min-split-size`。默认:`5`
note:一些 Metalinks 规定要连接的服务器数量。aria2 严格尊重他们。这意味着如果 Metalink 定义的 `maxconnections`属性低于 N,则 aria2 使用这个较低值的值而不是 N
1
2
3
4
5
6
7
8
9
--stream-piece-selector = 指定用于 HTTP/FTP 下载的片段选择算法。Piece 是指在分段下载中并行下载的固定长度段。

如果`default`给定,则 aria2 选择块以减少建立连接的次数。这是合理的默认行为,因为建立连接是一项昂贵的操作。

如果`inorder`给出,aria2 选择具有最小索引的片段。Index=0 表示文件的第一个。这对于在下载电影时查看电影很有用。`--enable-http-pipelining`选项可能有助于减少重新连接开销。请注意 aria2 尊重 `--min-split-size`选项,因此有必要为`--min-split-size`选项指定一个合理的值 

如果`random`给定,aria2 会随机选择一块。

如果`geom`给出,在开始 aria2 选择具有最小索引的片段`inorder`,但它以指数方式增加与先前选择的片段的空间。这将减少建立连接的次数,同时它会先下载文件的开头部分。这对于在下载电影时查看电影很有用。默认:`default`
1
-t,--timeout = 以秒为单位设置超时。默认:`60`
1
2
3
4
5
6
7
8
9
--uri-selector = 指定 URI 选择算法。可能的值为`inorder` `feedback``adaptive`

如果`inorder`给出,则按照 URI 列表中出现的顺序尝试 URI

如果`feedback`给出,aria2 使用在之前下载中观察到的下载速度并在 URI 列表中选择最快的服务器。这也有效地跳过了死镜。观察到的下载速度是`--server-stat-of` `--server-stat-if`选项中提到的服务器性能配置文件的一部分。

如果`adaptive`给定,则为第一个和保留的连接选择一个最佳镜像。对于补充的,它返回尚未测试的镜像,如果每个镜像都已经测试过,则返回必须再次测试的镜像。否则,它不再选择镜像。像`feedback`,它使用服务器的性能配置文件。

默认:`feedback`

HTTP 特定选项

1
2
3
--ca-certificate = 使用 FILE 中的证书颁发机构来验证对等方。证书文件必须是 PEM 格式,并且可以包含多个 CA 证书。使用`--check-certificate`选项启用验证。
note:如果您使用 OpenSSL 或具有`gnutls_certificate_set_x509_system_trust()`功能的最新版本的 GnuTLS 构建,并且正确配置了库以定位系统范围的 CA 证书存储,aria2 将在启动时自动加载这些证书。
note:*WinTLS*和*AppleTLS*不支持此选项。相反,您必须将证书导入操作系统信任库。
1
2
3
--certificate = 使用 FILE 中的客户端证书。证书必须是 PKCS12(.p12、.pfx)或 PEM 格式。PKCS12 文件必须包含证书、密钥和可选的附加证书链。只能打开导入密码为空的 PKCS12 文件!使用 PEM 时,您还必须指定私钥 via `--private-key`。
note:*WinTLS*目前不支持 PEM 文件。用户必须使用 PKCS12 文件。
noye:*AppleTLS*用户应使用 KeyChain Access 实用程序导入客户端证书并从与该证书对应的信息对话框中获取 SHA-1 指纹。要启动 aria2c,请使用--certificate=<SHA-1>。或者,也支持 PKCS12 文件。但是,不支持 PEM 文件。
1
--check-certificate [true|false] 使用`--ca-certificate`选项中指定的证书验证对等方。默认:`true`
1
2
--http-accept-gzip [true|false] 发送请求标头`Accept: deflate, gzip`,如果远程服务器以`Content-Encoding: gzip`,`Content-Encoding: defaultlate`响应,则会升级响应。默认:false`
note:某些服务器本身是以 gzipped 文件的文件进行响应。由于响应标头,aria2 无论如何都会把它们升级到。`Content-Encoding: gzip`
1
--http-auth-challenge [true|false] 仅在服务器请求时发送 HTTP 授权标头。如果`false`设置,则授权标头总是发送到服务器。有一个例外:如果用户名和密码嵌入在 URI 中,则无论此选项如何,授权标头始终发送到服务器。默认:`false`
1
--http-no-cache`` [true|false]` 发送和标头以避免缓存内容。
1
--http-user = 设置 HTTP 用户。这会影响所有 URI。
1
--http-passwd = 设置 HTTP 密码。这会影响所有 URI。
1
--http-proxy=为 HTTP 使用代理服务器。这会影响所有 http 下载。PROXY 的格式是`[http://][USER:PASSWORD@]HOST[:PORT]`
1
--http-proxy-passwd = 为代理设置密码
1
--http-proxy-user = 为代理设置用户
1
--https-proxy = 为 HTTPS 使用代理服务器。这会影响所有 https 下载。PROXY 的格式是`[http://][USER:PASSWORD@]HOST[:PORT]`
1
--https-proxy-passwd = 同上http用法
1
--https-proxy-user = 同上http用法
1
--private-key = 使用 FILE 中的私钥。私钥必须解密并采用 PEM 格式。给出加密时的行为是未定义的。
1
--referer = 设置一个 http 引荐来源网址(Referer)。这会影响所有 http/https 下载。如果`*`给出,下载 URI 也用作引用。
1
--enable-http-keep-alive [true|false] 启用 HTTP/1.1 持久连接。默认:`true`
1
2
--enable-http-pipelining [true|false] 启用 HTTP/1.1 流水线。默认:`false`
note:从性能角度来看,启用此选项通常没有优势。
1
2
--header = 将 HEADER 附加到 HTTP 请求标头。您可以重复使用此选项来指定多个标题:
`aria2c --header="X-A: b78" --header="X-B: 9J1" "http://host/file" `
1
2
--load-cookies = 使用 Firefox3 格式 (SQLite3)、Chromium/Google Chrome (SQLite3) 和 Mozilla/Firefox(1.x/2.x)/Netscape 格式从 FILE 加载 Cookie。
note:如果 aria2 是在没有 libsqlite3 的情况下构建的,那么它不支持 Firefox3 和 Chromium/Google Chrome cookie 格式。
1
--save-cookies = 以 Mozilla/Firefox(1.x/2.x)/Netscape 格式将 Cookie 保存到 FILE。如果 FILE 已存在,则将其覆盖。会话 Cookie 也会被保存,它们的到期值被视为 0。可能的值:`/path/to/file`
1
--use-head [true|false]  HTTP 服务器的第一个请求使用 HEAD 方法。默认:`false`
1
-U,--user-agent = 为 HTTP(S) 下载设置用户代理。默认值:`aria2/$VERSION`, $VERSION 由包版本替换。

FTP/SFTP 特定选项

1
--ftp-user = 设置FTP用户。这会影响所有 URI。默认:`anonymous`
1
--ftp-passwd = 设置FTP密码。这会影响所有 URI。如果输入了用户名但 URI 中缺少密码,aria2 会尝试使用 .netrc 解析密码。如果在 .netrc 中找到密码,则将其用作密码。如果没有,请使用此选项中指定的密码。默认:`ARIA2USER@`
1
2
-p,--ftp-pasv [true|false]` FTP 中使用被动模式。如果`false`给出,将使用活动模式。默认:`true`
note:SFTP 传输忽略此选项。
1
--ftp-proxy = 使用代理服务器进行 FTP。这会影响所有 ftp 下载。PROXY 的格式是`[http://][USER:PASSWORD@]HOST[:PORT]`
1
--ftp-proxy-passwd = 为`--ftp-proxy`选项设置密码。
1
--ftp-proxy-user = 为`--ftp-proxy`选项设置用户。
1
--ftp-type = 设置 FTP 传输类型。TYPE `binary``ascii`。默认:`binary`笔记SFTP 传输忽略此选项。
1
--ftp-reuse-connection [true|false]  FTP 中重用连接。默认:`true`
1
--ssh-host-key-md == 设置 SSH 主机公钥的校验和。TYPE 是哈希类型。支持的哈希类型是`sha-1`or `md5`
1
2
--select-file = 通过指定其索引来设置要下载的文件。您可以使用该`--show-files`选项找到文件索引。可以使用 指定多个索引`,`,例如:`3,6`。您还可以使用`-`来指定一个范围:`1-5`。 `,`并且`-`可以一起使用:`1-5,8,9`.
note:在多文件 torrent 中,也可以下载此选项指定的相邻文件。这是设计使然,而不是错误。单个片段可能包含多个文件或部分文件,aria2 将片段写入相应的文件。
1
-S,--show-files [true|false] 打印“.torrent”、“.meta4”和“.metalink”文件的文件列表并退出。如果是“.torrent”文件,还会打印附加信息(信息哈希、片段长度等)。

BitTorrent 特定选项

1
--bt-detach-seed-only [true|false] 在计算并发活动下载时排除仅种子下载(请参阅`-j`选项)。这意味着如果`-j3`给出并打开此选项并且 3 个下载处于活动状态,其中一个进入种子模式,则它被排除在活动下载计数之外(因此变为 2),并且开始等待队列中的下一个下载。但请注意,在 RPC 方法中,播种项目仍被识别为活动下载。默认:`false`
1
--bt-enable-hook-after-hash-check [true|false] 允许`-V` BitTorrent 下载中的哈希检查(见选项)后调用钩子命令。默认情况下,当哈希检查成功时,`--on-bt-download-complete`执行由给出的命令。要禁用此操作,请`false`选择此选项。默认:`true`
1
--bt-enable-lpd [true|false] 启用本地对等发现。如果在 torrent 中设置了私有标志,则 aria2 不会将该功能用于该下载,即使`true`已提供。默认:`false`
1
--bt-exclude-tracker = [,...]` 排除这些逗号分隔的 BitTorrent tracker服务器 URI 列表。
1
--bt-external-ip = 指定要在 BitTorrent 下载和 DHT 中使用的外部 IP 地址。它可能会被发送到 BitTorrent 跟踪器。对于 DHT,此选项应设置为报告本地节点正在下载特定的 torrent。这对于在专用网络中使用 DHT 至关重要。尽管此函数名为`external`,但它可以接受任何类型的 IP 地址。
1
--bt-force-encryption [true|false] 需要使用 arc4  BitTorrent 消息负载加密。这是=arc4的简写。此选项不会更改这些选项的选项值。如果给出,则拒绝旧版 BitTorrent 握手并仅使用混淆握手并始终加密消息有效负载。默认:`false`
1
--bt-hash-check-seed [true|false] 如果`true`给出,在使用`--check-integrity`选项和文件完成哈希检查后,继续种子文件。如果您只想在文件损坏或不完整时检查并下载它,请将此选项设置为`false`。此选项仅对 BitTorrent 下载有效。默认:`true`
1
2
--bt-load-saved-metadata [true|false] 在使用磁力链接下载时从 DHT 获取 torrent 元数据之前,首先尝试读取`--bt-save-metadata`选项保存的文件 。如果成功,则跳过从 DHT 下载元数据。默认:`false`
note:如果你经常下载相同的BT文件,你可以启用
1
--bt-lpd-interface = 使用给定的接口进行本地对等发现。如果未指定此选项,则选择默认接口。您可以指定接口名称和 IP 地址。可能的值:接口、IP 地址
1
--bt-max-open-files = 指定在多文件 BitTorrent/Metalink 下载中全局打开的最大文件数。默认:`100`
1
--bt-max-peers = 指定每个 torrent 的最大对等点数。 `0`意味着无限。默认:`55`
1
--bt-metadata-only [true|false] 仅下载元数据。元数据中描述的文件将不会被下载。此选项仅在使用 BitTorrent Magnet URI 时有效。默认:`false`
1
--bt-min-crypto-level = plain|arc4 设置加密方法的最低级别。如果 peer 提供了多种加密方法,aria2 会选择满足给定级别的最低加密方法。默认:`plain`
1
--bt-prioritize-piece =head[=],tail[=]尝试首先下载每个文件的第一个和最后一个部分。这对于预览文件很有用。参数可以包含 2 个关键字: `head``tail`。要包括这两个关键字,它们必须用逗号分隔。这些关键字可以采用一个参数 SIZE。例如,如果`head=`指定,则每个文件的第一个 SIZE 字节范围内的片段获得更高的优先级。 `tail=`表示每个文件的最后 SIZE 字节的范围。SIZE 可以包括`K``M`(1K = 1024, 1M = 1024K)。如果省略 SIZE,则使用 SIZE=1M
1
2
--bt-remove-unselected-file [true|false]
 BitTorrent 中完成下载后删除未选择的文件。要选择文件,请使用 `--select-file`选项。如果不使用,则所有文件都被选中。请小心使用此选项,因为它实际上会从您的磁盘中删除文件。默认:`false`
1
--bt-require-crypto [true|false] 如果`true`给出,aria2 不接受并与旧版 BitTorrent 握手(\19BitTorrent 协议)建立连接。因此 aria2 总是使用混淆握手。默认:`false`
1
--bt-request-peer-speed-limit = 如果每个 torrent 的整体下载速度低于 SPEEDaria2 会临时增加 peer 的数量以尝试更快的下载速度。在某些情况下,使用您首选的下载速度配置此选项可以提高您的下载速度。您可以附加`K``M`(1K = 1024, 1M = 1024K)。默认:`50K`
1
--bt-save-metadata [true|false] 如果true给出,将元数据另存为“xxx.torrent”文件。此选项仅在使用 BitTorrent Magnet URI 时有效。文件名是带有后缀“.torrent”的十六进制编码信息哈希。保存目录与保存下载文件的目录相同。如果相同的文件已经存在,则不保存元数据。默认:`false`
1
--bt-seed-unverified`` [true|false]`在不验证片段哈希的情况下为先前下载的文件播种。默认:`false`
1
--bt-stop-timeout = 如果下载速度在连续 SEC 秒内为 0,则停止 BitTorrent 下载。如果`0`给出,则禁用此功能。默认:`0`
1
--bt-tracker =[,...]`附加 BitTorrent 跟踪器的公告 URI 的逗号分隔列表。这些 URI 不受`--bt-exclude-tracker`选项的影响。
1
--bt-tracker-connect-timeout = 以秒为单位设置连接超时以建立与跟踪器的连接。建立连接后,此选项无效,而是使用选项`--bt-tracker-timeout`。默认: `60`
1
--bt-tracker-interval = 设置跟踪器请求之间的间隔(以秒为单位)。这完全覆盖了间隔值,而 aria2 仅使用此值并忽略跟踪器响应中的最小间隔和间隔值。如果`0`设置,aria2 将根据 tracker 的响应和下载进度确定间隔。默认:`0`
1
--bt-tracker-timeout = 以秒为单位设置超时。默认:`60`
1
--dht-entry-point =:将主机和端口设置为 IPv4 DHT 网络的入口点。
1
--dht-entry-point6 =:将主机和端口设置为 IPv6 DHT 网络的入口点。
1
--dht-file-path = 将 IPv4 DHT 路由表文件更改为 PATH。默认值:`$HOME/.aria2/dht.dat`如果存在,否则为 `$XDG_CACHE_HOME/aria2/dht.dat`。
1
--dht-file-path6 = 同上。默认值:`$HOME/.aria2/dht6.dat`
1
--dht-listen-addr6 = 指定地址以绑定 IPv6 DHT 的套接字。它应该是主机的全球单播 IPv6 地址。
1
2
--dht-listen-port = ...设置 DHT(IPv4, IPv6) 和 UDP 跟踪器使用的 UDP 侦听端口。可以使用 指定多个端口`,`,例如: `6881,6885`。您还可以使用`-`来指定一个范围: `6881-6999`。`,`并且`-`可以一起使用。默认:`6881-6999`
note:确保为传入的 UDP 流量打开指定的端口。
1
--dht-message-timeout = 以秒为单位设置超时。默认:`10`
1
--enable-dht [true|false]启用 IPv4 DHT 功能。它还启用 UDP 跟踪器支持。如果在 torrent 中设置了私有标志,则 aria2 不会为该下载使用 DHT,即使`true`已给出。默认:`true`
1
--enable-dht6 [true|false] 启用 IPv6 DHT 功能。如果在 torrent 中设置了私有标志,则 aria2 不会为该下载使用 DHT,即使`true`已给出。使用`--dht-listen-port`选项指定要侦听的端口号。
1
--enable-peer-exchange [true|false] 启用对等交换扩展。如果在 torrent 中设置了私有标志,即使提供了该功能,该功能也会被禁用`true`。默认:`true`
1
--follow-torrent =true|false|mem 如果指定`true``mem`,当下载后缀为`.torrent`或内容类型`application/x-bittorrent`的文件时,aria2 将其解析为torrent 文件并下载其中提到的文件。如果`mem`指定,torrent 文件不会写入磁盘,而只会保存在内存中。如果`false`指定,`.torrent`文件将下载到磁盘,但不会被解析为 torrent 并且不会下载其内容。默认:`true`
1
-O,--index-out == 为 index=INDEX 的文件设置文件路径。您可以使用该`--show-files`选项找到文件索引。PATH 是`--dir`选项中指定路径的相对路径。您可以多次使用此选项。使用此选项,您可以指定 BitTorrent 下载的输出文件名。
1
--listen-port = ... 为 BitTorrent 下载设置 TCP 端口号。可以使用 指定多个端口`,`,例如:`6881,6885`。您还可以使用`-`来指定一个范围:`6881-6999`。 `,`并且`-`可以一起使用:`6881-6889,6999`. 默认:`6881-6999`笔记确保为传入 TCP 流量打开指定的端口。
1
--max-overall-upload-limit = 以字节/秒为单位设置最大整体上传速度。 `0`意味着不受限制。您可以附加`K``M`(1K = 1024, 1M = 1024K)。要限制每个 torrent 的上传速度,请使用`--max-upload-limit`选项。默认:`0`
1
-u, --max-upload-limit= 以字节/秒为单位设置每个种子的最大上传速度。 `0`意味着不受限制。您可以附加`K``M`(1K = 1024, 1M = 1024K)。要限制整体上传速度,请使用`--max-overall-upload-limit`选项。默认:`0`
1
--peer-id-prefix = 指定peer ID的前缀。BitTorrent 中的对等 ID 为 20 字节长度。如果指定了 20 个以上的字节,则仅使用前 20 个字节。如果指定少于 20 个字节,则添加随机字节数据使其长度为 20 个字节。默认:`A2-$MAJOR-$MINOR-$PATCH-`, $MAJOR, $MINOR 和 $PATCH 分别替换为主要、次要和补丁版本号。例如,aria2 版本 1.18.8 具有前缀 ID `A2-1-18-8-`。
1
--peer-agent = 指定在对等客户端版本的 bitorrent 扩展握手期间使用的字符串。默认:`aria2/$MAJOR.$MINOR.$PATCH`, $MAJOR, $MINOR 和 $PATCH 分别替换为主要、次要和补丁版本号。例如,aria2 版本 1.18.8 有 peer agent `aria2/1.18.8`。
1
--seed-ratio = 指定份额比率。种子完成种子直到共享比率达到 RATIO。强烈建议您在`1.0`此处指定等于或大于。指定`0.0`您是否打算进行播种而不管份额比率如何。如果`--seed-time`选项与此选项一起指定,则在满足至少一个条件时结束播种。默认:`1.0`
1
2
--seed-time = 以(小数)分钟为单位指定播种时间。另请参阅 `--seed-ratio`选项。
note:指定`--seed-time=0`在下载完成后禁用种子。
1
-T,--torrent-file = “.torrent”文件的路径。您不需要使用此选项,因为您可以指定不带 .torrent 的“.torrent”文件`--torrent-file`。
1
--follow-metalink``=true|false|mem` 如果指定了`true``mem`,当下载后缀为`.meta4`或者`.metalink`或内容类型为`application/metalink4+xml`或者`application/metalink+xml`的文件时, aria2 将其解析为 metalink 文件并下载其中提到的文件。如果`mem`指定,Metalink 文件不会写入磁盘,而只是保存在内存中。如果`false`指定,则`.metalink`文件会下载到磁盘,但不会被解析为 metalink 文件,也不会下载其内容。默认:`true`
1
--metalink-base-uri = 指定基本 URI 以解析存储在本地磁盘中的 metalink 文件中的 metalink:url 和 metalink:metaurl 元素中的相对 URI。如果 URI 指向目录,则 URI 必须以`/`.
1
-M,--metalink-file= .meta4”和“.metalink”文件的文件路径。从读取输入`stdin``-`指定的。您不需要使用此选项,因为您可以指定不带 .metalink 的“.metalink”文件[`--metalink-file`](http://aria2.github.io/manual/en/html/aria2c.html#cmdoption-metalink-file)。
1
--metalink-language = 要下载的文件的语言。
1
--metalink-location = [,...]首选服务器的位置。逗号分隔的位置列表是可以接受的,例如,`jp,us`。
1
--metalink-os = 要下载的文件的操作系统。
1
--metalink-version = 要下载的文件的版本。
1
--metalink-preferred-protocol = 指定首选协议。可能的值是`http``https``ftp``none`。指定`none`禁用此功能。默认:`none`
1
--metalink-enable-unique-protocol [true|false] 如果`true`给出并且有几个协议可用于 metalink 文件中的镜像,则 aria2 使用其中之一。默认:`true`

RPC 选项

1
--enable-rpc [true|false] 启用 JSON-RPC/XML-RPC 服务器。强烈建议使用`--rpc-secret`选项设置秘密授权令牌。默认:`false`
1
--pause [true|false] 添加后暂停下载。此选项仅在`--enable-rpc=true`给出时有效 。默认:`false`
1
--pause-metadata [true|false] 暂停因元数据下载而创建的下载。aria2 中有 3 种类型的元数据下载: (1) 下载 .torrent 文件。(2) 使用磁力链接下载 torrent 元数据。(3)下载metalink文件。这些元数据下载将使用其元数据生成下载。此选项会暂停这些后续下载。此选项仅在`--enable-rpc=true`给出时有效 。默认:`false`
1
--rpc-allow-origin-all [true|false] 将带有值的 Access-Control-Allow-Origin 标头字段添加`*` RPC 响应。默认:`false`
1
2
--rpc-certificate = 将 FILE 中的证书用于 RPC 服务器。证书必须是 PKCS12(.p12、.pfx)或 PEM 格式。PKCS12 文件必须包含证书、密钥和可选的附加证书链。只能打开导入密码为空的 PKCS12 文件!使用 PEM 时,您还必须指定私钥 via `--rpc-private-key`。使用`--rpc-secure`选项启用加密。
note:*WinTLS*目前不支持 PEM 文件。用户必须使用 PKCS12 文件。笔记*AppleTLS*用户应使用 KeyChain Access 实用程序首先生成自签名 SSL-Server 证书,例如使用向导,然后从与该新证书对应的信息对话框中获取 SHA-1 指纹。`--rpc-secure`使用 --rpc-certificate=<SHA-1>启动 aria2c 。或者,也支持 PKCS12 文件。但是,不支持 PEM 文件。
1
--rpc-listen-all [true|false] 在所有网络接口上侦听传入的 JSON-RPC/XML-RPC 请求。如果给出 false,则仅在本地环回接口上侦听。默认:`false`
1
--rpc-listen-port = 定要侦听的 JSON-RPC/XML-RPC 服务器的端口号。可能的值:`1024`-`65535`默认值:`6800`
1
--rpc-max-request-size = 设置 JSON-RPC/XML-RPC 请求的最大大小。如果 aria2 检测到请求超过 SIZE 字节,则会断开连接。默认:`2M`
1
--rpc-passwd = 设置 JSON-RPC/XML-RPC 密码。警告`--rpc-passwd`选项将在未来版本中弃用。`--rpc-secret`尽快迁移到选项。
1
--rpc-private-key = 将 FILE 中的私钥用于 RPC 服务器。私钥必须解密并采用 PEM 格式。使用`--rpc-secure`选项启用加密。另见`--rpc-certificate`选项。
1
--rpc-save-upload-metadata  [true|false] 将上传的 torrent  metalink 元数据保存在`--dir`option指定的目录中。文件名由元数据的 SHA-1 哈希十六进制字符串和扩展名组成。对于 torrent,扩展名为“.torrent”。对于 metalink,它是“.meta4”。如果此选项设置为 false,则选项添加 `aria2.addTorrent()``aria2.addMetalink()`不保存下载`--save-session`。默认:`true`
1
--rpc-secret = 设置 RPC 秘密授权令牌。
1
--rpc-secure [true|false] RPC 传输将由 SSL/TLS 加密。RPC 客户端必须使用 https 方案来访问服务器。对于 WebSocket 客户端,使用 wss 方案。使用`--rpc-certificate`和 `--rpc-private-key`选项指定服务器证书和私钥。
1
--rpc-user = 设置 JSON-RPC/XML-RPC 用户。警告--rpc-user选项将在未来版本中弃用。--rpc-secret`尽快迁移到选项。

高级选项

1
--allow-overwrite [true|false] 如果相应的控制文件不存在,则从头开始重新下载。另见`--auto-file-renaming`选项。默认: `false`
1
--allow-piece-length-change [true|false] 如果给出 false,则当片段长度与控制文件中的片段长度不同时,aria2 将中止下载。如果给出 true,您可以继续,但会丢失一些下载进度。默认:`false`
1
--always-resume [true|false]始终恢复下载。如果`true`给出,aria2 总是尝试恢复下载,如果恢复是不可能的,中止下载。如果 `false`给定,当所有给定的 URI 不支持恢复或 aria2 遇到不支持恢复的`N`URI`N`是使用`--max-resume-failure-tries`选项指定的值)时,aria2 会从头开始下载文件。默认:`true`
1
--async-dns [true|false] 启用异步 DNS。默认:`true`
1
--async-dns-server = [,...] 异步 DNS 解析器中使用的 DNS 服务器地址的逗号分隔列表。通常异步 DNS 解析器从`/etc/resolv.conf`. 使用此选项时,它将使用此选项中指定的 DNS 服务器而不是 `/etc/resolv.conf`. 您可以同时指定 IPv4 和 IPv6 地址。当系统没有`/etc/resolv.conf`并且用户没有创建它的权限时,此选项很有用。
1
--auto-file-renaming [true|false] 如果相同的文件已存在,则重命名文件名。此选项仅适用于 HTTP(S)/FTP 下载。新文件名有一个点和一个数字 (1..9999) 附加在名称之后,但在文件扩展名之前(如果有)。默认:`true`
1
--auto-save-interval = 每 SEC 秒保存一个控制文件 (*.aria2)。如果`0`给出,则在下载期间不保存控制文件。aria2 在停止时保存控制文件,而不管值如何。可能的值介于`0`到之间`600`。默认:`60`
1
--conditional-get [true|false] 仅当本地文件比远程文件旧时才下载文件。此功能仅适用于 HTTP(S) 下载。如果在 Metalink 中指定了文件大小,则它不起作用。它还忽略 Content-Disposition 标头。如果存在控制文件,则此选项将被忽略。此函数使用 If-Modified-Since 标头有条件地仅获取较新的文件。获取本地文件的修改时间时,`--out`如果`--out`未指定,则使用用户提供的文件名(请参阅选项)或 URI 中的文件名部分。要覆盖现有文件,`--allow-overwrite`是必需的。默认:`false`
1
--conf-path = 将配置文件路径更改为PATH。默认值:`$HOME/.aria2/aria2.conf`如果存在,否则为 `$XDG_CONFIG_HOME/aria2/aria2.conf`。
1
--console-log-level = 将日志级别设置为输出到控制台。LEVEL或者是`debug` `info``notice``warn``error`。默认:`notice`
1
--content-disposition-default-utf8 [true|false]  Content-Disposition 标头中的带引号的字符串处理为 UTF-8 而不是 ISO-8859-1,例如,文件名参数,而不是扩展版本的文件名*。默认:`false`
1
-D,--daemon [true|false] 作为守护进程运行。当前工作目录将被更改为`/` 并且标准输入、标准输出和标准错误将被重定向到`/dev/null`. 默认:`false`
1
--deferred-input [true|false] 如果`true`给定,aria2 不会`--input-file`在启动时从option指定的文件中读取所有 URI 和选项,而是在以后需要时一一读取。如果输入文件包含大量要下载的 URI,这可能会减少内存使用。如果`false`给出,aria2 会在启动时读取所有 URI 和选项。默认:`false`警告`--deferred-input`选项`--save-session`一起使用时将被禁用 
1
--disable-ipv6 [true|false]禁用 IPv6。如果您必须使用损坏的 DNS 并希望避免非常缓慢的 AAAA 记录查找,这将非常有用。默认:`false`
1
--disk-cache = 启用磁盘缓存。如果 SIZE `0`,则禁用磁盘缓存。此功能将下载的数据缓存在内存中,最多可增长到 SIZE 字节。缓存存储是为 aria2 实例创建的,并由所有下载共享。磁盘缓存的优点之一是减少了磁盘 I/O,因为数据是以更大的单位写入的,并按文件的偏移量重新排序。如果涉及散列检查并且数据缓存在内存中,我们不需要从磁盘读取它们。SIZE 可以包括`K``M` (1K = 1024, 1M = 1024K)。默认:`16M`
1
--download-result = 此选项更改格式化方式。如果 OPT 是,则打印 GID、状态、平均下载速度和路径/URI。如果涉及多个文件,则打印第一个请求文件的路径/URI,并省略其余文件。如果 OPT  ,则打印 GID、状态、平均下载速度、进度百分比和路径/URI。为每一行中的每个请求文件打印进度百分比和路径/URI。如果 OPT 是, 则隐藏。默认:`Download Results``default``full``hide``Download Results``default`
1
--dscp =  QoS 设置 BitTorrent 流量的传出 IP 数据包中的 DSCP 值。该参数仅设置 IP 数据包 TOS 字段中的 DSCP 位,而不是整个字段。如果您从*/usr/include/netinet/ip.h*取值, 将它们除以 4(否则值将不正确,例如您的`CS1`类会变成`CS4`)。如果您从 RFC、网络供应商的文档、维基百科或任何其他来源获取常用值,请按原样使用它们。
1
--rlimit-nofile = 设置打开文件描述符的软限制。此打开仅在以下情况下有效:系统支持它(posix)限制不超过硬限制。指定的限制大于当前的软限制。这相当于通过 ulimit 设置 nofile,只是它永远不会减少限制。此选项仅在支持 rlimit API 的系统上可用。
1
--enable-color [true|false] 为终端启用颜色输出。默认:`true`
1
--enable-mmap [true|false] 将文件映射到内存中。如果未预先分配文件空间,则此选项可能不起作用。见`--file-allocation`。默认: `false`
1
--event-poll = 指定轮询事件的方法。可能的值是 `epoll``kqueue``port``poll``select`。对于每个`epoll` `kqueue``port``poll`,如果系统支持它是可用的。 `epoll`在最近的 Linux 上可用。`kqueue`可用于各种 *BSD 系统,包括 Mac OS X`port`可用于 Open Solaris。默认值可能因您使用的系统而异。
1
--file-allocation =  指定文件分配方法。 `none`不预先分配文件空间。`prealloc`在下载开始前预先分配文件空间。这可能需要一些时间,具体取决于文件的大小。如果您使用较新的文件系统,例如 ext4(支持扩展区)、btrfsxfs  NTFS(仅限 MinGW 构建),`falloc`则是您的最佳选择。它几乎立即分配大(很少 GiB)文件。不要使用`falloc`遗留文件系统,如 ext3  FAT32,因为它几乎与`prealloc`aria2花费相同的时间,并且它会完全阻塞 aria2 直到分配完成。`falloc`如果您的系统没有*posix_fallocate(3)*函数,则可能不可用  `trunc`使用*ftruncate(2)*系统调用或特定于平台的对应项将文件截断为指定长度。可能的值:`none``prealloc``trunc``falloc` 默认值:`prealloc`警告使用`trunc`看似分配磁盘空间很快,但实际上它在文件系统中设置文件长度元数据,并且根本不分配磁盘空间。这意味着它无助于避免碎片化。笔记在多文件 torrent 下载中,与指定文件相邻的文件如果共享同一块,也会被分配。
1
--force-save [true|false] `--save-session`即使下载完成或删除,也可以选择保存下载。在这种情况下,此选项还会保存控制文件。这对于保存被识别为完成状态的 BitTorrent 种子可能很有用。默认:`false`
1
--save-not-found [true|false] `--save-session`即使在服务器上找不到文件,也可以使用选项保存下载。在这种情况下,此选项还会保存控制文件。默认:`true`
1
--gid = 手动设置 GID。aria2 通过称为 GID 的 ID 标识每个下载。GID 必须是 16 个字符的十六进制字符串,因此允许 [0-9a-fA-F] 并且不得去除前导零。GID 全 0 是保留的,不得使用。GID必须唯一,否则报错,不添加下载。此选项在恢复使用`--save-session`选项保存的会话时很有用 。如果不使用此选项,则由 aria2 生成新的 GID。
1
--hash-check-only [true|false]如果`true`给定,则在使用`--check-integrity`选项进行哈希检查后 ,无论下载是否完成都中止下载。默认:`false`
1
--human-readable [true|false]在控制台读数中以人类可读格式(例如,1.2Ki3.4Mi)打印尺寸和速度。默认:`true`
1
--interface = 将套接字绑定到给定的接口。您可以指定接口名称、IP 地址和主机名。可能的值:接口、IP 地址、主机名笔记如果一个接口有多个地址,强烈建议明确指定 IP 地址。另见`--disable-ipv6`。如果您的系统没有*getifaddrs(3)*,则此选项不接受接口名称。
1
--keep-unfinished-download-result [true|false] 保留未完成的下载结果,即使这样做超过 `--max-download-result`. 如果所有未完成的下载必须保存在会话文件中(请参阅`--save-session`,这将很有用 。请记住,要保留的未完成下载结果的数量没有上限。如果这是不受欢迎的,请关闭此选项。默认:`true`
1
--max-download-result = 设置保存在内存中的最大下载结果数。下载结果已完成/错误/已删除下载。下载结果存储在FIFO队列中,最多可以存储NUM个下载结果。当队列已满并创建新的下载结果时,将最旧的下载结果从队列的前面删除,并将新的下载结果推到后面。在此选项中设置大数字可能会导致数千次下载后内存消耗过高。指定 0 表示不保留下载结果。请注意,无论此选项值如何,未完成的下载都会保留在内存中。见`--keep-unfinished-download-result`选项。默认:`1000`
1
--max-mmap-limit = 设置最大文件大小以启用 mmap(请参阅 `--enable-mmap`选项)。文件大小由一次下载中包含的所有文件的总和决定。例如,如果下载包含 5 个文件,则文件大小是这些文件的总大小。如果文件大小严格大于此选项中指定的大小,将禁用 mmap。默认:`9223372036854775807`
1
--max-resume-failure-tries = 与`--always-resume=false`一起使用时,当 aria2 检测到 N 个不支持恢复的 URI 时,会从头开始下载文件。如果 N 是`0`,当所有给定的 URI 不支持恢复时,aria2 会从头开始下载文件。见`--always-resume`选项。默认:`0`
1
--min-tls-version = 指定要启用的最低 SSL/TLS 版本。可能的值:`TLSv1.1`, `TLSv1.2`,`TLSv1.3` 默认值:`TLSv1.2`
1
--multiple-interface = 将套接字绑定到的以逗号分隔的接口列表。请求将在接口之间拆分以实现链路聚合。您可以指定接口名称、IP 地址和主机名。如果 `--interface`使用,此选项将被忽略。可能的值:接口、IP 地址、主机名
1
--log-level = 将日志级别设置为输出。LEVEL或者是`debug``info``notice``warn``error`。默认:`debug`
1
--on-bt-download-complete =对于 BitTorrent,`--on-download-complete`在下载完成和播种结束后调用 中指定的命令。另一方面,此选项设置在下载完成后但在播种之前执行的命令。有关 COMMAND 的更多详细信息,请参阅[事件挂钩]。可能的值:`/path/to/command`
1
--on-download-complete = 设置下载完成后执行的命令。有关 COMMAND 的更多详细信息,请参阅[事件挂钩]。另见`--on-download-stop`选项。可能的值:`/path/to/command`
1
--on-download-error = 设置下载因错误中止后执行的命令。有关 COMMAND 的更多详细信息,请参阅[事件挂钩]。另见`--on-download-stop`选项。可能的值: `/path/to/command`
1
--on-download-pause = 设置下载暂停后执行的命令。有关 COMMAND 的更多详细信息,请参阅[事件挂钩]。可能的值:`/path/to/command`
1
--on-download-start = 设置下载开始后要执行的命令。有关 COMMAND 的更多详细信息,请参阅[事件挂钩]。可能的值:`/path/to/command`
1
--on-download-stop = 设置下载停止后执行的命令。您可以使用`--on-download-complete`和覆盖要为特定下载结果执行的命令 `--on-download-error`。如果指定了它们,则不执行此选项中指定的命令。有关 COMMAND 的更多详细信息,请参阅[事件挂钩]。可能的值:`/path/to/command`
1
--optimize-concurrent-downloads [true|false|:] 根据可用带宽优化并发下载数。aria2 使用在先前下载中观察到的下载速度,根据规则 N = A + B Log10(速度以 Mbps 为单位)调整并行启动的下载数量。系数 A  B 可以在选项参数中自定义,A  B 用冒号分隔。默认值 (A=5, B=25) 导致通常在 1Mbps 网络上使用 5 个并行下载,在 100Mbps 网络上使用 50 个以上。并行下载的数量仍然限制在`--max-concurrent-downloads`参数定义的最大值之下 。默认:`false`
1
--piece-length = 设置 HTTP/FTP 下载的片段长度。这是 aria2 拆分文件时的边界。所有分裂都发生在这个长度的倍数处。此选项在 BitTorrent 下载中将被忽略。如果 Metalink 文件包含片段哈希,它也会被忽略。默认:`1M`笔记`--piece-length` option的可能用例是更改一个 HTTP 管道请求中的请求范围。要启用 HTTP 流水线,请使用 `--enable-http-pipelining`
1
--show-console-readout [true|false] 显示控制台读数。默认:`true`
1
--stderr`` [true|false] 将所有将在 stdout 中打印的控制台输出重定向到 stderr。默认:`false`
1
--summary-interval = 以秒为单位设置间隔以输出下载进度摘要。设置会`0`抑制输出。默认:`60`
1
-Z,--force-sequential  [true|false] 在命令行中按顺序获取 URI 并在单独的会话中下载每个 URI,就像通常的命令行下载实用程序一样。默认:`false`
1
--max-overall-download-limit = 以字节/秒为单位设置最大整体下载速度。 `0`意味着不受限制。您可以附加`K``M`(1K = 1024, 1M = 1024K)。要限制每次下载的下载速度,请使用`--max-download-limit`选项。默认:`0`
1
--max-download-limit = 以字节/秒为单位设置每次下载的最大下载速度。`0`意味着不受限制。您可以附加`K``M`(1K = 1024, 1M = 1024K)。要限制整体下载速度,请使用`--max-overall-download-limit`选项。默认:`0`
1
--no-conf [true|false]禁止加载 aria2.conf 文件。
1
--no-file-allocation-limit = 不会为大小小于 SIZE 的文件分配文件。您可以附加`K``M`(1K = 1024, 1M = 1024K)。默认:`5M`
1
-P,--parameterized-uri [true|false] 启用参数化 URI 支持。您可以指定一组零件:`http://{sv1,sv2,sv3}/foo.iso`. 您也可以使用计步器指定数字序列: `http://host/image[000-100:2].img`。可以省略计步器。如果所有 URI 不指向同一个文件,例如上面的第二个示例,则需要 -Z 选项。默认:`false`
1
-q,--quiet [true|false] 使 aria2 安静(无控制台输出)。默认:`false`
1
--realtime-chunk-checksum [true|false] 如果提供了块校验和,则在下载文件时通过计算校验和来验证数据块。默认:`true`
1
--remove-control-file [true|false] 下载前删除控制文件。与`--allow-overwrite=true`下载一起使用 总是从头开始。这对于禁用恢复的代理服务器后面的用户很有用。
1
--save-session = 退出时将错误/未完成的下载保存到 FILE。您可以使用`--input-file`重启选项将此输出文件传递给 aria2c 。如果您希望输出被 gzip 压缩,请在文件名后附加一个 .gz 扩展名。请注意,下载添加 `aria2.addTorrent()``aria2.addMetalink()`RPC方法,其元数据无法保存为文件不会被保存。使用`aria2.remove()` 删除的下载`aria2.forceRemove()`不会被保存。GID 也用 保存 `gid`,但有一些限制,见下文。笔记通常,会保存下载本身的 GID。但有些下载使用元数据(例如,BitTorrent  Metalink)。在这种情况下,有一些限制。磁铁 URI,然后是 torrent 下载BitTorrent 元数据下载的 GID 已保存。torrent 文件的 URI,然后是 torrent 下载Torrent 文件下载的 GID 已保存。metalink 文件的 URI,然后是 metalink 文件中描述的文件下载保存metalink文件下载的GID。本地种子文件Torrent 下载的 GID 已保存。本地金属链接文件不会保存任何有意义的 GID
1
--save-session-interval = `--save-session`每隔 SEC 秒将错误/未完成的下载保存到选项指定的文件中 。如果`0`给定,文件将仅在 aria2 退出时保存。默认:`0`
1
--socket-recv-buffer-size = 以字节为单位设置最大套接字接收缓冲区。指定`0` 将禁用此选项。此值将使用`SO_RCVBUF``setsockopt()` 调用的套接字选项设置为套接字文件描述符。默认:`0`
1
--stop = 在经过 SEC 秒后停止应用程序。如果`0`给出,则禁用此功能。默认:`0`
1
--stop-with-process = 当进程 PID 未运行时停止应用程序。如果 aria2 进程是从父进程派生的,这很有用。父进程可以使用自己的 pid fork aria2,当父进程由于某种原因退出时,aria2 可以检测到它并自行关闭。
1
--truncate-console-readout  [true|false]截断控制台读数以适合单行。默认:`true`
1
-v,--version 打印版本号、版权和配置信息并退出。

选项说明

可选参数

参数被方括号 ([]) 包围的选项采用可选参数。通常省略参数被评估为true。如果您使用这些选项的缩写形式(例如-V)并给出一个参数,则选项名称及其参数应该连接起来(例如 -Vfalse)。如果在选项名称和参数之间插入任何空格,则参数将被视为 URI,通常这不是您所期望的。

单位(K 和 M)

一些选项分别采用KM来方便地表示 1024 和 1048576。aria2 以不区分大小写的方式检测这些字符。换言之,k并且m可以使用,以及KM分别。

您可以在命令行中指定多个 URI。除非您指定--force-sequential选项,否则 所有 URI 必须指向同一个文件,否则下载将失败。

您可以指定任意数量的 BitTorrent Magnet URI。请注意,它们始终被视为单独的下载。支持十六进制编码的 40 个字符的 Info Hash 和 Base32 编码的 32 个字符的 Info Hash。tr支持多个参数。由于 BitTorrent Magnet URI 可能包含&字符,因此强烈建议始终使用单 ( ') 或双 ( ") 引号引用 URI 。强烈建议启用 DHT,尤其是在tr 缺少参数时。 有关 BitTorrent Magnet URI 的更多详细信息,请参阅http://www.bittorrent.org/beps/bep_0009.html。

您还可以指定存储在本地驱动器上的任意数量的 Torrent 文件和 Metalink 文档。请注意,它们始终被视为单独的下载。支持 Metalink4 和 Metalink 3.0 版。

您可以使用 -T 选项和 URI 指定 Torrent 文件。通过这样做,您可以同时从 torrent swarm 和 HTTP(S)/FTP/SFTP 服务器下载文件,同时将来自 HTTP(S)/FTP/SFTP 的数据上传到 torrent swarm。对于单个文件 torrent,URI 可以是指向资源的完整 URI,或者如果 URI 以 / 结尾,则添加 torrent 中 torrent 文件中的名称。对于多文件种子文件,添加名称和路径以形成每个文件的 URI。

note:如果 URI包含或任何在 shell 中具有特殊含义的字符,请确保使用单 ( ') 或双 ( ") 引号引用 URI &

继续下载

通常,如果之前的传输是由 aria2 完成的,您只需发出相同的命令(aria2c URI)即可恢复传输。

如果之前的传输是由浏览器或 wget 之类的顺序下载管理器进行的,则使用--continue选项继续传输。

事件挂钩

aria2 提供了在特定事件发生后指定任意命令的选项。目前有以下选项可用: --on-bt-download-complete--on-download-pause--on-download-complete--on-download-start, --on-download-error, --on-download-stop.

aria2 在执行时将 3 个参数传递给指定的命令。这些参数是:GID、文件数和文件路径。对于 HTTP、FTP 和 SFTP 下载,通常文件数为 1。BitTorrent 下载可以包含多个文件。如果文件数大于一个,则文件路径为第一个。换句话说,这是在aria2.getFiles()RPC 方法的响应中选择的键为真的第一个结构的路径键的值。如果要获取所有文件路径,请考虑使用 JSON-RPC/XML-RPC。请注意,由于重定向或 Content-Disposition 标头,在 HTTP 下载过程中文件路径可能会发生变化。

让我们看一个如何将参数传递给命令的示例:

1
2
3
4
5
$ cat hook.sh
#!/bin/sh
echo "Called with [$1] [$2] [$3]"
$ aria2c --on-download-complete hook.sh http://example.org/file.iso
Called with [1] [1] [/path/to/file.iso]

退出状态

由于 aria2 可以同时处理多个下载,因此在会话中会遇到很多错误。aria2 根据上次遇到的错误返回以下退出状态。

  • 0

    如果所有下载都成功。

  • 1

    如果发生未知错误。

  • 2

    如果发生超时。

  • 3

    如果没有找到资源。

  • 4

    如果 aria2 看到指定数量的“资源未找到”错误。见--max-file-not-found选项。

  • 5

    如果下载因下载速度太慢而中止。见--lowest-speed-limit选项。

  • 6

    如果出现网络问题。

  • 7

    如果有未完成的下载。仅当所有完成的下载都成功并且当 aria2Ctrl-C通过用户按下或发送 TERM 或 INT 信号退出时,队列中还有未完成的下载时,才会报告此错误。

  • 8

    如果远程服务器不支持恢复,则需要恢复才能完成下载。

  • 9

    如果没有足够的可用磁盘空间。

  • 10

    如果片段长度与 .aria2 控制文件中的长度不同。见 --allow-piece-length-change选项。

  • 11

    如果 aria2 在那一刻正在下载相同的文件。

  • 12

    如果 aria2 在那一刻正在下载相同的信息散列种子。

  • 13

    如果文件已经存在。见--allow-overwrite选项。

  • 14

    如果重命名文件失败。见--auto-file-renaming选项。

  • 15

    如果 aria2 无法打开现有文件。

  • 16

    如果 aria2 无法创建新文件或截断现有文件。

  • 17

    如果发生文件 I/O 错误。

  • 18

    如果 aria2 无法创建目录。

  • 19

    如果名称解析失败。

  • 20

    如果 aria2 无法解析 Metalink 文档。

  • 21

    如果 FTP 命令失败。

  • 22

    如果 HTTP 响应标头错误或意外。

  • 23

    如果发生太多重定向。

  • 24

    如果 HTTP 授权失败。

  • 25

    如果 aria2 无法解析编码文件(通常是“.torrent”文件)。

  • 26

    如果“.torrent”文件已损坏或缺少 aria2 所需的信息。

  • 27

    如果 Magnet URI 不好。

  • 28

    如果给出了错误/无法识别的选项或给出了意外的选项参数。

  • 29

    如果远程服务器由于临时过载或维护而无法处理请求。

  • 30

    如果 aria2 无法解析 JSON-RPC 请求。

  • 31

    预订的。不曾用过。

  • 32

    如果校验和验证失败。

笔记

完成下载时发生的错误不会报告为退出状态。

环境

aria2 识别以下环境变量。

  • http_proxy [http://][USER:PASSWORD@]HOST[:PORT]

    指定用于 HTTP 的代理服务器。覆盖配置文件中的 http-proxy 值。命令行选项--http-proxy会覆盖此值。

  • https_proxy [http://][USER:PASSWORD@]HOST[:PORT]

    指定用于 HTTPS 的代理服务器。覆盖配置文件中的 https-proxy 值。命令行选项--https-proxy会覆盖此值。

  • ftp_proxy [http://][USER:PASSWORD@]HOST[:PORT]

    指定用于 FTP 的代理服务器。覆盖配置文件中的 ftp-proxy 值。命令行选项--ftp-proxy会覆盖此值。

  • all_proxy [http://][USER:PASSWORD@]HOST[:PORT]

    如果未指定特定于协议的代理,请指定要使用的代理服务器。覆盖配置文件中的所有代理值。命令行选项--all-proxy会覆盖此值。

笔记

尽管 aria2在代理 URI 中接受ftp://https://方案,但它只是假定http://已指定并且不会根据指定的方案更改其行为。

  • no_proxy [DOMAIN,...]

    指定一个以逗号分隔的主机名、域和网络地址列表,带有或不带有子网掩码,其中不应使用代理。覆盖配置文件中的 no-proxy值。命令行选项 --no-proxy会覆盖此值。

档案

aria2.conf

默认情况下,aria2 检查遗留路径 $HOME/.aria2/aria2.conf是否存在,否则它会解析 $XDG_CONFIG_HOME/aria2/aria2.conf为它的配置文件。您可以使用--conf-path 选项指定配置文件的路径。如果您不想使用配置文件,请使用 --no-conf选项。

配置文件是一个文本文件,每行有 1 个选项。在每一行中,您可以按以下格式指定名称-值对: NAME=VALUE,其中 name 是不带--前缀的长命令行选项名称 。您可以对命令行选项使用相同的语法。开头的行#被视为注释:

1
2
3
4
5
6
# sample configuration file for aria2c
listen-port=60000
dht-listen-port=60000
seed-ratio=1.0
max-upload-limit=50K
ftp-pasv=true

笔记

诸如用户/密码之类的机密信息可能包含在配置文件中。建议更改配置文件的文件模式位(例如),以免其他用户看到文件内容。chmod 600 aria2.conf

环境变量,例如${HOME},由 shell 扩展。这意味着配置文件中使用的那些变量不会被扩展。但是,${HOME}在配置文件中引用用户的主目录以指定文件路径很有用。因此,aria2 将${HOME}在以下选项值中找到的扩展到用户的主目录:

请注意,即使在命令行中使用了上述选项,也会发生这种扩展。这意味着扩展可能会发生 2 次:首先是 shell,然后是 aria2c。

数据文件

除传统的文件路径$HOME/.aria2/dht.dat,并 $HOME/.aria2/dht6.dat都指向现有文件,IPv4的DHT的路由表中保存的路径 $XDG_CACHE_HOME/aria2/dht.dat和IPv6 DHT的路由表中保存的路径$XDG_CACHE_HOME/aria2/dht6.dat

网路

默认情况下为 HTTP(S)/FTP/SFTP 启用 Netrc 支持。要禁用 netrc 支持,请指定--no-netrc选项。您的 .netrc 文件应该具有正确的权限 (600)。

如果机器名称以 开头.,aria2 将执行域匹配而不是精确匹配。这是 aria2 的扩展。例如域匹配,想象以下 .netrc 条目:

1
machine .example.org login myid password mypasswd

aria2.example.org域匹配.example.org并使用myidmypasswd.

一些域匹配示例如下:example.net不域匹配 .example.orgexample.org不域匹配.example.org ,因为前面的.。如果要匹配example.org,请指定 example.org

控制文件

aria2 使用控制文件来跟踪下载进度。控制文件放置在与下载文件相同的目录中,其文件名是下载文件的文件名后.aria2 附加。例如,如果您正在下载 file.zip,那么控制文件应该是 file.zip.aria2。(此命名约定有一个例外。如果您正在下载多 torrent,其控制文件是 torrent 的“顶级目录”名称并.aria2 附加。“顶级目录”名称是“名称”中的值info" 目录中的 torrent 文件。)

通常,一旦下载完成,控制文件就会被删除。如果 aria2 决定无法恢复下载(例如,从不支持恢复的 HTTP 服务器下载文件时),则不会创建控制文件。

通常,如果您丢失了控制文件,则无法继续下载。但是,如果您有一个带有文件块校验和的 torrent 或 metalink,您可以通过在命令行中为 aria2c 提供 -V 选项来恢复下载而无需控制文件。

输入文件

输入文件可以包含要下载的 aria2 URI 列表。您可以为单个实体指定多个 URI:使用 TAB 字符在一行中单独指定 URI。

每行都被视为在命令行参数中提供。因此它们受--force-sequential--parameterized-uri选项的影响。

由于输入文件中的 URI 是由 aria2 直接读取的,因此不能用单(')或双(")引用来引用它们。

以 开头的行#被视为注释并被跳过。

此外,可以在每行 URI 之后指定以下选项。这些可选行必须以空格开头。

all-proxyall-proxy-passwdall-proxy-userallow-overwriteallow-piece-length-changealways-resumeasync-dnsauto-file-renamingbt-enable-hook-after-hash-checkbt-enable-lpdbt-exclude-trackerbt-external-ipbt-force-encryptionbt-hash-check-seedbt-load-saved-metadatabt-max-peersbt-metadata-onlybt-min-crypto-levelbt-prioritize-piecebt-remove-unselected-filebt-request-peer-speed-limitbt-require-cryptobt-save-metadatabt-seed-unverifiedbt-stop-timeoutbt-trackerbt-tracker-connect-timeoutbt-tracker-intervalbt-tracker-timeoutcheck-integritychecksumconditional-getconnect-timeoutcontent-disposition-default-utf8continuedirdry-run enable-http-keep-aliveenable-http-pipeliningenable-mmapenable-peer-exchangefile-allocationfollow-metalinkfollow-torrentforce-saveftp-passwdftp-pasvftp-proxyftp-proxy-passwdftp-proxy-userftp-reuse-connectionftp-typeftp-usergidhash-check-onlyheaderhttp-accept-gziphttp-auth-challengehttp-no-cachehttp-passwdhttp-proxyhttp-proxy-passwdhttp-proxy-userhttp-userhttps-proxyhttps-proxy-passwdhttps-proxy-userindex-outlowest-speed-limitmax-connection-per-servermax-download-limitmax-file-not-foundmax-mmap-limitmax-resume-failure-tries max-triesmax-upload-limitmetalink-base-urimetalink-enable-unique-protocolmetalink-languagemetalink-locationmetalink-osmetalink-preferred-protocolmetalink-versionmin-split-sizeno-file-allocation-limitno-netrcno-proxyoutparameterized-uripausepause-metadatapiece-lengthproxy-methodrealtime-chunk-checksumrefererremote-timeremove-control-fileretry-waitreuse-urirpc-save-upload-metadataseed-ratioseed-timeselect-filesplitssh-host-key-mdstream-piece-selectortimeouturi-selectoruse-headuser-agent

这些选项与命令行选项中的选项具有完全相同的含义,但它仅适用于它所属的 URI。请注意,--必须去除输入文件前缀中的选项。

比如uri.txt的内容是:

1
2
3
4
http://server/file.iso http://mirror/file.iso
  dir=/iso_images
  out=file.img
http://foo/bar

如果使用选项执行 aria2 ,则 另存为并从和下载。该文件 是从下载并保存为.-i uri.txt -d /tmp``file.iso``/iso_images/file.img``http://server/file.iso``http://mirror/file.iso``bar``http://foo/bar``/tmp/bar

在某些情况下,out参数不起作用。有关--out 限制,请参阅选项说明。

服务器性能配置文件

本节介绍服务器性能配置文件的格式。该文件是纯文本文件,每行有几NAME=VALUE对,以逗号分隔。目前可以识别以下名称:

  • host

    服务器的主机名。必需的。

  • protocol

    此配置文件的协议,例如 ftp、http。必需的。

  • dl_speed

    在上一次下载中观察到的平均下载速度(以每秒字节数为单位)。必需的。

  • sc_avg_speed

    在上一次下载中观察到的平均下载速度(以每秒字节数为单位)。此值仅在下载是在单连接环境中完成且仅由 AdaptiveURISelector 使用时才会更新。可选的。

  • mc_avg_speed

    在上一次下载中观察到的平均下载速度(以每秒字节数为单位)。只有在多连接环境中完成下载并且仅由 AdaptiveURISelector 使用时,才会更新此值。可选的。

  • counter

    服务器使用了多少次。目前该值仅由 AdaptiveURISelector 使用。可选的。

  • last_updated

    与此服务器的 GMT 上次联系时间,以自纪元以来的秒数指定(1970 年 1 月 1 日的 00:00:00,UTC)。必需的。

  • status

    当无法访问服务器或出现服务中断或超时时设置 ERROR。否则,设置为 OK。

这些字段必须存在于一行中。字段的顺序并不重要。您可以放置上述以外的对;他们只是被忽略了。

一个例子如下:

1
2
host=localhost, protocol=http, dl_speed=32000, last_updated=1222491640, status=OK
host=localhost, protocol=ftp, dl_speed=0, last_updated=1222491632, status=ERROR

杂项

控制台读数

下载文件时,aria2 会向控制台打印读数以显示下载进度。控制台读数如下所示:

1
[#2089b0 400.0KiB/33.2MiB(1%) CN:1 DL:115.7KiB ETA:4m51s]

本节介绍这些数字和字符串的含义。

  • #NNNNNN

    GID 的前 6 个字符作为十六进制字符串。GID 是每个下载的唯一 ID,在 aria2 内部。GID 在使用 RPC 接口与 aria2 交互时特别有用。

  • X/Y(Z%)

    完成长度、总文件长度及其进度。如果 --select-file使用,这是所选文件的总和。

  • SEED

    aria2 播种完成的种子时的共享比率。

  • CN

    aria2 已建立的连接数。

  • SD

    aria2 所连接的播种机数量。

  • DL

    下载速度(每秒字节数)。

  • UL

    上传速度(每秒字节数)和上传的字节数。

  • ETA

    完成下载的预期时间。

当正在进行不止一次下载时,为了显示多次下载的信息,将省略上述某些信息。并且整体下载和上传速度显示在行首。

当 aria2 正在分配文件空间或验证校验和时,它还会打印这些操作的进度:

  • 文件分配

    GID,已分配的长度和总长度(以字节为单位)。

  • 校验和

    GID,已验证的长度和总长度(以字节为单位)。

例子

HTTP/FTP 分段下载

下载文件

1
$ aria2c "http://host/file.zip"

笔记

要停止下载,请按Ctrl-C。您可以通过在同一目录中使用相同参数运行 aria2c 来恢复传输。只要 URI 指向同一个文件,您就可以更改它们。

从两个不同的 HTTP 服务器下载文件

1
$ aria2c "http://host/file.zip" "http://mirror/file.zip"

使用多个连接从一台主机下载文件

1
$ aria2c -x2 -k1M "http://host/file.zip"

笔记

-x 选项指定允许的连接数,而 -k 选项指定块的大小。

同时从 HTTP 和 FTP 服务器下载文件

1
$ aria2c "http://host1/file.zip" "ftp://host2/file.zip"

同时下载文本文件中列出的文件

1
$ aria2c -ifiles.txt -j2

笔记

-j 选项指定并行下载的数量。

使用代理

对于 HTTP:

1
2
$ aria2c --http-proxy="http://proxy:8080" "http://host/file"
$ aria2c --http-proxy="http://proxy:8080" --no-proxy="localhost,127.0.0.1,192.168.0.0/16" "http://host/file"

对于 FTP:

1
$ aria2c --ftp-proxy="http://proxy:8080" "ftp://host/file"

笔记

有关详细信息, 请参阅--http-proxy--https-proxy、和。您可以在环境变量中指定代理。参见环境部分。--ftp-proxy--all-proxy--no-proxy

使用授权的代理

1
2
$ aria2c --http-proxy="http://username:password@proxy:8080" "http://host/file"
$ aria2c --http-proxy="http://proxy:8080" --http-proxy-user="username" --http-proxy-passwd="password" "http://host/file"
1
$ aria2c --follow-metalink=mem "http://host/file.metalink"
1
$ aria2c -p --lowest-speed-limit=4000 file.metalink

笔记

要停止下载,请按Ctrl-C。您可以通过在同一目录中使用相同参数运行 aria2c 来恢复传输。

下载几个本地的metalink文件

1
$ aria2c -j2 file1.metalink file2.metalink

仅下载选定的文件

1
$ aria2c --select-file=1-4,8 file.metalink

笔记

使用 -S 选项将索引打印到控制台。

1
$ aria2c --metalink-location=jp,us --metalink-version=1.1 --metalink-language=en-US file.metalink

BitTorrent 下载

使用远程 BitTorrent 文件下载文件

1
$ aria2c --follow-torrent=mem "http://host/file.torrent"

使用本地 torrent 文件下载

1
$ aria2c --max-upload-limit=40K file.torrent

笔记

–max-upload-limit 指定最大上传速率。

笔记

要停止下载,请按Ctrl-C。您可以稍后通过在同一目录中使用相同参数运行 aria2c 来恢复传输。

使用 BitTorrent Magnet URI 下载

1
$ aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"

笔记

在命令行上指定 URI 时,不要忘记引用包含& 单 ( ') 或双 ( ") 引号字符的BitTorrent Magnet URI 。

下载 2 个种子

1
$ aria2c -j2 file1.torrent file2.torrent

通过 torrent 和 HTTP/FTP 服务器并行下载文件

1
$ aria2c -Ttest.torrent "http://host1/file" "ftp://host2/file"

仅下载特定文件(通常称为“选定下载”)

1
$ aria2c --select-file=1-4,8 file.torrent

笔记

使用 -S 选项将索引打印到控制台。

下载 .torrent 文件,但不要下载 torrent

1
$ aria2c --follow-torrent=false "http://host/file.torrent"

指定输出文件名

要为 BitTorrent 下载指定输出文件名,您需要知道 torrent 中文件的索引(请参阅 参考资料--show-files)。例如,输出如下所示:

1
2
3
4
5
6
7
8
idx|path/length
===+======================
  1|dist/base-2.6.18.iso
   |99.9MiB
---+----------------------
  2|dist/driver-2.6.18.iso
   |169.0MiB
---+----------------------

要将“dist/base-2.6.18.iso”保存在“/tmp/mydir/base.iso”中并将“dist/driver-2.6.18.iso”保存在“/tmp/dir/driver.iso”中,请使用以下命令:

1
$ aria2c --dir=/tmp --index-out=1=mydir/base.iso --index-out=2=dir/driver.iso file.torrent

更改传入对等连接的侦听端口

1
$ aria2c --listen-port=7000-7001,8000 file.torrent

笔记

由于 aria2 没有为端口转发配置防火墙或路由器,因此由您手动完成。

指定种子下载完成后停止播种的条件

1
$ aria2c --seed-time=120 --seed-ratio=1.0 file.torrent

笔记

在上例中,程序在下载完成或种子比率达到 1.0 后 120 分钟后停止播种。

限制上传速度

1
$ aria2c --max-upload-limit=100K file.torrent

启用 IPv4 DHT

1
$ aria2c --enable-dht --dht-listen-port=6881 file.torrent

笔记

DHT 使用 UDP。由于 aria2 没有为端口转发配置防火墙或路由器,因此由您手动完成。

启用 IPv6 DHT

1
$ aria2c --enable-dht6 --dht-listen-port=6881 --dht-listen-addr6=YOUR_GLOBAL_UNICAST_IPV6_ADDR

笔记

对于 IPv6,aria2 使用与 IPv4 相同的端口。

添加和删除跟踪器 URI

忽略在 file.torrent 中定义的所有跟踪器公告 URI 并使用 http://tracker1/announcehttp://tracker2/announce而是:

1
$ aria2c --bt-exclude-tracker="*" --bt-tracker="http://tracker1/announce,http://tracker2/announce" file.torrent

更高级的 HTTP 功能

1
$ aria2c --load-cookies=cookies.txt "http://host/file.zip"

笔记

您可以不加修改地使用 Firefox/Mozilla/Chromium 的 cookie 文件。

恢复由网络浏览器或其他程序启动的下载

1
$ aria2c -c -s2 "http://host/partiallydownloadedfile.zip"

笔记

这仅在初始下载不是多分段时才有效。

SSL/TLS 的客户端证书授权

指定一个 PKCS12 文件如下:

1
$ aria2c --certificate=/path/to/mycert.p12

笔记

中指定的文件--certificate必须包含一个 PKCS12 编码的证书和密钥。密码必须为空。

或者,如果支持 PEM 文件,请使用如下命令:

1
$ aria2c --certificate=/path/to/mycert.pem --private-key=/path/to/mykey.pem https://host/file

笔记

中指定的文件--private-key必须解密。给出加密时的行为是未定义的。

使用给定的 CA 证书验证 SSL/TLS 服务器

1
$ aria2c --ca-certificate=/path/to/ca-certificates.crt --check-certificate https://host/file

笔记

此选项仅在针对 GnuTLS 或 OpenSSL 编译 aria2 时可用。WinTLS 和 AppleTLS 将始终使用系统证书存储。而不是``–ca-certificate`在该商店中 安装证书。

RPC

使用 SSL/TLS 加密 RPC 流量

指定服务器 PKC12 文件:

1
$ aria2c --enable-rpc --rpc-certificate=/path/to/server.p12 --rpc-secure

笔记

中指定的文件--rpc-certificate必须包含一个 PKCS12 编码的证书和密钥。密码必须为空。

或者,当支持 PEM 文件(GnuTLS 和 OpenSSL)时,指定服务器证书文件和私钥文件如下:

1
$ aria2c --enable-rpc --rpc-certificate=/path/to/server.crt --rpc-private-key=/path/to/server.key --rpc-secure

以及更多高级功能

限制下载速度

每次下载:

1
$ aria2c --max-download-limit=100K file.metalink

全面的:

1
$ aria2c --max-overall-download-limit=100K file.metalink

修复损坏的下载

1
$ aria2c -V file.metalink

笔记

与带有块校验和的 BitTorrent 或 Metalink 一起使用时,可以有效地修复损坏的下载。

如果下载速度低于指定限制,则断开连接

1
$ aria2c --lowest-speed-limit=10K file.metalink

参数化 URI 支持

您可以指定一组零件:

1
$ aria2c -P "http://{host1,host2,host3}/file.iso"

您可以指定数字序列:

1
$ aria2c -Z -P "http://host/image[000-100].png"

笔记

如果 URI 不指向同一个文件,则需要 -Z 选项,例如在上面的示例中。

您可以指定计步器:

1
$ aria2c -Z -P "http://host/image[A-Z:2].png"

验证校验和

1
$ aria2c --checksum=sha-1=0192ba11326fe2298c8cb4de616f4d4140213837 http://example.org/file

并行下载任意数量的 URI、metalink、torrent

1
$ aria2c -j3 -Z "http://host/file1" file2.torrent file3.metalink

BitTorrent 加密

使用 ARC4(混淆)加密整个有效负载:

1
$ aria2c --bt-min-crypto-level=arc4 --bt-require-crypto=true file.torrent

也可以看看

项目网址:https : //aria2.github.io/

Metalink 主页:http : //www.metalinker.org/

Metalink 下载描述格式: RFC 5854

Licensed under CC BY-NC-SA 4.0