aria2 是一个开源命令行应用程序,允许用户从多个源和协议下载文件。除了Linux,它还支持Android,Mac OS X和Microsoft Windows操作系统。
该软件为用户提供了直接从HTTP / HTTPS,FTP,Metalink和BitTorrent源下载文件的方法,只使用终端仿真器应用程序,如GNOME终端,XTerm或Xfce终端。
功能一目了然
其主要功能包括多连接下载功能,功能齐全的BitTorrent客户端,支持Metalink 3/4和Metalink / HTTP文件格式(Metalink下载说明格式)和远程控制。
该应用程序非常轻量级,旨在处理烦人的CGI虚假下载页面,可以通过标准的RPC(远程过程调用)接口进行操作,例如XML-RPC和JSON-RPC(通过WebSocket或HTTP)。 / p>
内置的BitTorrent客户端允许用户下载Magnet和Torrent文件,并支持本地对等发现,DHT(分布式哈希表),PEX(对等交换),加密,网络种子,UDP(用户数据报)协议)跟踪器和选择性下载。
存在各种图形用户界面
aria2软件提供各种图形用户界面(GUI),包括备受赞誉的uGet下载管理器和webui-aria2基于Web的界面。同样重要的是,程序的命令实际上是aria2c而不是aria2。
aria2’ s开发人员提供详细的用法示例,用于同时从两个不同的来源从Web下载,每个主机使用两个连接,文本文件中的URI,以及Magnet,BitTorrent和Metalink URI,该项目的主页。
在Linux上,项目仅作为源存档分发,允许有经验的用户在任何Linux发行版中配置,编译和安装程序。但是,新手用户可以从Linux发行版的默认软件频道轻松安装它。
底线
总体而言,aria2是一个备受赞誉且功能强大的CLI程序,具有众多有吸引力的功能,包括支持多种协议和源,以及跨平台可用性。
什么是新的在此版本中:
- 此版本修复了导致mingw构建中CPU使用率过高的错误。
版本中的新功能:
- 修复未及时显示进度摘要的错误
版本1.22.0中的新功能:
- 修复未及时显示进度摘要的错误
版本1.19.2中的新功能:
- 修复未及时显示进度摘要的错误
版本1.19.0中的新功能:
- android:使用zlib构建和链接
- 以前,我们与NDK附带的zlib链接,但似乎这不是NDK API的一部分,因此可能会破坏我们的应用程序。
- 允许在配置文件中指定netrc-path
- 添加--netrc-path以覆盖默认的.netrc搜索路径。来自Ryan Steinmetz的补丁
- 如果校验和验证失败,则退出32状态代码
- 使用libssh2 添加SFTP支持
- aria2现在可以通过sftp协议下载文件:aria2c sftp:// ....添加了--ssh-host-key-md选项以指定预期服务器的指纹。
- 添加Dockerfile以交叉编译aria2 for RaspberryPI(armhf)
- 来自Igor Khomyakov的补丁
- 链路聚合的多接口支持
- 添加--multiple-interface选项。来自Sarim Khan的补丁
- 当-V报告下载完成时运行on-bt-download-complete命令
- 在MultiDiskFileAllocationIterator中使用专用的DiskWriter
- 我们必须使用专用的DiskWriter而不是(* entryItr _) - > getDiskWriter()。这是因为如果OpenedFileCounter关闭了文件,SingleFileAllocationIterator无法重新打开文件。
- 使用不包含errno或系统的libc系统修复getrandom
- 首先不支持ENOSYS。
- 不要在aria2.getGlobalOption RPC方法 中发回rpc-secret选项值
- 使libuv默认关闭
- 修复了慢速RPC响应
- 修复getrandom接口检测
版本1.18.9中的新功能:
- 支持HTTP日期结束" + 0000"以及“GMT”。
- 修改getRandom设施
- 添加了所有具有最终优先级的Metalink网址的调试日志
- 使用gcc-4.9和android-16 API级别进行android build
- 添加--bt-force-encryption选项
- TLS:使用OpenSSL修复内存泄漏
- 警告不安全的SSL连接。
- 添加--min-tls-version选项
- LibsslTLSContext:禁用SSLv3并启用ECDHE密码套件
- 添加Dockerfile.mingw
- 修复JSON批处理响应向量为空时崩溃
- 修复doc:错误的rpc秘密令牌前缀
- 添加--bt-detach-seed-only选项
- mingw:使用MoveFileExW进行更好的原子移动
- 使用与FileFile :: vprintf 混淆的libintl的vprintf宏
- 使用代理时修复OSX上的崩溃
- 支持Adler32校验和
版本1.18.8中的新功能:
- WinTLS:修复突然连接关闭和关闭。
- 修复GH-277
- LibsslTLSSession:将readData中的0视为EOF
- 在Windows二进制文件中启用dynamicbase和nxcompat
- 修复OpenedFileCounter中的崩溃:: ensureMaxOpenFileLimit()
- 如果未在其中一个活动RequestGroup中初始化PieceStorage和/或DiskAdaptor,则会发生崩溃。
- mingw32:修复aria2未读取管道标准输入的错误
- 使用no_proxy时修复std :: length_error
- 这是8cada497中引入的回归。
- 尝试为RLIMIT_NO_FILE 设置合理的限制
- E.g。在OSX上,默认值为256,与torrent下载不完全兼容。
- 延迟验证失败,而不是PBKDF2
版本1.18.5中的新功能:
- 设置DSCP值时忽略错误
- 设置DSCP是附加功能,启用它不应该完全中止下载。此更改修复了Windows生成不会执行bittorrent下载的错误。
版本1.18.4中的新功能:
- 在aria2rpc 中添加了对RPC通道加密的支持
- David Macek的补丁
- 添加aria2.saveSession RPC方法
- 此方法将当前会话保存到--save-session选项指定的文件。该方法返回“OK”。如果成功的话。
- 将numStoppedTotal键添加到aria2.getGlobalStat()RPC方法响应
- 它显示当前会话中已停止的下载次数,并且不受--max-download-result选项的限制。另一方面,现有的numStopped键也显示已停止下载的次数,但它的上限为--max-download-result选项。
- 更好地处理30x HTTP状态代码
- 参考:http://greenbytes.de/tech/tc/httpredirects/
- 使用--rpc-secret选项 实施新的RPC授权
- 将以后的弃用警告添加到--rpc-user和--rpc-passwd。如果既未设置-rpc-secret也未设置-rpc-user / rpc-passwd的组合,则发出警告。
- 添加--enable-color选项以启用/禁用终端颜色输出
- 添加DSCP支持
- gnutls:如果返回错误不致命,请不要失败握手
- 使用OCSP状态扩展和非阻塞套接字添加解决方法GnuTLS错误
- GnuTLS版本3.1.3 - 3.1.18和3.2.0 - 3.2.8(含),有此错误。对于这些版本,我们禁用OCSP状态扩展。
- 使GnuTLS日志级别依赖于aria2个
版本1.18.3中的新功能:
- 如果在分配BtProgressInfoFile对象之前取消原因失败,则修复崩溃
- 在makerelease-osx 中启用并检查PIE
- 修复删除MultiDiskAdaptor时未减少numOpenFile_的错误。此错误导致RequestGroupMan :: ensureMaxOpenFileLimit 中出现断言错误
版本1.18.1中的新功能:
- 此版本修复了影响百分比编码的错误文件名编码。
- 它在证书导入中添加了PKCS12支持。
- 它还添加了消息摘要函数ARC4 cipher和bignum的实验性内部实现。
- 这意味着构建BitTorrent支持不需要外部库,但此功能仍标记为实验性。
- 此版本还修复了使用NDK r9的Android版本。
版本1.18.0中的新功能:
- 此版本将默认磁盘高速缓存大小更改为16 MiB。
- 要更改默认大小,请添加--with-disk-cache配置选项。
- 使用的URI现在也由--save-session选项保存。
- 如果给出--force-save,则现在始终保存控制文件。
- 改进了对Mingw构建的ctrl-c处理。
- 不再提供内部intl库。 >从此版本开始,构建aria2可执行文件需要C ++ 11编译器。
- 对于gcc,至少需要4.6.3。
版本1.17.1中的新功能:
- 此版本增加了对Android构建的大文件支持和对事件轮询机制的libuv支持。 AppleTLS现在支持Snow Leopard(10.6)。添加了实验性libaria2 C ++库API。
- 的变化:
- 添加代码以检测rst2html.py或rst2html
- AppleTLS:正确支持Snow Leopard(10.6)
- 在BitTorrent本地对等方发现中启用组播环回
- 使用gnutls build 启用TLS1.1
- 支持off64_t for Android build
- Android NDK R8e不提供ftruncate64,但是bionic有汇编程序代码来访问内核函数。我们从android源代码库中借用了那些ftruncate64.S文件。事实证明,NDK R8e中的x86 asm.h也被破坏了,所以最新的asm.h也被借用了。
- 使用AC_CHECK_LIB检查zlib可用性。这是zlib 1.2.3的解决方法,它没有附带pkg-config文件。
- 如果在streamFilter完成之前收到EOF,则处理响应已完成。这可以解决带有错误分块编码的Web服务器的错误。
- uitos:修复一个错误的错误
- 添加配置支持以链接tcmalloc_minimal和/或jemalloc
- tcmalloc_minimal和jemalloc在承诺内存消耗(〜-30%)和性能(例如,更少的页面错误,〜-60%)方面优于Windows上的本机malloc实现(MSVCRT),具体取决于当然,关于实际工作量。下载队列越长,影响越大;)
- 在* nix上,图片有点不同... tcmalloc通常仍然优于原生malloc实现,但不如Windows上显着。然而,jemalloc仅略微优于最近的原生Linux实现,而它已被某些BSD用作本机分配器。
- tcmalloc是gperftools的一部分,非常成熟,现在已经过测试。但是,它在默认配置中不适用于OSX。
- jemalloc是至少在FreeBSD和NetBSD上的默认分配器,在Firefox中使用。 http://www.canonware.com/jemalloc/index.html
- 关闭d'tor 中的GZipFiles
- 将libaria2,C ++库接口添加到aria2
- 添加缺少的sigaction检查
- 当下载的数据小于16KiB 时,不会刷新缓存的数据
- LibUV:实施LibuvEventPoll
版本1.17.0中的新功能:
- 此版本添加了Mac OS X本机SSL / TLS库支持。
- 默认情况下启用IPv6异步DNS,并且A / AAAA查找并行完成。
- 实现了简单的Happy Eyeballs算法,可以在连接到双栈主机上的IPv6主机时减少长时间超时。
- --save-session选项仅保存命令行或RPC指定的选项。
版本1.16.5中的新功能:
- 此版本修复了导致无效范围的错误请求范围从HTTP下载中的0开始时抛出的错误。
版本1.16.4中的新功能:
- 此版本修复了有效下载不存在的错误使用--save-session-interval保存,以及当下载结果的大小超过其最大值时aria2挂起的错误。
- 添加了BitTorrent UDP跟踪器支持。
- 如果使用--save-session指定的文件名以“.gz”结尾,则aria2以gzip格式存储会话文件。
- -i选项可以处理此gzip压缩文件以及纯文本文件。
- 添加了基于1.15.2的葡萄牙语翻译手册。
版本1.16.3中的新功能:
- 此版本修复了导致随机崩溃的错误。
- 它还修复了Windows上的套接字选项设置失败。
版本1.16.1中的新内容:
- 此版本增加了将GID持久化的功能会话。
- GID将使用--save-session保存。
- GID的持久性有几个限制。对于此更改,GID现在是64位二进制数据,并在RPC查询中由16个字符的十六进制字符串表示。
- 添加了磁盘缓存功能,这可能会减少磁盘活动。
- 控制台读数是redesigne
版本1.16.0中的新功能:
- 此版本在RPC中添加了SSL / TLS加密支持运输。
- 添加了新的RPC方法aria2.appendUri(它是aria2.changeUri的包装器)。
- Content-Disposition解析器现在符合RFC 6266标准。
- XmlParser,JSON和Bencode解析器中的资源泄漏已得到修复。
- 已修复上传的数据大小计算错误。
- 对于MinGW32构建,现在使用读/写共享模式打开文件。
版本1.15.1中的新功能:
- 此版本修复了阻止--bt-lpd-interface工作的错误。
- 如果RPC请求发送的某些选项对于下载类型是不可接受的,现在只需忽略它们,而不是完全拒绝RPC请求。
- 如果请求在HTTP级别无效,则aria2 RPC服务器现在返回4XX错误代码。
- 为了改进包装,添加了--with-bashcompletiondir配置选项。
- 此选项会覆盖将安装aria2c bash_completion文件的位置。
- 所有手册页现在由Sphinx 生成
版本1.14.1中的新功能:
- 此版本修复了阻止 - 的错误校验和选项正常工作。
- 如果在打开日志文件之前创建了警告级别日志,它还修复了未创建日志文件的错误。
- 现在aria2并不认为下载已经完成,因为文件大小匹配。
- 旧的行为是有问题的,因为aria2只是假定下载已经完成,但实际上并非如此。
版本1.14.0中的新功能:
- 此版本为aria2.changeOption和aria2.changeGlobalOption RPC方法添加了许多可用选项。
- 代理选项现在支持IPv6文字地址。
- 现在不推荐使用--metalink-server选项,而应使用--split选项。
- 在此版本中, - metalink-server是--split。 的别名
- 控制台读数中的格式ETA略有改变。
- 已添加选项--stop-with-process。
版本1.13.0中的新功能:
- 此版本修复了libgcrypt版本检查错误。
- 添加了几个命令行选项。
- 如果RPC请求参数的类型错误,aria2现在会返回错误响应。
- 对于MinGW32构建,添加了Unicode文件名支持。
- aria2现在默认使用libnettle和libgmp而不是libgcrypt。
- 如果要使用libgcrypt,请使用configure options --without-libnettle和--with-libgcrypt。
版本1.12.1中的新功能:
- 此版本添加了RFC 6249 Metalink / HTTP支持。当前实现仅使用rel =重复链接。 --enable-direct-io选项因性能问题而被弃用。由于最近的GnuTLS使用libnettle作为默认值而不是libgcrypt,因此该版本添加了libgcrypt的初始化代码。
版本1.11.1中的新功能:
- 此版本修复了aria2无法正常工作的错误在由于无效超时参数而导致kqueue()系统调用的平台上。
- 添加了--show-console-readout选项。此选项可切换控制台读数的外观。
版本1.10.8中的新功能:
- 此版本修复了以下情况发生的编译错误: -disable-NLS
- 配置选项。它还修复了 时发生的编译错误
- 系统没有fallocate()但是有posix_fallocate()。
版本1.10.7中的新功能:
- 此版本修复了在解析Metalink文档时导致内存泄漏的错误,如果aria2是使用expat构建的。
- 它还添加了几个退出状态代码,以帮助确定错误原因。
- --max-connection-per-server选项现在适用于Metalink。
- aria2现在将除了GID之外的文件和文件路径数传递给--on-download- *选项中指定的命令。
- MinGW32版本现在使用percent-encoding对文件路径中的非ASCII字符进行编码。
- aria2c的bash_completion文件现已包含在发行版中。
版本1.10.5中的新功能:
- 此版本修复了文件分配的错误即使指定了--file-allocation = none,也在HTTP中启用。
版本1.9.5中的新功能:
- 不要将previousUri_设置为“"”在重定向。
- 修正了Peer :: updateSeeder()以反映当前的位域。
- 使用aria2.changeGlobalOption修改日志和日志级别选项。这意味着您可以动态启动或停止记录并更改日志文件和日志级别。
- 修正了aria2在完成整个哈希检查(非部分哈希检查)之前停止的错误,aria2报告其文件已成功下载。它应该报告下载正在进行中,下一次调用aria2应该检查哈希。
- 修正了如果从SegmetnMan :: getCleanSegmentIfOwnerIsIdle()返回的段已写入了length>而损坏文件的错误0
- 如果在添加对等X之后在calculateStat()之前使用对等方X调用updateTransferStatFor,则修复了断言错误。
版本1.9.0中的新功能:
- Resurrected --http-proxy-user和--http-proxy-passwd选项。添加了--https-proxy-user, - https-proxy-passwd, - ftp-proxy-user, - ftp-proxy-passwd, - all-proxy-user, - all-proxy-passwd选项。
- 更新了俄语和简体中文翻译。
- 添加了--reuse-uri选项。此选项已存在很长时间,但已被隐藏。
- 修正了文件名为百分比编码的错误,必须在sendMdtm()中解码百分比。
- 添加了getServers XML-RPC方法。它返回当前连接的HTTP(S)/ FTP服务器和下载速度等。
- 为getUri XML-RPC方法的响应添加了'status'键。
- 添加了changeUri XML-RPC方法。此方法动态删除/添加URI。
- 用'_'替换文件路径中的空值或控制字符。对于MinGW32构建,还会替换Windows内核中不允许的其他字符。如果给定的字符串包含空字符或控制字符,util :: detectDirTraversal()现在返回true。
- 如果其中的路径数据包含目录遍历指令,则丢弃torrent文件。如果nameink属性包含目录遍历指令,则丢弃Metalink3格式的文件元素。忽略metalink的name属性:Metalink3格式的签名元素,如果它包含目录遍历指令。
- 添加了Metalink4支持。具有相同元库的文件被分组并下载到一个RequestGroup中。
- 添加了--bt-lpd-interface选项以指定用于本地对等发现的接口。 LpdMessageDispatcher对象现在有自己的套接字。 LpdMessageReceiver的套接字绑定到多播地址,仅接收多播数据包。
- 添加了本地同行发现。默认情况下禁用它。使用--bt-enable-lpd启用该功能。
版本1.6.1中的新功能:
- 此版本修复了HTTP / FTP中的内存泄漏下载。
- 它还修复了由XML-RPC changeOption和changeGlobalOption方法更改的选项值被清除的错误。
- 现在,User-agent和Peer ID包含版本号。
- 简体中文翻译已更新。
版本1.6.0中的新功能:
- 此版本更改了XML-RPC服务器的默认行为。
- 现在,出于安全原因,它默认只侦听本地环回接口。
- 如果要从远程主机连接到aria2c,请使用--xml-rpc-listen-all选项。
- 用Ruby编写的XML-RPC客户端示例脚本现在包含在doc / xmlrpc目录下的存档中。
- 帮助类别标签现在开始“#”将它们与关键字搜索区分开来。
- 删除了--retry-wait选项,因为它在架构下无法正常工作。
- 保加利亚语,俄语,斯洛伐克语和日语翻译已更新。
1.5.0版中的新功能:
- 此版本增加了对多文件torrent的WEB-Seeding支持。 --bt-stop-timeout选项已添加。如果在连续的给定秒内下载速度为0,此功能将停止BitTorrent下载。 aria2现在尝试将所有已解析的地址连接到HTTP(S)/ FTP中的远程服务器,直到它连接为止。对于XML-RPC,添加了两个新方法:aria2.tellWaiting和aria2.getVersion。 aria2.tellStatus方法对停止/完成下载的响应中提供了错误代码。 - use-head现在默认是禁用的,因为使用HEAD请求会导致某些网站出现问题。 -D选项的行为已更改:如果指定了-D,则将当前工作目录设置为/,并将stdin,stdout和stderr重定向到/ dev / null。此版本修复了在执行--on-download- *选项中指定的命令时创建僵尸进程的错误,以及在通过它们发出时忽略http-user,http-passwd,ftp-user和ftp-passwd的错误XML-RPC。更新了俄语,意大利语,丹麦语,保加利亚语,日语和乌克兰语翻译。
版本1.4.1中的新功能:
- 在getPeers xml-rpc方法中记录缺少的播种机。
- 将uploadLength和numSeeders添加到tellStatus xml-rpc方法的响应中。
- 添加了缺少的#ifdef ENABLE_ASYNC_DNS后卫。
- 在MinGW中使用CreateProcess()添加了fork()仿真
版本1.4.0中的新功能:
- 添加斯洛伐克语翻译。更新乌克兰语和巴西葡萄牙语翻译。感谢所有翻译。
- 在持有.torrent文件时,分别使用name.utf-8和path.utf-8密钥,其优先级高于名称和路径密钥。
- 添加了--xml-rpc-max-request-size选项以限制XML-RPC请求的大小。
- 由于即将推出的libgnutls 2.8没有libgnutls-config,请首先使用pkg-config检查libgnutls的存在。如果失败,则回退到旧宏libgnutls.m4。
- 添加了--save-cookies选项。
- 添加了下载开始和停止时执行命令的功能。您还可以为特定情况指定命令,例如完整/错误下载。添加了--on-download-start, - on-download-stop, - on-download-complete和--on-download-error选项。
- KiB / s缩写为KiBs,其精度降至1,以节省控制台读数空间。如果速度> 1,它们现在以MiB / s显示。 1024KiB /秒。
- 将SEED添加到控制台输出,该输出表示当前客户端连接的播种器数量。
- 在异常消息中添加了源文件名(__ FILE__)和行号(__ LINE__)。
- 修正了POU同伴在播种时从不窒息的错误。
- DownloadResult现在有FileEntry列表。下载摘要显示第一个选定文件的路径和多文件torrent的剩余文件数。
- 为XML-RPC添加了BASIC身份验证。添加了--xml-rpc-user和--xml-rpc-passwd选项。
- 添加了XML-RPC接口。请参阅http://apps.sourceforge.net/trac/aria2/wiki/XmlrpcInterface 中的完整API规范
- 删除了--enable-http-server和--http-server-listen-port选项。添加了--enable-xml-rpc和--xml-rpc-listen-port。用于报告HTML中的下载进度的--enable-http-server的原始功能已被正式删除。如果客户端支持keep-alive,则保持XML-RPC连接。
- 添加了可在-i list和xml-rpc add *命令中指定的更多选项。请参阅aria2c手册页中的输入文件。
版本1.3.3中的新功能:
- 更新了乌克兰语,俄语和简体中文翻译。感谢所有翻译。
- 使用autoconf 2.63和automake 1.10.2生成configure和Makefile.in。从configure.ac中删除了AC_GNU_SOURCE,因为它是AC_USE_SYSTEM_EXTENSIONS的子集,我们使用后者。
- 支持使用分块传输编码和内容长度的分段下载。
- 应用Pascal Bleser的补丁:将ftp的MAX_RECV_BUFFER从4096增加到65536(对于疯狂的大型ftp登录横幅)
- 修复了文件大小错误的只读文件会导致错误的错误,因为无法将其截断为正确的大小。现在,如果文件大小与预期文件大小不同,请以可写模式重新打开文件。
- 修复了--check-integrity选项aria2报告下载文件大小为0的错误,即使文件的某些部分已正确下载也是如此。对于下载文件包含最后一个文件的错误,此错误是可重现的。对于带有文件分配的单一torrent,此错误不会显示。
版本1.3.2中的新功能:
- 更新乌克兰语翻译。
- 仅对单个文件的torrent使用url-list(web-seeding)。这与使用torrent和URI的Metalink文件基本相同。
- 修正了阻止torrent下载完成的错误。所有种子都没有显示出这个漏洞。影响这个bug的种子满足((N + 7)/ 8)%4 == 0和N2!= 0,其中N是碎片数。
- 当GZipDecoder :: decode()返回0字节时修复了分段错误。
- 修复了如果损坏的Web服务器返回没有最后“0”的分块响应而导致无限循环的错误。大块标记并关闭连接。
- 为不可恢复的下载实例化正确配置的HttpDownloadCommand。
- 有效重写位域操作功能。
- 为mingw32设置条件HAVE_GETADDRINFO为true。它在r1162中被意外设置为假。
- 在拆分存储桶时,增加不拥有本地节点ID的存储区的prefixLength。
版本1.3.1中的新功能:
- 修正了上传限制超过--seed-ratio选项中指定的值的错误,具体取决于执行SeedCheckCommand的时间。
- 修复了删除对等方会话上传/下载长度的错误在重新计算之前在_cachedTransferStat中计算两次。这影响了shara比率的计算,导致aria2错误地确定达到了指定的份额比率。
版本1.3.0中的新功能:
- 为--file-allocation选项添加了'falloc'参数。 'falloc'分配模式使用posix_fallocate()系统调用在磁盘上分配文件。如果您使用较新的文件系统,如ext4(支持扩展区),btrfs或xfs,'falloc'是您的最佳选择。它几乎立即分配大量(少量GiB)文件。不要对遗留文件系统(如ext3)使用'falloc',因为它与'prealloc'几乎相同,并且它会完全阻止aria2,直到分配完成。如果您的系统没有posix_fallocate()系统调用,则'falloc'可能不可用。
- 添加了--bt-tracker-interval选项以指定跟踪器请求之间的间隔。如果指定了非零值,则aria2使用它并忽略跟踪器响应中的间隔值。如果指定为零,则aria2根据tarcker响应和下载进度确定inteval值。
- 减少RarestPieceSelector中的CPU使用率。
- 达到下载限制/上传限制时降低CPU使用率。
- 将--uri-selector选项的默认值从'inorder'更改为'feedback'
- 在例外消息中包含当前URI。
- 修正了在测试所有URI并且未达到超时时AdaptiveURISelector不选择任何URI的错误。
- 当所有未使用的URI用完时重用URI。
- 删除了--direct-file-mapping选项和CopyDiskAdaptor。
- 添加了--dry-run选项。在此模式下,aria2只检查远程文件是否可用且不下载数据。此选项对HTTP / FTP下载有效,并且在此模式下会取消BitTorrent下载。
- 使用OptionParser解析-i list中的选项。
- 请勿在重试时重置URI,以避免因重定向而导致额外的往返行程。
- 添加了--index-out选项,用于指定torrent的每个文件路径。 --show-files选项中显示的索引用于指定应更改哪个文件路径。例如,要更改index = 2的文件路径,请使用--index-out = 2 = aria2.tar.bz2。您可以多次使用此选项: - index-out = 1 = aria2.tar.bz2 --index-out = 2 = aria2-opt.tar.bz2。短手形式-O也可用。可以在-i list中指定此选项。
- 添加了--max-overall-download-limit选项。现在,当--max-overall-upload-limit选项具有非零值时,不会忽略--max-upload-limit选项。 aria2按顺序检查下载(上传)速度:首先检查总体速度限制,如果未超过,则检查每次下载的速度限制。因此,您可以指定两个值。例如,设置--max-overall-download-limit = 1M和--max-download-limit = 500K,以防止一次下载进入所有整体速度限制。
- 现在可以在uri列表(-i list)中指定select-file。
- 使--max-concurrent-downloads选项的上限值无限制。
- 修正了如果前一个文件的长度为0,即使与前一个文件共享同一块,也不会创建磁盘写入器的错误。
- 在BitTorrent中,以只读模式打开文件以进行哈希检查。之后,仅在下载未完成时才以读/写模式重新打开文件。
- 添加了--http-auth-challenge选项。如果设置为true,则aria2仅在服务器请求时才发送HTTP授权标头。如果设置为false,则始终将授权标头发送到服务器。这对于在需要身份验证时不响应401代码的服务器很有用。有一个例外:如果用户名和密码嵌入在URI中,则无论此选项如何,都始终将授权标头发送到服务器。此选项的默认值为false。
版本1.3.0 Beta Build 20090322中的新功能:
- 添加了--bt-tracker-interval选项以指定跟踪器请求之间的间隔。如果指定了非零值,则aria2使用它并忽略跟踪器响应中的间隔值。如果指定为零,则aria2根据tarcker响应和下载进度确定inteval值。
- 减少RarestPieceSelector中的CPU使用率。
- 达到下载限制/上传限制时降低CPU使用率。
- 将--uri-selector选项的默认值从'inorder'更改为'feedback'
- 在例外消息中包含当前URI。
- 修正了在测试所有URI并且未达到超时时AdaptiveURISelector不选择任何URI的错误。
- 当所有未使用的URI用完时重用URI。
- 删除了--direct-file-mapping选项和CopyDiskAdaptor。
- 添加了--dry-run选项。在此模式下,aria2只检查远程文件是否可用且不下载数据。此选项对HTTP / FTP下载有效,并且在此模式下会取消BitTorrent下载。
- 使用OptionParser解析-i list中的选项。
- 请勿在重试时重置URI,以避免因重定向而导致额外的往返。
- 添加了--index-out选项,用于指定torrent的每个文件路径。这里--show-files选项中显示的索引用于指定应该更改哪个文件路径。例如,要更改index = 2的文件路径,请使用--index-out = 2 = aria2.tar.bz2。您可以多次使用此选项: - index-out = 1 = aria2.tar.bz2 --index-out = 2 = aria2-opt.tar.bz2。短手形式-O也可用。可以在-i list中指定此选项。
- 添加了--max-overall-download-limit选项。现在,当--max-overall-upload-limit选项具有非零值时,不会忽略--max-upload-limit选项。 aria2按顺序检查下载(上传)速度:首先检查总体速度限制,如果未超过,则检查每次下载的速度限制。因此,您可以指定两个值。例如,设置--max-overall-download-limit = 1M和--max-download-limit = 500K,以防止一次下载进入所有整体速度限制。
- 现在可以在uri列表(-i list)中指定select-file。
- 使--max-concurrent-downloads选项的上限值无限制。
- 修正了如果前一个文件的长度为0,即使与前一个文件共享同一块,也不会创建磁盘写入器的错误。
- 在BitTorrent中,以只读模式打开文件以进行哈希检查。之后,仅在下载未完成时才以读/写模式重新打开文件。
- 添加了--http-auth-challenge选项。如果设置为true,则aria2仅在服务器请求时才发送HTTP授权标头。如果设置为false,则始终将授权标头发送到服务器。这对于在需要身份验证时不响应401代码的服务器很有用。有一个例外:如果用户名和密码嵌入在URI中,则无论此选项如何,都始终将授权标头发送到服务器。此选项的默认值为false。
版本1.3.0 Beta Build 20090314中的新功能:
- 将 - in-selector选项的默认值从'inorder'更改为'feedback'
- 在例外消息中包含当前URI。
- 修正了在测试所有URI并且未达到超时时AdaptiveURISelector不选择任何URI的错误。
- 当所有未使用的URI用完时重用URI。
- 删除了--direct-file-mapping选项和CopyDiskAdaptor。
- 添加了--dry-run选项。在此模式下,aria2只检查远程文件是否可用且不下载数据。此选项对HTTP / FTP下载有效,并且在此模式下会取消BitTorrent下载。
- 使用OptionParser解析-i list中的选项。
- 请勿在重试时重置URI,以避免因重定向而导致额外的往返行程。
- 添加了--index-out选项,用于指定torrent的每个文件路径。这里--show-files选项中显示的索引用于指定应该更改哪个文件路径。例如,要更改index = 2的文件路径,请使用--index-out = 2 = aria2.tar.bz2。您可以多次使用此选项: - index-out = 1 = aria2.tar.bz2 --index-out = 2 = aria2-opt.tar.bz2。短手形式-O也可用。此选项可在-i list中指定。
- 添加了--max-overall-download-limit选项。现在,当--max-overall-upload-limit选项具有非零值时,不会忽略--max-upload-limit选项。 aria2按顺序检查下载(上传)速度:首先检查总体速度限制,如果未超过,则检查每次下载的速度限制。因此,您可以指定两个值。例如,设置--max-overall-download-limit = 1M和--max-download-limit = 500K,以防止一次下载进入所有整体速度限制。
- 现在可以在uri列表(-i list)中指定select-file。
- 使--max-concurrent-downloads选项的上限值无限制。
- 修正了如果前一个文件的长度为0,即使与前一个文件共享同一块,也不会创建磁盘写入器的错误。
- 在BitTorrent中,以只读模式打开文件以进行哈希检查。之后,仅在下载未完成时才以读/写模式重新打开文件。
- 添加了--http-auth-challenge选项。如果设置为true,则aria2仅在服务器请求时才发送HTTP授权标头。如果设置为false,则始终将授权标头发送到服务器。这对于在需要身份验证时不响应401代码的服务器很有用。有一个例外:如果用户名和密码嵌入在URI中,则无论此选项如何,都始终将授权标头发送到服务器。此选项的默认值为false。
版本1.2.0 Beta 20090214中的新功能:
- 修复了在leecher状态下执行窒息算法时的分段错误,原因是比较运算符实现失败。
- 以二进制模式打开文件。这修复了本地torrent文件在win32上不起作用的错误。
- 添加了一个检查以查看struct sockaddr_in是否有sin_len成员。如果定义了HAVE_SOCKADDR_IN_SIN_LEN,请设置struct sockaddr_in.sin_len。
- 修复了编写dht.dat时可能出现的缓冲区溢出问题。
- 修复旧内核2.6.8或更早版本上的epoll错误。
- 修正了向BitfieldMan过滤器1块添加0长度过滤器的问题。它不应该过滤任何东西。
- 修复了已损坏的选定文件BitTorrent下载。
- 将--proxy-method选项的默认值从'tunnel'更改为'get'。无论使用--proxy-method选项,都可以使用“tunnel”进行HTTPS。
- 添加了--bt-external-ip选项。您可以指定要向BitTorrent跟踪器报告的外部IP地址。虽然此功能名为“external”,但它可以接受任何类型的IP地址。
- 应用Mandriva的Pascal Rigaux的AdaptiveURISelector-timeout补丁。我修改了补丁:make RequestGroup具有超时值,AdaptiveURISelector直接修改该值。
- 使用LongestSequencePieceSelector进行HTTP / FTP / BitTorrent集成下载。此PieceSelector子类查找可用缺失片段中最长的连续序列,并选择此序列的最后一个索引。这使得HTTP / FTP连接不会被BitTorrent同行获得的碎片打断。
- 修正了http / ftp / BitTorrent集成下载中平均速度错误的问题。只考虑了BitTorrent中的下载字节。
- 从指定范围内随机选择BitTorrent / DHT的端口。需求#2543518
- 仅在服务器请求时发送HTTP授权标头(响应401)。有一些例外。如果服务器没有请求,则始终发送代理的授权标头。如果在URI中指定了用户名/密码,则会在没有服务器请求的情况下立即将其发送到服务器。实现请求#2540844。
- 删除前导“ - ”来自help关键字和“=”之后的子字符串来自help关键字,以便可以通过'-h - max-'或'-hmax-peers = 10'查询选项。
- 添加了实验性内置HTTP服务器。目前,当客户端访问服务器时,它会响应当前的下载进度。默认情况下,它被禁用。要启用服务器,请提供--enable-http-server选项。要更改要侦听的服务器的默认端口号,请使用--http-server-listen-port选项。响应HTML非常简单,每1秒刷新一次。由于此刷新,您会在普通的Web浏览器(如Firefox)中看到闪烁。我建议使用基于控制台的浏览器,如elinks,w3m。要连接到服务器,请在运行aria2时运行“elinks http:// localhost:6800 /”。请根据您的喜好替换端口号'6800'(默认值)。
- 为每个RequestGroup制作(片段)散列检查顺序,因为同时散列检查比顺序执行慢。
- 添加了--bt-max-peers选项,以指定每个torrent的最大对等数。 0表示无限数量的对等体。需求#2451382
- 添加了--bt-hash-check-seed选项。如果为此选项提供了true,则在使用--check-integrity选项进行散列检查并且文件完成后,继续播种文件。如果要检查文件并仅在文件损坏或不完整时下载,请将此选项设置为false。此选项仅对BitTorrent下载有效。默认值为true(这与先前版本的行为相同)。
- 使分割选项的最大值无限制。需求#2496748
- 添加了--vent-poll选项以选择轮询事件的方法。可用的方法是“选择”。和“epoll”。 " epoll的"仅适用于Linux。早期版本有编译选项可供选择。
- 来自main.cc的RecoverableException.h。 BUG#2498160
- Mandriva的Pascal Rigaux应用退出状态补丁。 aria2现在返回HTTP / FTP下载中遇到的最后一个错误作为退出状态值。如果所有下载成功完成,则aria2返回0.错误代码在src / DownloadResult.h中定义。当前正在进行的下载中发生的错误不会报告为最后一个错误。如果没有遇到错误但正在进行或等待下载,则aria2将返回7.
- 应用Aurelien Lefebvre的AdaptiveURISelector补丁。此补丁添加了AdaptiveURISelector,它为第一个和保留连接选择一个最佳镜像。对于补充的镜像,它返回尚未测试的镜像,如果每个镜像都已经过测试,则返回必须再次测试的镜像。否则,它不再返回镜像。
- HTTPResponseTest中的固定单元测试错误。 PATCH#2485509
版本1.1.2中的新功能:
- 更新了俄语翻译。感谢翻译。
- 添加了--use-head选项以切换是否应在第一个HTTP请求中使用HEAD方法。默认情况下,aria2使用HEAD方法作为第一个请求。如果服务器无法识别HEAD,则给aria2 --use-head = false以强制aria2使用GET方法。
- 修正了在CHOKE消息之前收到REJECT消息时BitTorrent下载未完成的错误。收到REJECT消息时,旧的实现不会清除该部分的使用位。
版本1.1.0中的新功能:
- 不使用-T / -M选项打印torrent / metalink文件的内容。
- 更新了法语,日语,俄语和乌克兰语翻译。感谢所有翻译。
- 如果存在本地文件且其文件大小大于带有--continue选项的远程文件的大小,则通过附加数字来重命名文件。在这种情况下,旧的实现只会抛出异常。
- 修正了在选项指定的时间间隔内未打印下载进度摘要的错误。
- 修复了基于RFC2965的cookie实现。现在,如果域字段中的值未以点开头,则前置点。这意味着将domain = sf.net的cookie发送到wiki.sf.net。
- 修复了启用HTTP流水线并且服务器不支持keep-alive时导致下载损坏的错误。
- 添加了--max-overall-upload-limit选项。此选项限制整体上传速度。在帮助消息中指出现有的--max-upload-limit选项限制了每个torrent的上传速度。手册页也会更新。
- 修复了当torrent文件中的announe URI包含查询时,错误的URI被发送到跟踪器的错误。
- 默认情况下启用--check-certificate。添加了编译时(配置)选项--with-ca-bundle以指定CA bundle。如果--check-certificate = true且未指定--ca-certificate或加载CA证书失败,则发出警告。
- 添加了“https”标记以帮助选项类别。将https标记添加到--ca-certificate, - certrtificate, - check-certificate和--private-key选项。
- 从“aria2c”更改了包名称。到“aria2”。可执行文件的名称未更改。进行此更改是为了修复程序包名称和安装目录的不一致性,因为在许多发行版中,二进制程序包名称是“aria2”,但旧版本试图安装到“aria2c”。目录,例如“/ usr / local / share / doc / aria2c”。
- 修正了手册页中的拼写错误。
- RFC3986符合Percent-Encoding(urlencode)。对编码文本使用大写十六进制数字而不是小写数字。
- 修正了无法正确识别-pfalse和-ptrue的错误。
- 修正了阻止aria2通过HTTP / FTP下载0长度文件的错误。
版本1.0.1中的新功能:
- 修正了“采取选择性论据的选项”中的拼写错误部分。
- 应用aria2-1.0.0-mingw-r5.patch修复MinGW中的大量编译/单元测试错误:保存服务器统计信息后的封闭文件(RequestGroupMan.cc)如果缺少内部strptime(),则固定时间解析(FtpConnection。 cc)忽略大小写并处理2位数年份(strptime.c)添加缺少的suseconds_t定义(a2time.h)固定套接字CLOSE()define(SocketCore.cc)将EINPROGRESS更改为A2_EINPROGRESS(SocketCore.cc)更改utime()测试值从x000到x00000,因为MinGW失败的值小于从Unix纪元的时区偏移更改'struct stat'到'a2_struct_stat'(FileTest.cc)在读取socket之前添加了waitRead()调用(FtpConnectionTest.cc)从01-Jan更改日期-1960至01-Jan-1970 00:00:01由于MinGW无法处理负日期(CookieParserTest.cc)
- 修复了在使用-T选项且未给出URI时导致浮动异常的错误。
- 使用HEAD方法从HTTP服务器获取文件大小以进行分段下载。对BitTorrent Tracker的请求总是使用GET方法,因为跟踪器的响应很小,不需要分段下载。
- 在MultiDiskWriterTest :: testResetDiskWriterEntries()中的测试用例之后关闭文件。这将修复mingw32 build中的单元测试错误。
- 使用-S选项时不显示下载结果。
- 更新了乌克兰语和挪威语Nynorsk翻译。
版本1.0.0中的新功能:
- 此版本增加了使用给定验证对等项的功能HTTPS中的受信任CA证书和客户端证书身份验证。
- 还增加了使用代理形成持久连接的能力以及对代理设置的众所周知的环境变量的支持。
- 修复了播种期间导致分段错误的错误。
- 现在,用户可以在输入文件中指定输出文件名和目录。
- 平均下载速度现已打印在下载结果中。
- 现在默认启用以下选项: - ftp-pasv和--enable-direct-io。
版本0.16.2中的新功能:
- 修复了收到大于16KiB的请求时aria2中止的错误。在此修复程序中,如果收到大于16KiB长度的请求,则aria2将断开对等方的连接。
- 向operator ==添加长度相等测试以删除长度与请求的长度不匹配的消息。
- 添加塞尔维亚语翻译。更新乌克兰语翻译。感谢所有翻译。
版本0.16.1中的新功能:
- 将_numNewConnection的类型更改为unsigned int。 BUG#2150491,PATCH#2151628
- 修复了gcc-4.4(快照)的编译错误。补丁由David Watzke提交。 BUG#2150058
- 添加了缺少的m4宏。 - m4 / cppunit.m4 - m4 / libgcrypt.m4 - m4 / libgnutls-extra.m4 - m4 / libgnutls.m4 - m4 / libxml2.m4
- 修复了引用标头字段包含片段的错误。现在Request类删除URI的片段部分并在Request :: setUri()和setReferer()中对其进行编码。
- 修正了URI中最后一个字符未编码的错误。
- 添加了--dht-file-path选项来更改dht.dat的路径,这是一个序列化的DHT路由表。
- 修正了linux-amd64上单元测试失败的错误
- 修复了linux-amd64上的编译警告
- 添加了--auto-save-interval = SEC选项。每秒秒保存一个控制文件(* .aria2)。
- 更新了手册页。将aria2c.1.html的doctype更改为联机帮助页,以便不使用短划线字符替换“ - ”。
- 添加了乌克兰语,越南语和繁体中文翻译。更新了法语,简体中文和日语翻译。感谢所有翻译。 en @ quot和en @ boldquot也被添加。
版本0.16.0中的新功能:
- 在日志开头添加了删除文本,以便人们可以轻松找到日志的起始位置。
- 使用非阻塞套接字进行TCP通信,以避免因缓冲区已满而可能阻塞。
- 添加了--max-file-not-found = NUM选项。如果aria2从HTTP / FTP服务器收到“找不到文件”错误NUM次而没有获得单个字节的数据,则强制下载失败。
- 将pkg-config用于sqlite3,openssl。
- 添加了--connect-timeout选项以指定连接超时(以秒为单位)。此选项对HTTP / FTP /代理服务器有效。连接到BitTorrent对等体的超时不受此选项控制。
- 实现了从远程HTTP / FTP服务器获取时间戳并将其应用于本地文件的功能。要启用此功能,请使用--remote-time选项。
- 如果URI发生错误,请从剩余的URI列表中删除相同的URI,因为最终可能发生了相同的错误,这是浪费时间。
- 当连接数为0且下载尚未完成时,经常联系跟踪器。
- 重写Cookie处理程序。
- 将dht.dat文件的版本号更改为3.在版本3格式中,时间以64位,网络字节顺序存储。新版本可以加载旧格式(版本2),但它以新格式保存文件。这意味着一旦您使用了新版本,您的dht.dat就会与旧版本不兼容。
- 将.aria2控制文件的版本号更改为0001.新的aria2仍然可以加载版本0000文件,但它将文件保存为版本0001格式。这意味着新的aria2可以恢复由旧的aria2开始的下载,但事实恰恰相反。
- 根据tizianomueller提交的补丁添加了Firefox3 cookie支持。 Firefox3 cookie是SQLite3数据库。需要libsqlite3才能启用此功能。
- 实现了基于下载速度的URI选择算法。推出新选项--uri-selector。如果给出了--uri-selector = feedback,则aria2使用先前下载中观察到的下载速度,并在URI列表中选择最快的服务器。目前,最多有10个URI被认为引入了randomeness来寻找更好的服务器。速度是下载中的平均下载速度。另一方面,如果给出--uri-selector = inorder,这是默认的,则在URI列表中按顺序尝试URI。添加了将上述信息(下载速度,状态等)加载/保存到文件的选项: - server-stat-of, - server-stat-if。还添加了--server-stat-timeout来控制保存数据的生命周期。
- 将HelpItem集成到OptionParser中,以减轻添加新选项的工作量。从使用文本中删除了默认值。
- 首先发出PWD命令并获取工作目录,并将其用作CWD命令的前缀。
- netrc用于HTTP。
- 当给出--ftp-via-http-proxy = get(非透明HTTP代理)时,在Authorization标头中发送FTP用户/密码。
- 当URI为FTP方案且用户名不在URI中且使用非透明HTTP代理时,将用户名+'@'插入URI(在ftp://之后)。
- 修正了不包含本地节点ID的split bucket的prefixLength增加的错误。
- 更新了手册页。
版本0.15.3中的新功能:
- 固定的块校验和验证无法检测尾随垃圾数据。 BUG#2074141
- 制作名称以“.gz”,“。tgz”结尾的文件。内容编码解码器没有膨胀。
- 当SIZE命令失败时修复了FTP中的无限循环错误。
- 当连接数为0且下载尚未完成时,经常联系跟踪器。
- 如果需要-lrt将程序与-lcares链接,则将-lrt添加到LIBCARES_LIBS。
- 如果URI发生错误,请从剩余的URI列表中删除相同的URI。
- 添加土耳其语翻译
- 更新了德语和俄语翻译。
评论没有发现