This page describes the usage examples of aria2. For the complete options, see online manual . See also BashCompletion .
For XML-RPC interface, see XmlrpcInterface . For IPv6, see also IPv6 Support Status .
Make sure that URI is quoted with single(') or double(") quotation if it contains "&" or any characters that have special meaning in shell.
As of 1.10.0 release, aria2 uses 1 connection per host by default and has 20MiB segment size restriction. So whatever value you specify using -s option, it uses 1 connection per host. Please note that this connection restriction is applied to 1 host. If you specify multiple hosts, aria2 will use them all and open multiple connections. To make it behave like 1.9.x, use -x 16 -k 1M . See --max-connection-per-server and --min-split-size in the manual page .
By default, aria2 allocates files before download them to prevent possible fragmentation. But it is reported that it uses 50%-90% CPU and slows down their PCs on some platforms.
If you are using newer file systems such as ext4(with extens enabled), btrfs, xfs or NTFS(MinGW32 build only and requires aria2 1.12.0 or later), I recommend to use --file-allocation =falloc . It allocates large(few GiB) files almost instantly and it doesn't slow down your PC at all.
If you are neither using cutting edge file systems nor Linux user and mind this slow down, turn off file allocation by giving --file-allocation =none .
If you forget about the full name of options or its details, put -h before the option or words in option name, like aria2c -hcrypt . aria2 searches options which contains specified words and print their usage. You can leave other options or URIs when using -h option. If aria2 finds -h , it stops after printing the help message.
Index
一、Basic Usage
二、Metalink Download
三、BitTorrent Download
四、Use With Proxy
五、Advanced HTTP Features
六、Other Advanced Features
七、Input File
aria2c http://host/image.iso
Note: As of 1.10.0, aria2 uses 1 connection per host in each download. You can change this using --max-connection-per-server or its short form -x option.
To download a file using 2 connections from single host:
aria2c -x2 http://host/image.iso
Note: To stop a download, press Ctrl-C . You can resume the transfer by running aria2c with the same arguments at the same directory. You can change URIs as long as they are pointing to the same file.
aria2c -s2 http://host/image.iso http://mirror1/image.iso http://mirror2/image.iso
Note: If you specify URIs more than the value of -s option, for this example, 2, first 2 URIs are used and 3rd URI is used for backup, which means if one of first 2 URIs are failed then 3rd is kicked in.
aria2c http://host1/file.zip ftp://host2/file.zip
aria2c -Z http://host/file1 file2.torrent file3.metalink
Note: If you specify only torrent or metalink file stored in your local disk, then -Z option is not required. So you can do:
aria2c file1.torrent file2.torrent
aria2c -ifiles.txt -j5
Note: -j option specifies the number of concurrent downloads. You can include local torrent and metalink files in a list file.
Note: You can specify several options in the input file. See Input File section.
aria2c -ifiles.txt --save-session=out.txt
When you press Ctrl-C or aria2 exits, all error/unfinished downloads are saved in out.txt . Note that downloads added by aria2.addTorrent and aria2.addMetalink XML-RPC method are not saved. You can use this file as an input file to restart downloads:
aria2c -iout.txt
aria2c http://host/file.metalink
aria2c --follow-metalink=mem http://host/file.metalink
aria2c -t10 --lowest-speed-limit=4000 file.metalink
Note: To stop a download, press Ctrl-C . You can resume the transfer by running aria2c with the same arguments at the same directory.
aria2c -C5 file.metalink
Note: With metalink file, -s option has no effect. Use -C option instead.
aria2c file1.metalink file2.metalink
aria2c -S file.metalink
aria2c --select-file=1-4,8 -Mfile.metalink
Note: The index is printed to the console using -S option.
aria2c --metalink-location=JP,US --metalink-version=1.1 --metalink-language=en-US file.metalink
aria2c http://site/file.torrent
aria2c --follow-torrent=mem http://site/file.torrent
aria2c -u40K /path/to/file.torrent
Note: -u , --max-upload-limit specifies the max upload rate.
Note: To stop a download, press Ctrl-C . You can resume the transfer by running aria2c with the same arguments at the same directory.
You can download multiple torrents.
aria2c /path/to/file1.torrent /path/to/file2.torrent
aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"
NOTE: Don't forget to quote BitTorrent Magnet URI which includes "&" character with single(') or double(") quotation. It is strongly recommended to enable DHT when you use Magnet URI. See --enable-dht option.
aria2c --bt-save-metadata "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"
The above command will save metadata as a torrent file named as "248d0a1cd08284299de78d5c1ed359bb46717d8c.torrent"
If the whole download speed of every torrent is lower than 200K, aria2 temporarily increases the number of peers to try for more download speed.
aria2c --bt-request-peer-speed-limit=200K file.torrent
Note: Configuring --bt-request-peer-speed-limit option with your preferred download speed can increase your download speed in some cases.
aria2c --enable-dht http://site/file.torrent
Note: Since 1.7.2, DHT is enabled by default. DHT doesn't start while aria2 only handles HTTP/FTP downloads. On the first torrent download begins, aria2 initiates DHT functionality. After that, DHT runs until aria2 exits. Prior 1.7.2, DHT is disabled by default.
aria2c --enable-dht6 --dht-listen-port=6881 --dht-listen-addr6=YOUR_GLOBAL_UNICAST_IPV6_ADDR --enable-async-dns6
Note: If aria2c is not built with c-ares, --enable-async-dns6 is unnecessary. aria2 shares same port between IPv4 and IPv6 DHT.
The following example instructs aria2 to removes all tracker announce URIs described in file.torrent and use "http://tracker1/announce" and "http://tracker2/announce" instead.
aria2c --bt-exclude-tracker="*" --bt-tracker="http://tracker1/announce,http://tracker2/announce" file.torrent
By default, aria2 accepts both encrypted/unencrypted connections and it first tries encryption(obfuscation) handshake and if it fails then falls back to legacy BitTorrent handshake.
To instruct aria2 to only accept and establish connection with encryption handshake,
aria2c --bt-require-crypto=true http://site/file.torrent
There are 2 types of encryption: header only or full connection. By default, if both types of encryption are provided by peer, aria2 chooses header only encryption. To instruct aria2 to always use full connection encryption,
aria2c --bt-min-crypto-level=arc4 http://site/file.torrent
aria2c -S file.torrent
aria2c --select-file=1-4,8 -Tfile.torrent
Note: The index is printed to the console using -S option.
aria2c --listen-port=6881-6883 file.torrent
Note: Make sure that the specified ports are open for incoming/outgoing TCP traffic.
aria2c --seed-time=120 --seed-ratio=1.0 file.torrent
Note: In the above example, the program exists when the 120 minutes has elapsed since download completed or seed ratio reaches 1.0.
aria2c --max-upload-limit=100K file.torrent
You can seed downloaded file using -V option. This will first check piece hashes for the downloaded file.
aria2c -V -d/path/to/dir file.torrent
If you are sure the file is correct, then use --bt-seed-unverified option to skip hash check before seeding.
aria2c --bt-seed-unverified -d/path/to/dir file.torrent
You can seed multiple torrents.
aria2c --bt-seed-unverified -d/path/to/dir file1.torrent file2.torrent
To specify output filename for BitTorrent downloads, you need to know the index of file in torrent file using -S option. For example, the output of -S option looks like this:
idx|path/length ===+====================== 1|dist/base-2.6.18.iso |99.9MiB ---+---------------------- 2|dist/driver-2.6.18.iso |169.0MiB ---+----------------------
To save dist/base-2.6.18.iso in /tmp/mydir/base.iso and dist/driver-2.6.18.iso in /tmp/dir/driver.iso , use the following command:
aria2c --dir=/tmp --index-out=1=mydir/base.iso --index-out=2=dir/driver.iso file.torrent
Note: The --index-out option with http URI to torrent file doesn't work. It only works with local torrent files. aria2 doesn't remember the file path specified in --index-out option. You have to specify --index-out option every time for resuming or seeding. aria2 doesn't warn you if you forget this option, so be careful.
Download first 1MiB of each file in a torrent with high priority.
aria2c --bt-prioritize-piece=head file.torrent
aria2c --all-proxy='http://proxy:8080' http://host/file
Note: --all-proxy option can be overrode by protocol specific proxy options: --http-proxy , --https-proxy and --ftp-proxy .
aria2c --http-proxy='http://proxy:8080' http://host/file
aria2c --http-proxy='http://proxy:8080' --http-proxy-user='username' --http-proxy-passwd='password' http://host/file
aria2c --http-proxy='http://username:password@proxy:8080' http://host/file
Note: username and password should be percent-encoded. For example, if username is 'myid@domain', then percent-encoded form is 'myid%40domain'.
Load Mozilla/Firefox(1.x/2.x) and Netscape format:
aria2c --load-cookies=cookies.txt http://host/file
Load Firefox3 format:
aria2c --load-cookies=cookies.sqlite http://host/file
Note: You can use Firefox/Mozilla's cookie file without modification.
aria2c -c -s2 http://host/partiallydownloadedfile.zip
aria2c --max-download-limit=100K http://host/file
aria2c -V file.metalink
Note: This option is only available used with BitTorrent? or metalink with chunk checksums.
aria2c --lowest-speed-limit=10K file.metalink
You can specify set of parts:
aria2c -P http://{host1,host2,host3}/file.iso
You can specify numeric sequence using []:
aria2c -Z -P http://host/image[000-100].png
Note: -Z option is required if the all URIs don't point to the same file, such as the above example.
You can specify step counter:
aria2c -Z -P http://host/image[A-Z:2].png
aria2 gets timestamp of a file from the remote server and apply it to the local file.
aria2c -R http://host/file.iso
aria2c --on-download-complete=COMMAND http://example.org/file.iso
See also --on-download-error , --on-download-start and --on-download-stop option, or run "aria2c -h#hook ".
aria2c -d /dev -o null --allow-overwrite=true http://example.org/file
--allow-overwrite =true is needed to prevent aria2 from renaming existing /dev/null .
The input file can contain list of URIs to feed them into aria2. You can specify multiple URIs for a single entity: separate URIs on a single line using the TAB character.
Each line is treated as if it is provided in command-line argument. Therefore they are affected by -Z and -P options.
Additionally, options can be specified after each line of URIs. See Input File section in the manual page for complete list of available options. These options have exactly same meaning of the ones in the command-line options, but it just applies to the URIs it belongs to.
For example, let the content of uri.txt be:
http://server/file.iso http://mirror/file.iso dir=/iso_images out=file.img http://foo/bar
If aria2 is executed with -i uri.txt -d /tmp options, then file.iso is saved as /iso_images/file.img and it is downloaded from http://server/file.iso and http://mirror/file.iso. The file bar is downloaded from http://foo/bar and saved as /tmp/bar .
本文转自:http://sourceforge.net/apps/trac/aria2/wiki/UsageExample