aria2 的使用

Usage Sample

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

  1. Download a file
  2. Download a file using 2 connections
  3. Download a file from HTTP and FTP servers
  4. Parallel downloads of arbitrary number of URI, metalink, torrent
  5. Download files listed in a file concurrently
  6. Save error/unfinished downloads on exit

二、Metalink Download

  1. Download files with remote metalink
  2. Download files with remote Metalink; metalink file itself is processed in …
  3. Download using a local metalink file
  4. Download file using 5 servers
  5. Download several local metalink files
  6. Print the contents of the metalink file
  7. Download only selected files using index
  8. Download a file using a local metalink file with user preference

三、BitTorrent Download

  1. Download files from remote BitTorrent file
  2. Download files from remote BitTorrent file; torrent file itself is …
  3. Download using a local torrent file
  4. Download using BitTorrent Magnet URI
  5. Save metadata as .torrent file
  6. Adjust the number of peers adaptively
  7. Enable DHT
  8. Enable IPv6 DHT
  9. Add and remove tracker URI
  10. Encryption
  11. Print the contents of the torrent file:
  12. Download only selected files using index (usually called "selectable …
  13. Change the listening port for incoming peer
  14. Specify the condition to stop program after torrent download finished
  15. Throttle upload speed
  16. Seeding already downloaded file
  17. Specify file name with index
  18. Prioritize piece for previewing files

四、Use With Proxy

  1. Set proxy server to use all protocols(HTTP(S)/FTP)
  2. Set proxy server to be in HTTP only
  3. Use proxy that requires authentication

五、Advanced HTTP Features

  1. Load cookies
  2. Resume download started by web browsers or another programs

六、Other Advanced Features

  1. Throttle download speed
  2. Repair a damaged download using -V option
  3. Drop connection if download speed is lower than specified value
  4. Parameterized URI support
  5. Time-stamping
  6. Execute command when download finishes
  7. Writing to /dev/null

七、Input File

Basic Usage

Download a 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.

Download a file using 2 connections

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.

Download a file from HTTP and FTP servers

aria2c http://host1/file.zip ftp://host2/file.zip

Parallel downloads of arbitrary number of URI, metalink, torrent

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

Download files listed in a file concurrently

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.

Save error/unfinished downloads on exit

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

Metalink Download

Download files with remote metalink

aria2c http://host/file.metalink

Download files with remote Metalink; metalink file itself is processed in memory

aria2c --follow-metalink=mem http://host/file.metalink

Download using a local metalink file

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.

Download file using 5 servers

aria2c -C5 file.metalink

Note: With metalink file, -s option has no effect. Use -C option instead.

Download several local metalink files

aria2c file1.metalink file2.metalink

Print the contents of the metalink file

aria2c -S file.metalink

Download only selected files using index

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

Note: The index is printed to the console using -S option.

Download a file using a local metalink file with user preference

aria2c --metalink-location=JP,US --metalink-version=1.1 --metalink-language=en-US file.metalink

BitTorrent Download

Download files from remote BitTorrent file

aria2c http://site/file.torrent

Download files from remote BitTorrent file; torrent file itself is processed in memory

aria2c --follow-torrent=mem http://site/file.torrent

Download using a local torrent file

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

Download using BitTorrent Magnet URI

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.

Save metadata as .torrent file

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"

Adjust the number of peers adaptively

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.

Enable DHT

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.

Enable IPv6 DHT

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.

Add and remove tracker URI

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

Encryption

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

Print the contents of the torrent file:

aria2c -S file.torrent

Download only selected files using index (usually called "selectable download")

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

Note: The index is printed to the console using -S option.

Change the listening port for incoming peer

aria2c --listen-port=6881-6883 file.torrent

Note: Make sure that the specified ports are open for incoming/outgoing TCP traffic.

Specify the condition to stop program after torrent download finished

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.

Throttle upload speed

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

Seeding already downloaded file

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

Specify file name with index

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.

Prioritize piece for previewing files

Download first 1MiB of each file in a torrent with high priority.

aria2c --bt-prioritize-piece=head file.torrent

Use With Proxy

Set proxy server to use all protocols(HTTP(S)/FTP)

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 .

Set proxy server to be in HTTP only

aria2c --http-proxy='http://proxy:8080' http://host/file

Use proxy that requires authentication

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'.

Advanced HTTP Features

Load cookies

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.

Resume download started by web browsers or another programs

aria2c -c -s2 http://host/partiallydownloadedfile.zip

Other Advanced Features

Throttle download speed

aria2c --max-download-limit=100K http://host/file

Repair a damaged download using -V option

aria2c -V file.metalink

Note: This option is only available used with BitTorrent? or metalink with chunk checksums.

Drop connection if download speed is lower than specified value

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

Parameterized URI support

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

Time-stamping

aria2 gets timestamp of a file from the remote server and apply it to the local file.

aria2c -R http://host/file.iso

Execute command when download finishes

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 ".

Writing to /dev/null

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 .

Input File

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

猜你喜欢

转载自ears.iteye.com/blog/1593816