aria2 に似たアプリケーションはいくつか存在しますが、以下の 2 点 において aria2 は差別化されます: (1) 複数のソース (http/ftp そして BitTorrent) からダウンロードで きる。 (2) aria2 に URL のリストを与えた場合、それらを一つ一つ逐次的にダウンロー ドするのではなく、複数並列でダウンロードすることができます。一つ ずつダウンロードを待つ必要はないのです。これにより aria2 は与え られた帯域をめいいっぱい使用して高速なダウンロードを実現します。
ファイルをHTTP(S)/FTPとBitTorrentの両方から同時にダウンロードする機能を持っています。HTTP(S)/FTPからダウンロードしたデータは、BitTorrentネットワークにアップロードされます.
信頼性 という意味でもっともすぐれたHTTP(S)/FTPダウンロードユーティリティ です。なぜなら、Metalink のチャンクチェックサムをサポートしており、 BitTorrentのようにダウンロードした部分部分のチェックサムを照合す る機能をもつからです。チェックサムが違っていればその部分だけダウ ンロードすればよいのです。従来のようなファイルをすべてダウンロード してからチェックサムをとり、間違っていれば全部ダウンロードしなおすことと較べてください。 その差はファイルサイズが大きくなるにつれて明らかです。
This release adds SSL/TLS encryption support in RPC transport. The new RPC method aria2.appendUri is added, which is a wrapper to aria2.changeUri. The Content-Disposition parser is now RFC 6266 conformant. The resource leak in XmlParser, JSON and Bencode parser was fixed. The uploaded data size calculation bug was fixed. For MinGW32 build, files are now opened with read/write shared mode.
* mingw32: Open file using _wsopen and added --enable-mmap support
I tried CreateFile but the subsequent ReadFile fails with Access
Denied if sparse file is read on NTFS. I mostly reverted previous
changes and use _wsopen with read/write share enabled instead of
CreateFile.
This change also includes --enable-mmap support for MinGW32
build. Memory mapped file may be useful for 64-bits OS and lots of
RAM. Currently, FlushViewOfFile is not called during the download,
so it is slightly vulnerable against sudden power loss. I found lots
of read when resuming download due to page fault. So for now it is
useful for the initial download. I recommend not to use
--file-allocation=prealloc with --enable-mmap for MinGW32, because
it triggers page faults even in the initial download. Anyway, the
option is experimental.
* Removed PO files and generated aria2.pot from repository
Currently, message translation is done at launchpad. All PO files
can be exported from there. The merge process from launchpad is done
when new release. First download export file from launchpad And use
import-po script to import PO files into po directory.
* Set F_GLOBAL_NOCACHE for Mac OS X
* Enabled TCP_NODELAY
* Don't use AC_FUNC_MMAP
Don't use AC_FUNC_MMAP becaue it fails on some platforms (e.g.,
OpenWRT) which have mmap and it works in the way we use in aria2.
Instead use mmap in AC_CHECK_FUNCS list.
* Added --force-save option.
--force-save option saves download with --save-session option even
if the download is completed or removed. This may be useful to save
BitTorrent seeding which is recognized as completed state. The
default value is false.
* Get the correct uploaded data size
Subtract msgHdrLen_ from writtenLength to get the uploaded data
size. Without this correction, the seeder assumes it has uploaded
more data than it actually has.
* Made --http-no-cache false by default
* Fixed memory leak in AsyncNameResolver
* Fixed resource leak in XmlParser and GenericParser
* Reset iostream format state
* gnutls: Added more status checking when verifying peer
* Content-Disposition parser conforming to RFC 6266.
RFC 2231 Continuation is not supported.
* Reworked download/upload statistics calculation
The old implementation calculates download/upload statistics for a
RequestGroup by summing up all PeerStat objects. For global
statistics, those are summed together. This clearly incurs runtime
penalty and we introduced some kind of caching which updates
statistics every 250ms but it did not work right.
This change removes all these aggregation code, and instead makes
RequestGroup and RequestGroupMan objects hold NetStat object and
download/upload bytes are directly calculated by thier own NetStat.
This is far more simplar than the old way and less runtime penalty
and brings more accuracy.
* Added --rpc-save-upload-metadata option
If true is given, which is default, save the uploaded torrent or
metalink metadata in the directory specified by --dir option. The
filename consists of SHA1-hash hex string of metadata plus
extension. For torrent, the extension is '.torrent'. For metalink,
it is '.meta4'. If false is given to this option, the downloads
added by aria2.addTorrent or aria2.addMetalink will not be saved by
--save-session option.
* Perform SSL/TLS handshake after checking whether connection is established
* Fixed bug that --enable-mmap won't work if MultiDiskAdaptor is used
* RPC over SSL/TLS transport
To enable RPC over SSL/TLS, specify server certificate and private
key using --rpc-certificate and --rpc-private-key options and enable
--rpc-secure option. After the encryption is enabled, use https and
wss scheme to access RPC server.
* aria2rpc: Added appendUri command
This command calls aria2.changeUri(GID, fileIndex, [], [URI,...])
internally.
* Don't send Proxy-Connection header field
* Don't set SNI hostname if it does not include "." for GNUTLS
* Disable SSL/TLS compression with OpenSSL
* Pause download even if download is completed
This allows to pause and unpause BitTorrent seed.
* Use execlp() instead of execl()