123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704 |
- ARIA2C(1)
- =========
- Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
- :man source: Aria2
- :man manual: Aria2 Manual
- NAME
- ----
- aria2c - The ultra fast download utility
- SYNOPSIS
- --------
- aria2c ['OPTIONS'] ['URL' | 'TORRENT_FILE' | 'METALINK_FILE']...
- DESCRIPTION
- -----------
- aria2 is a utility for downloading files. The supported protocols are
- HTTP(S), FTP, BitTorrent, and Metalink. aria2 can download a file from
- multiple sources/protocols and tries to utilize your maximum download
- bandwidth. It supports downloading a file from HTTP(S)/FTP and
- BitTorrent at the same time, while the data downloaded from
- HTTP(S)/FTP is uploaded to the BitTorrent swarm. Using Metalink's
- chunk checksums, aria2 automatically validates chunks of data while
- downloading a file like BitTorrent.
- OPTIONS
- -------
- Basic Options
- ~~~~~~~~~~~~~
- *-d*, *--dir*=DIR::
- The directory to store the downloaded file.
- *-i*, *--input-file*=FILE::
- Downloads URIs found in FILE. You can specify multiple URIs for a single
- entity: separate URIs on a single line using the TAB character.
- Reads input from stdin when '-' is specified.
- The additional *out* and *dir* options can be specified after each line of
- URIs. This optional line must start with white space(s).
- See *Input File* subsection for details.
- *-l*, *--log*=LOG::
- The file name of the log file. If '-' is specified, log is written to
- stdout.
- *-j*, *--max-concurrent-downloads*=N::
- Set maximum number of parallel downloads for every static (HTTP/FTP) URL,
- torrent and metalink. See also *-s* and *-C* option.
- Default: '5'
- *-V*, *--check-integrity*[='true'|'false']::
- Check file integrity by validating piece hashes.
- This option has effect only in BitTorrent and Metalink downloads with
- chunk checksums.
- Use this option to re-download a damaged portion of a file.
- Default: 'false'
- *-c*, *--continue*::
- Continue downloading a partially downloaded file.
- Use this option to resume a download started by a web browser or another
- program which downloads files sequentially from the beginning.
- Currently this option is only applicable to HTTP(S)/FTP downloads.
- *-h*, *--help*[=TAG|KEYWORD]::
- The help messages are classified with tags. A tag starts with
- "#". For example, type "--help=#http" to get the usage for the
- options tagged with "#http". If non-tag word is given, print the
- usage for the options whose name includes that word.
- Available Values: '#basic', '#advanced', '#http', '#https', '#ftp',
- '#metalink', '#bittorrent', '#cookie', '#hook', '#file',
- '#xml-rpc', '#experimental', '#all'
- Default: '#basic'
- HTTP/FTP Options
- ~~~~~~~~~~~~~~~~
- *--all-proxy*=PROXY::
- Use this proxy server for all protocols.
- You can override this setting and specify a proxy server for a particular
- protocol using *--http-proxy*, *--https-proxy* and *--ftp-proxy* options.
- This affects all URLs.
- The format of PROXY is [\http://][USER:PASSWORD@]HOST[:PORT]
- *--connect-timeout*=SEC::
- Set the connect timeout in seconds to establish connection to
- HTTP/FTP/proxy server. After the connection is established, this
- option makes no effect and *--timeout* option is used instead.
- Default: '60'
- *--dry-run*[='true'|'false']::
- If 'true' is given, aria2 just checks whether the remote file is
- available and doesn't download data. This option has effect on
- HTTP/FTP download. BitTorrent downloads are canceled if 'true' is
- specified. Default: 'false'
- *--lowest-speed-limit*=SPEED::
- Close connection if download speed is lower than or equal to this
- value(bytes per sec).
- '0' means aria2 does not have a lowest speed limit.
- You can append 'K' or 'M'(1K = 1024, 1M = 1024K).
- This option does not affect BitTorrent downloads.
- Default: '0'
- *--max-file-not-found*=NUM::
- If aria2 receives `file not found' status from the remote HTTP/FTP
- servers NUM times without getting a single byte, then force the
- download to fail. Specify '0' to disable this option. This options is
- effective only when using HTTP/FTP servers.
- Default: '0'
- *-m*, *--max-tries*=N::
- Set number of tries. '0' means unlimited.
- Default: '5'
- *-n*, *--no-netrc*::
- Disables netrc support. netrc support is enabled by default.
- *--no-proxy*=DOMAINS::
- Specify comma separated hostnames or domains where proxy should not be
- used.
- *-o*, *--out*=FILE::
- The file name of the downloaded file.
- [NOTE]
- In Metalink or BitTorrent download you cannot specify file name.
- The file name specified here is only used when the URLs fed to aria2
- are done by command line without *-i*, *-Z* option. For example:
- aria2c -o myfile.zip "http://mirror1/file.zip" "http://mirror2/file.zip"
- *--proxy-method*=METHOD::
- Set the method to use in proxy request. 'METHOD' is either 'get' or
- 'tunnel'. HTTPS downloads always use 'tunnel' regardless of this
- option.
- Default: 'get'
- *-R*, *--remote-time*[='true'|'false']::
- Retrieve timestamp of the remote file from the remote HTTP/FTP
- server and if it is available, apply it to the local file.
- Default: 'false'
- *--server-stat-of*=FILE::
- Specify the filename to which performance profile of the servers is
- saved. You can load saved data using *--server-stat-if* option. See
- *Server Performance Profile* subsection below for file format.
- *--server-stat-if*=FILE::
- Specify the filename to load performance profile of the servers. The
- loaded data will be used in some URI selector such as 'feedback'.
- See also *--uri-selector* option. See *Server Performance Profile*
- subsection below for file format.
- *--server-stat-timeout*=SEC::
- Specifies timeout in seconds to invalidate performance profile of
- the servers since the last contact to them.
- Default: '86400' (24hours)
- *-s*, *--split*=N::
- Download a file using N connections.
- If more than N URLs are given, first N URLs are used and remaining URLs are
- used for backup.
- If less than N URLs are given, those URLs are used more than once so that N
- connections total are made simultaneously.
- Please see *-j* option too.
- Please note that in Metalink download, this option has no effect and use
- *-C* option instead.
- Default: '5'
- *-t*, *--timeout*=SEC::
- Set timeout in seconds.
- Default: '60'
- *--uri-selector*=SELECTOR::
- Specify URI selection algorithm. The possible values are 'inorder',
- 'feedback' and 'adaptive'. If 'inorder' is given, URI is tried in
- the order appeared in the URI list. If 'feedback' is given, aria2
- uses download speed observed in the previous downloads and choose
- fastest server in the URI list. This also effectively skips dead
- mirrors. The observed download speed is a part of performance
- profile of servers mentioned in *--server-stat-of* and
- *--server-stat-if* options. If 'adaptive' is given, selects one of
- the best mirrors for the first and reserved connections. For
- supplementary ones, it returns mirrors which has not been tested
- yet, and if each of them has already been tested, returns mirrors
- which has to be tested again. Otherwise, it doesn't select anymore
- mirrors. Like 'feedback', it uses a performance profile of servers.
- Default: 'feedback'
- HTTP Specific Options
- ~~~~~~~~~~~~~~~~~~~~~
- *--ca-certificate*=FILE::
- Use the certificate authorities in FILE to verify the peers.
- The certificate file must be in PEM format and can contain multiple CA
- certificates.
- Use *--check-certificate* option to enable verification.
- *--certificate*=FILE::
- Use the client certificate in FILE.
- The certificate must be in PEM format.
- You may use *--private-key* option to specify the private key.
- *--check-certificate*[='true'|'false']::
- Verify the peer using certificates specified in *--ca-certificate* option.
- Default: 'true'
- *--http-auth-challenge*[='true'|'false']::
- Send HTTP authorization header only when it is requested by the
- server. If 'false' is set, then authorization header is always sent
- to the server. There is an exception: if username and password are
- embedded in URI, authorization header is always sent to the server
- regardless of this option. Default: 'false'
- *--http-auth-scheme*=SCHEME::
- Set HTTP authentication scheme.
- Currently, 'basic' is the only supported scheme.
- Default: 'basic'
- *--http-user*=USER::
- Set HTTP user. This affects all URLs.
- *--http-passwd*=PASSWD::
- Set HTTP password. This affects all URLs.
- *--http-proxy*=PROXY::
- Use this proxy server for HTTP. See also *--all-proxy* option.
- This affects all URLs.
- The format of PROXY is [\http://][USER:PASSWORD@]HOST[:PORT]
- *--https-proxy*=PROXY::
- Use this proxy server for HTTPS. See also *--all-proxy* option.
- This affects all URLs.
- The format of PROXY is [\http://][USER:PASSWORD@]HOST[:PORT]
- *--private-key*=FILE::
- Use the private key in FILE.
- The private key must be decrypted and in PEM format.
- The behavior when encrypted one is given is undefined.
- See also *--certificate* option.
- *--referer*=REFERER::
- Set Referer. This affects all URLs.
- *--enable-http-keep-alive*[='true'|'false']::
- Enable HTTP/1.1 persistent connection.
- Default: 'true'
- *--enable-http-pipelining*[='true'|'false']::
- Enable HTTP/1.1 pipelining.
- Default: 'false'
- *--header*=HEADER::
- Append HEADER to HTTP request header.
- You can use this option repeatedly to specify more than one header:
- aria2c *--header*="X-A: b78" *--header*="X-B: 9J1" "http://host/file"
- *--load-cookies*=FILE::
- Load Cookies from FILE using the Firefox3 format (SQLite3) and the
- Mozilla/Firefox(1.x/2.x)/Netscape format.
- [NOTE]
- If aria2 is built without libsqlite3, then it doesn't support Firefox3 cookie format.
- *--save-cookies*=FILE::
- Save Cookies to FILE in Mozilla/Firefox(1.x/2.x)/ Netscape
- format. If FILE already exists, it is overwritten. Session Cookies
- are also saved and their expiry values are treated as 0. Possible
- Values: '/path/to/file'
- *--use-head*[='true'|'false']::
- Use HEAD method for the first request to the HTTP server.
- Default: 'false'
- *-U*, *--user-agent*=USER_AGENT::
- Set user agent for HTTP(S) downloads.
- Default: 'aria2/$VERSION', $VERSION is replaced by package version.
- FTP Specific Options
- ~~~~~~~~~~~~~~~~~~~~
- *--ftp-user*=USER::
- Set FTP user. This affects all URLs.
- Default: 'anonymous'
- *--ftp-passwd*=PASSWD::
- Set FTP password. This affects all URLs.
- Default: 'ARIA2USER@'
- *-p*, *--ftp-pasv*[='true'|'false']::
- Use the passive mode in FTP.
- If 'false' is given, the active mode will be used.
- Default: 'true'
- *--ftp-proxy*=PROXY::
- Use this proxy server for FTP. See also *--all-proxy* option.
- This affects all URLs.
- The format of PROXY is [\http://][USER:PASSWORD@]HOST[:PORT]
- *--ftp-type*=TYPE::
- Set FTP transfer type. TYPE is either 'binary' or 'ascii'.
- Default: 'binary'
- *--ftp-reuse-connection*[='true'|'false']::
- Reuse connection in FTP.
- Default: 'true'
- BitTorrent/Metalink Options
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *--select-file*=INDEX...::
- Set file to download by specifying its index.
- You can find the file index using the *--show-files* option.
- Multiple indexes can be specified by using ",", for example: '3,6'.
- You can also use "-" to specify a range: '1-5'.
- "," and "-" can be used together: '1-5,8,9'.
- When used with the -M option, index may vary depending on the query
- (see *--metalink-** options).
- [NOTE]
- In multi file torrent, the adjacent files specified by this option may
- also be downloaded. This is by design, not a bug.
- A single piece may include several files or part of files, and aria2
- writes the piece to the appropriate files.
- *-S*, *--show-files*::
- Print file listing of .torrent or .metalink file and exit.
- In case of .torrent file, additional information
- (infohash, piece length, etc) is also printed.
- BitTorrent Specific Options
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *--bt-external-ip*=IPADDRESS::
- Specify the external IP address to report to a BitTorrent
- tracker. Although this function is named "external", it can accept
- any kind of IP addresses. IPADDRESS must be a numeric IP address.
- *--bt-hash-check-seed*[='true'|'false']::
- If 'true' is given, after hash check using *--check-integrity* option and
- file is complete, continue to seed file. If you want to check file
- and download it only when it is damaged or incomplete, set this
- option to 'false'. This option has effect only on BitTorrent download.
- Default: 'true'
- *--bt-max-open-files*=NUM::
- Specify maximum number of files to open in each BitTorrent download.
- Default: '100'
- *--bt-max-peers*=NUM::
- Specify the maximum number of peers per torrent. '0' means
- unlimited. See also *--bt-request-peer-speed-limit* option.
- Default: '55'
- *--bt-min-crypto-level*='plain'|'arc4'::
- Set minimum level of encryption method.
- If several encryption methods are provided by a peer, aria2 chooses the lowest
- one which satisfies the given level.
- Default: 'plain'
- *--bt-require-crypto*='true'|'false'::
- If true is given, aria2 doesn't accept and establish connection with legacy
- BitTorrent handshake(\19BitTorrent protocol).
- Thus aria2 always uses Obfuscation handshake.
- Default: 'false'
- *--bt-request-peer-speed-limit*=SPEED::
- If the whole download speed of every torrent is lower than SPEED,
- aria2 temporarily increases the number of peers to try for more
- download speed. Configuring this option with your preferred download
- speed can increase your download speed in some cases.
- You can append 'K' or 'M'(1K = 1024, 1M = 1024K).
- Default: '50K'
- *--bt-seed-unverified*[='true'|'false']::
- Seed previously downloaded files without verifying piece hashes.
- Default: 'false'
- *--bt-stop-timeout*=SEC::
- Stop BitTorrent download if download speed is 0 in consecutive SEC
- seconds. If '0' is given, this feature is disabled. Default: '0'
- *--bt-tracker-interval*=SEC::
- Set the interval in seconds between tracker requests. This
- completely overrides interval value and aria2 just uses this value
- and ignores the min interval and interval value in the response of
- tracker. If '0' is set, aria2 determines interval based on the
- response of tracker and the download progress. Default: '0'
- *--dht-entry-point*=HOST:PORT::
- Set host and port as an entry point to DHT network.
- *--dht-file-path*=PATH::
- Change the DHT routing table file to PATH.
- Default: '$HOME/.aria2/dht.dat'
- *--dht-listen-port*=PORT...::
- Set UDP listening port for DHT.
- Multiple ports can be specified by using ",", for example: '6881,6885'.
- You can also use "-" to specify a range: '6881-6999'. "," and "-" can be used
- together.
- Default: '6881-6999'
- [NOTE]
- Make sure that the specified ports are open for incoming UDP traffic.
- *--enable-dht*[='true'|'false']::
- Enable DHT functionality. If a private flag is set in a torrent, aria2
- doesn't use DHT for that download even if 'true' is given.
- Default: 'false'
- *--enable-peer-exchange*[='true'|'false']::
- Enable Peer Exchange extension. If a private flag is set in a torrent, this
- feature is disabled for that download even if 'true' is given.
- Default: 'true'
- *--follow-torrent*='true'|'false'|'mem'::
- If 'true' or 'mem' is specified, when a file whose suffix is ".torrent" or content
- type is "application/x-bittorrent" is downloaded, aria2 parses it as a torrent
- file and downloads files mentioned in it.
- If 'mem' is specified, a torrent file is not written to the disk, but is just
- kept in memory.
- If 'false' is specified, the action mentioned above is not taken.
- Default: 'true'
- *-O*, *--index-out*=INDEX=PATH::
- Set file path for file with index=INDEX. You can find the file index
- using the *--show-files* option. PATH is a relative path to the
- path specified in *--dir* option. You can use this option multiple
- times. Using this option, you can specify the output filenames of
- BitTorrent downloads.
- *--listen-port*=PORT...::
- Set TCP port number for BitTorrent downloads.
- Multiple ports can be specified by using ",", for example: '6881,6885'.
- You can also use "-" to specify a range: '6881-6999'.
- "," and "-" can be used together: '6881-6889,6999'.
- Default: '6881-6999'
- [NOTE]
- Make sure that the specified ports are open for incoming TCP traffic.
- *--max-overall-upload-limit*=SPEED::
- Set max overall upload speed in bytes/sec.
- '0' means unrestricted.
- You can append 'K' or 'M'(1K = 1024, 1M = 1024K).
- To limit the upload speed per torrent, use *--max-upload-limit* option.
- Default: '0'
- *-u*, *--max-upload-limit*=SPEED::
- Set max upload speed per each torrent in bytes/sec.
- '0' means unrestricted.
- You can append 'K' or 'M'(1K = 1024, 1M = 1024K).
- To limit the overall upload speed, use *--max-overall-upload-limit* option.
- Default: '0'
- *--peer-id-prefix*=PEER_ID_PREFIX::
- Specify the prefix of peer ID. The peer ID in
- BitTorrent is 20 byte length. If more than 20
- bytes are specified, only first 20 bytes are
- used. If less than 20 bytes are specified, random
- byte data are added to make its length 20 bytes.
- Default: 'aria2/$VERSION-', $VERSION is replaced by package version.
- *--seed-ratio*=RATIO::
- Specify share ratio. Seed completed torrents until share ratio reaches
- RATIO.
- You are strongly encouraged to specify equals or more than '1.0' here.
- Specify '0.0' if you intend to do seeding regardless of share ratio.
- If *--seed-time* option is specified along with this option, seeding ends when
- at least one of the conditions is satisfied.
- Default: '1.0'
- *--seed-time*=MINUTES::
- Specify seeding time in minutes. Also see the *--seed-ratio* option.
- *-T*, *--torrent-file*=TORRENT_FILE::
- The path to the .torrent file.
- You are not required to use this option because you can specify a torrent file without -T.
- Metalink Specific Options
- ~~~~~~~~~~~~~~~~~~~~~~~~~
- *--follow-metalink*='true'|'false'|'mem'::
- If 'true' or 'mem' is specified, when a file whose suffix is ".metaink" or content
- type of "application/metalink+xml" is downloaded, aria2 parses it as a metalink
- file and downloads files mentioned in it.
- If 'mem' is specified, a metalink file is not written to the disk, but is just
- kept in memory.
- If 'false' is specified, the action mentioned above is not taken.
- Default: 'true'
- *-M*, *--metalink-file*=METALINK_FILE::
- The file path to .metalink file. You are not required to use this option because you can
- specify a metalink file without -M.
- *-C*, *--metalink-servers*=NUM_SERVERS::
- The number of servers to connect to simultaneously.
- Some Metalinks regulate the number of servers to connect.
- aria2 strictly respects them.
- This means that if Metalink defines the maxconnections attribute lower
- than NUM_SERVERS, then aria2 uses the value of maxconnections attribute
- instead of NUM_SERVERS.
- See also *-s* and *-j* options.
- Default: '5'
- *--metalink-language*=LANGUAGE::
- The language of the file to download.
- *--metalink-location*=LOCATION[,...]::
- The location of the preferred server.
- A comma-delimited list of locations is acceptable, for example, 'JP,US'.
- *--metalink-os*=OS::
- The operating system of the file to download.
- *--metalink-version*=VERSION::
- The version of the file to download.
- *--metalink-preferred-protocol*=PROTO::
- Specify preferred protocol.
- The possible values are 'http', 'https', 'ftp' and 'none'.
- Specify 'none' to disable this feature.
- Default: 'none'
-
- *--metalink-enable-unique-protocol*='true'|'false'::
- If 'true' is given and several protocols are available for a mirror in a
- metalink file, aria2 uses one of them.
- Use *--metalink-preferred-protocol* option to specify the preference of
- protocol.
- Default: 'true'
- XML-RPC Options
- ~~~~~~~~~~~~~~~
- *--enable-xml-rpc*[='true'|'false']::
- Enable XML-RPC server. It is strongly recommended to set username
- and password using *--xml-rpc-user* and *--xml-rpc-passwd*
- option. See also *--xml-rpc-listen-port* option. Default: 'false'
- *--xml-rpc-listen-all*[='true'|'false']::
- Listen incoming XML-RPC requests on all network interfaces. If false
- is given, listen only on local loopback interface. Default: 'false'
- *--xml-rpc-listen-port*=PORT::
- Specify a port number for XML-RPC server to listen to. Possible
- Values: '1024'-'65535' Default: '6800'
- *--xml-rpc-max-request-size*=SIZE::
- Set max size of XML-RPC request. If aria2 detects the request is
- more than SIZE bytes, it drops connection. Default: '2M'
- *--xml-rpc-passwd*=PASSWD::
- Set XML-RPC password.
- *--xml-rpc-user*=USER::
- Set XML-RPC user.
- Advanced Options
- ~~~~~~~~~~~~~~~~
- *--allow-overwrite*='true'|'false'::
- If 'false' is given, and a file already exists but the corresponding
- control file (filename.aria2) doesn't exist, then aria2 will not
- re-download the file. See also *--auto-file-renaming* option.
- Default: 'false'
- *--allow-piece-length-change*='true'|'false'::
- If false is given, aria2 aborts download when a piece length is different
- from one in a control file.
- If true is given, you can proceed but some download progress will be lost.
- Default: 'false'
- *--async-dns*[='true'|'false']::
- Enable asynchronous DNS.
- Default: 'true'
- *--auto-file-renaming*[='true'|'false']::
- Rename file name if the same file already exists.
- This option works only in HTTP(S)/FTP download.
- The new file name has a dot and a number(1..9999) appended.
- Default: 'true'
- *--auto-save-interval*=SEC::
- Save a control file(*.aria2) every SEC seconds.
- If '0' is given, a control file is not saved during download. aria2 saves a
- control file when it stops regardless of the value.
- The possible values are between '0' to '600'.
- Default: '60'
- *--conf-path*=PATH::
- Change the configuration file path to PATH.
- Default: '$HOME/.aria2/aria2.conf'
- *-D*, *--daemon*::
- Run as daemon. The current working directory will be changed to '/'
- and standard input, standard output and standard error will be
- redirected to '/dev/null'. Default: 'false'
- *--enable-direct-io*[='true'|'false']::
- Enable directI/O, which lowers cpu usage while allocating/checking files.
- Turn off if you encounter any error.
- Default: 'true'
- *--event-poll*=POLL::
- Specify the method for polling events. The possible Values are
- 'epoll' and 'select'. If you use recent Linux that has epoll, then
- the default value is 'epoll'. Otherwise, the default value is
- 'select'.
- *--file-allocation*=METHOD::
- Specify file allocation method.
- 'none' doesn't pre-allocate file space. 'prealloc' pre-allocates file space
- before download begins. This may take some time depending on the size of the
- file.
- If you are using newer file systems such as ext4
- (with extents support), btrfs or xfs, 'falloc' is
- your best choice. It allocates large(few GiB)
- files almost instantly. Don't use 'falloc' with
- legacy file systems such as ext3 because it takes
- almost same time as 'prealloc' and it blocks aria2
- entirely until allocation finishes. 'falloc' may
- not be available if your system doesn't have
- *posix_fallocate*() function.
- Possible Values: 'none', 'prealloc', 'falloc'
- Default: 'prealloc'
- *--log-level*=LEVEL::
- Set log level to output.
- LEVEL is either 'debug', 'info', 'notice', 'warn' or 'error'.
- Default: 'debug'
- *--on-download-complete*=COMMAND::
- Set the command to be executed when download completes. See
- *--on-download-start* option for the requirement of COMMAND. See
- also *--on-download-stop* option. Possible Values:
- '/path/to/command'
- *--on-download-error*=COMMAND::
- Set the command to be executed when download aborts due to error.
- See *--on-download-start* option for the requirement of COMMAND.
- See also *--on-download-stop* option. Possible Values:
- '/path/to/command'
- *--on-download-start*=COMMAND::
- Set the command to be executed when download starts up. COMMAND must
- take just one argument and GID is passed to COMMAND as a first
- argument. Possible Values: '/path/to/command'
- *--on-download-stop*=COMMAND::
- Set the command to be executed when download stops. You can override
- the command to be executed for particular download result using
- *--on-download-complete* and *--on-download-error*. If they are
- specified, command specified in this option is not executed. See
- *--on-download-start* option for the requirement of COMMAND.
- Possible Values: '/path/to/command'
- *--summary-interval*=SEC::
- Set interval in seconds to output download progress summary.
- Setting '0' suppresses the output.
- Default: '60'
- [NOTE]
- In multi file torrent downloads, the files adjacent forward to the specified files
- are also allocated if they share the same piece.
- *-Z*, *--force-sequential*[='true'|'false']::
- Fetch URIs in the command-line sequentially and download each URI in a
- separate session, like the usual command-line download utilities.
- Default: 'false'
- *--max-overall-download-limit*=SPEED::
- Set max overall download speed in bytes/sec. '0' means
- unrestricted. You can append 'K' or 'M'(1K = 1024, 1M = 1024K). To
- limit the download speed per download, use *--max-download-limit*
- option. Default: '0'
- *--max-download-limit*=SPEED::
- Set max download speed per each download in bytes/sec. '0' means
- unrestricted. You can append 'K' or 'M'(1K = 1024, 1M = 1024K). To
- limit the overall download speed, use *--max-overall-download-limit*
- option. Default: '0'
- *--no-conf*::
- Disable loading aria2.conf file.
- *--no-file-allocation-limit*=SIZE::
- No file allocation is made for files whose size is smaller than SIZE.
- You can append 'K' or 'M'(1K = 1024, 1M = 1024K).
- Default: '5M'
- *-P*, *--parameterized-uri*[='true'|'false']::
- Enable parameterized URI support.
- You can specify set of parts: 'http://{sv1,sv2,sv3}/foo.iso'.
- Also you can specify numeric sequences with step counter:
- '\http://host/image[000-100:2].img'.
- A step counter can be omitted.
- If all URIs do not point to the same file, such as the second example above,
- -Z option is required.
- Default: 'false'
- *-q*, *--quiet*[='true'|'false']::
- Make aria2 quiet (no console output).
- Default: 'false'
- *--realtime-chunk-checksum*='true'|'false'::
- Validate chunk of data by calculating checksum while downloading a file if
- chunk checksums are provided.
- Default: 'true'
- *--stop*=SEC::
- Stop application after SEC seconds has passed.
- If '0' is given, this feature is disabled.
- Default: '0'
-
- *-v*, *--version*::
- Print the version number, copyright and the configuration information and
- exit.
- Options That Take An Optional Argument
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The options that have its argument surrounded by square brackets([])
- take an optional argument. Usually omiting the argument is evaluated to 'true'.
- If you use short form of these options(such as '-V') and give
- an argument, then the option name and its argument should be concatenated(e.g.
- '-Vfalse'). If any spaces are inserted between the option name and the argument,
- the argument will be treated as URI and usually this is not what you expect.
- URL, TORRENT_FILE, METALINK_FILE
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- You can specify multiple URLs in command-line.
- Unless you specify *-Z* option, all URLs must point to the same file or downloading will fail.
- You can also specify arbitrary number of torrent files and metalink files
- stored on a local drive. Please note that they are always treated as a
- separate download.
- You can specify both torrent file with -T option and URLs. By doing
- this, you can download a file from both torrent swarm and HTTP(S)/FTP
- server at the same time, while the data from HTTP(S)/FTP are uploaded
- to the torrent swarm. For single file torrents, URL can be a complete
- URL pointing to the resource or if URL ends with /, name in torrent
- file in torrent is added. For multi-file torrents, name and path are
- added to form a URL for each file.
- [NOTE]
- Make sure that URL is quoted with single(') or double(") quotation if it
- contains "&" or any characters that have special meaning in shell.
- Resuming Download
- ~~~~~~~~~~~~~~~~~
- Usually, you can resume transfer by just issuing same command(aria2c
- URL) if the previous transfer is made by aria2.
- If the previous transfer is made by a browser or wget like sequential
- download manager, then use -c option to continue the transfer(aria2c
- *-c* URL).
- EXIT STATUS
- -----------
- Because aria2 can handle multiple downloads at once, it encounters
- lots of errors in a session. aria2 returns the following exit status
- based on the last error encountered.
- *0*::
- If all downloads are successful.
- *1*::
- If an unknown error occurs.
- *2*::
- If time out occurs.
- *3*::
- If a resource is not found.
- *4*::
- If aria2 sees the specfied number of "resource not found" error.
- See *--max-file-not-found* option).
- *5*::
- If a download aborts because download speed is too slow.
- See *--lowest-speed-limit* option)
- *6*::
- If network problem occurs.
- *7*::
- If there are unfinished downloads. This error is only reported if
- all finished downloads are successful and there are unfinished
- downloads in a queue when aria2 exits by pressing Ctrl-C by an user
- or sending TERM or INT signal.
- [NOTE]
- An error occurred in a finished download will not be reported
- as exit status.
- ENVIRONMENT
- -----------
- aria2 recognizes the following environment variables.
- http_proxy [\http://][USER:PASSWORD@]HOST[:PORT]::
- Specify proxy server for use in HTTP.
- Overrides http-proxy value in configuration file.
- The command-line option *--http-proxy* overrides this value.
- https_proxy [\http://][USER:PASSWORD@]HOST[:PORT]::
- Specify proxy server for use in HTTPS.
- Overrides https-proxy value in configuration file.
- The command-line option *--https-proxy* overrides this value.
- ftp_proxy [\http://][USER:PASSWORD@]HOST[:PORT]::
- Specify proxy server for use in FTP.
- Overrides ftp-proxy value in configuration file.
- The command-line option *--ftp-proxy* overrides this value.
- all_proxy [\http://][USER:PASSWORD@]HOST[:PORT]::
- Specify proxy server for use if no protocol-specific proxy is specified.
- Overrides all-proxy value in configuration file.
- The command-line option *--all-proxy* overrides this value.
- no_proxy [DOMAIN,...]::
- Specify comma-separated hostname or domains to which proxy should not be used.
- Overrides no-proxy value in configuration file.
- The command-line option *--no-proxy* overrides this value.
- FILES
- -----
- aria2.conf
- ~~~~~~~~~~
- By default, aria2 parses '$HOME/.aria2/aria2.conf' as a configuraiton
- file. You can specify the path to configuration file using
- *--conf-path* option. If you don't want to use the configuraitonf
- file, use *--no-conf* option.
- The configuration file is a text file and has 1 option per each
- line. In each line, you can specify name-value pair in the format:
- NAME=VALUE, where name is the long command-line option name without
- "--" prefix. You can use same syntax for the command-line option. The
- lines beginning "#" are treated as comments.
- --------------------------------------
- # sample configuration file for aria2c
- listen-port=60000
- dht-listen-port=60000
- seed-ratio=1.0
- max-upload-limit=50K
- ftp-pasv=true
- --------------------------------------
- dht.dat
- ~~~~~~~~
- By default, the routing table of DHT is saved to the path $HOME/.aria2/dht.dat.
- Control File
- ~~~~~~~~~~~~
- aria2 uses a control file to track the progress of a download. A
- control file is placed in the same directory as the downloading file
- and its filename is the filename of downloading file with ".aria2"
- appended. For example, if you are downloading file.zip, then the
- control file should be file.zip.aria2. (There is a exception for this
- naming convention. If you are downloading a multi torrent, its
- control file is the "top directory" name of the torrent with ".aria2"
- appended. The "top directory" name is a value of "name" key in "info"
- directory in a torrent file.)
- Usually a control file is deleted once download completed. If aria2
- decides that download cannot be resumed(for example, when downloading
- a file from a HTTP server which doesn't support resume), a control
- file is not created.
- Normally if you lose a control file, you cannot resume download. But
- if you have a torrent or metalink with chunk checksums for the file,
- you can resume the download without a control file by giving -V option
- to aria2c in command-line.
- Input File
- ~~~~~~~~~~
- The input file can contain a list of URIs for aria2 to download. 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, the following options can be specified after each line
- of URIs. These optional lines must start with white space(s).
- * dir
- * check-integrity
- * continue
- * all-proxy
- * connect-timeout
- * dry-run
- * lowest-speed-limit
- * max-file-not-found
- * max-tries
- * no-proxy
- * out
- * proxy-method
- * remote-time
- * split
- * timeout
- * http-auth-challenge
- * http-user
- * http-passwd
- * http-proxy
- * https-proxy
- * referer
- * enable-http-keep-alive
- * enable-http-pipelining
- * header
- * use-head
- * user-agent
- * ftp-user
- * ftp-passwd
- * ftp-pasv
- * ftp-proxy
- * ftp-type
- * ftp-reuse-connection
- * no-netrc
- * select-file
- * bt-external-ip
- * bt-hash-check-seed
- * bt-max-open-files
- * bt-max-peers
- * bt-min-crypto-level
- * bt-require-crypto
- * bt-request-peer-speed-limit
- * bt-seed-unverified
- * bt-stop-timeout
- * bt-tracker-interval
- * enable-peer-exchange
- * follow-torrent
- * index-out
- * max-upload-limit
- * seed-ratio
- * seed-time
- * follow-metalink
- * metalink-servers
- * metalink-language
- * metalink-location
- * metalink-os
- * metalink-version
- * metalink-preferred-protocol
- * metalink-enable-unique-protocol
- * allow-overwrite
- * allow-piece-length-change
- * async-dns
- * auto-file-renaming
- * file-allocation
- * max-download-limit
- * no-file-allocation-limit
- * parameterized-uri
- * realtime-chunk-checksum
- 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, the content of uri.txt is
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 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'.
- In some cases, *out* parameter has no effect. See note of *--out*
- option for the restrictions.
- Server Performance Profile
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- This section describes the format of server performance profile. The
- file is plain text and each line has several NAME=VALUE pair,
- delimited by comma. Currently following NAMEs are recognized:
- host::
- Hostname of the server. Required.
- protocol::
- Protocol for this profile, such as ftp, http. Required.
- dl_speed::
- The average download speed observed in the previous download in
- bytes per sec. Required.
- sc_avg_speed::
- The average download speed observed in the previous download in
- bytes per sec. This value is only updated if the download is done in
- single connection environment and only used by
- AdaptiveURISelector. Optional.
- mc_avg_speed::
- The average download speed observed in the previous download in
- bytes per sec. This value is only updated if the download is done in
- multi connection environment and only used by
- AdaptiveURISelector. Optional.
- counter::
- How many times the server is used. Currently this value is only used
- by AdaptiveURISelector. Optional.
- last_updated::
- Last contact time in GMT with this server, specified in the seconds
- from the Epoch. Required.
- status::
- ERROR is set when server cannot be reached or out-of-service or
- timeout occurred. Otherwise, OK is set.
- Those fields must exist in one line. The order of the fields is not
- significant. You can put pairs other than the above; they are simply
- ignored.
- An example follows:
- --------------------------------------------------------------------------------
- host=localhost, protocol=http, dl_speed=32000, last_updated=1222491640, status=OK
- host=localhost, protocol=ftp, dl_speed=0, last_updated=1222491632, status=ERROR
- --------------------------------------------------------------------------------
- XML-RPC INTERFACE
- -----------------
- Terminology
- ~~~~~~~~~~~
- GID::
- GID(or gid) is the key to manage each download. Each download has an
- unique GID. Currently GID looks like an integer, but don't treat it
- as integer because it may be changed to another type in the future
- release.
- Methods
- ~~~~~~~
- *aria2.addUri* 'uris[, options[, position]]'
- This method adds new HTTP(S)/FTP download. 'uris' is of type array
- and its element is URI which is of type string. 'options' is of type
- struct and its members are a pair of option name and value. See
- *Options* below for more details. If 'position' is given as an
- integer starting from 0, the new download is inserted at 'position' in
- the waiting queue. If 'position' is not given or 'position' is larger
- than the size of the queue, it is appended at the end of the queue.
- This method returns GID of registered download.
- *aria2.addTorrent* 'torrent[, uris[, options[, position]]]'
- This method adds BitTorrent download by uploading .torrent file.
- 'torrent' is of type base64 which contains Base64-encoded .torrent
- file. 'uris' is of type array and its element is URI which is of type
- string. 'uris' is used for Web-seeding. For single file torrents, URI
- can be a complete URI pointing to the resource or if URI ends with /,
- name in torrent file is added. For multi-file torrents, name and path
- in torrent are added to form a URI for each file. 'options' is of
- type struct and its members are a pair of option name and value. See
- *Options* below for more details. If 'position' is given as an
- integer starting from 0, the new download is inserted at 'position' in
- the waiting queue. If 'position' is not given or 'position' is larger
- than the size of the queue, it is appended at the end of the queue.
- This method returns GID of registered download.
- *aria2.addMetalink* 'metalink[, options[, position]]'
- This method adds Metalink download by uploading .metalink file.
- 'metalink' is of type base64 which contains Base64-encoded .metalink
- file. 'options' is of type struct and its members are a pair of
- option name and value. See *Options* below for more details. If
- 'position' is given as an integer starting from 0, the new download is
- inserted at 'position' in the waiting queue. If 'position' is not
- given or 'position' is larger than the size of the queue, it is
- appended at the end of the queue. This method returns array of GID of
- registered download.
- *aria2.remove* 'gid'
- This method removes the download denoted by 'gid'. 'gid' is of type
- string. If specified download is in progress, it is stopped at
- first. The status of removed download becomes "removed". This method
- returns GID of removed download.
- *aria2.tellStatus* 'gid'
- This method returns download progress of the download denoted by
- 'gid'. 'gid' is of type string. The response is of type struct and it
- contains following keys. The value type is string.
- gid::
- GID of this download.
- status::
- "active" for currently downloading/seeding entry. "waiting" for the
- entry in the queue; download is not started. "error" for the stopped
- download because of error. "complete" for the stopped and completed
- download. "removed" for the download removed by user.
- totalLength::
- Total length of this download in bytes.
- completedLength::
- Completed length of this download in bytes.
- uploadLength::
- Uploaded length of this download in bytes.
- bitfield::
- Hexadecimal representation of the download progress. The highest bit
- corresponds to piece index 0. The set bits indicate the piece is
- available and unset bits indicate the piece is missing. The spare
- bits at the end are set to zero.
- downloadSpeed::
- Download speed of this download measured in bytes/sec.
- uploadSpeed::
- Upload speed of this download measured in bytes/sec.
- infoHash::
- InfoHash. BitTorrent only.
- numSeeders::
- The number of seeders the client has connected to. BitTorrent only.
- pieceLength::
- Piece length in bytes.
- numPieces::
- The number of pieces.
- connections::
- The number of peers/servers the client has connected to.
- errorCode::
- The last error code occurred in this download. The value is of type
- string. The error codes are defined in EXIT STATUS section. This
- value is only available for stopped/completed downloads.
- *aria2.getUris* 'gid'
- This method returns URIs used in the download denoted by 'gid'. 'gid'
- is of type string. The response is of type array and its element is of
- type struct and it contains following keys. The value type is string.
- uri::
- URI
- *aria2.getFiles* 'gid'
- This method returns file list of the download denoted by 'gid'. 'gid'
- is of type string. The response is of type array and its element is of
- type struct and it contains following keys. The value type is string.
- index::
- Index of file. Starting with 1. This is the same order with the
- files in multi-file torrent.
- path::
- File path.
- length::
- File size in bytes.
- selected::
- "true" if this file is selected by *--select-file* option. If
- *--select-file* is not specified or this is single torrent or no
- torrent download, this value is always "true". Otherwise "false".
- *aria2.getPeers* 'gid'
- This method returns peer list of the download denoted by 'gid'. 'gid'
- is of type string. This method is for BitTorrent only. The response
- is of type array and its element is of type struct and it contains
- following keys. The value type is string.
- peerId::
- Percent-encoded peer ID.
- ip::
- IP address of the peer.
- port::
- Port number of the peer.
- bitfield::
- Hexadecimal representation of the download progress of the peer. The
- highest bit corresponds to piece index 0. The set bits indicate the
- piece is available and unset bits indicate the piece is missing. The
- spare bits at the end are set to zero.
- amChoking::
- "true" if this client is choking the peer. Otherwise "false".
- peerChoking::
- "true" if the peer is choking this client. Otherwise "false".
- downloadSpeed::
- Download speed (byte/sec) that this client obtains from the peer.
- uploadSpeed::
- Upload speed(byte/sec) that this client uploads to the peer.
- seeder::
- "true" is this client is a seeder. Otherwise "false".
- *aria2.tellActive*
- This method returns the list of active downloads. The respose is of
- type array and its element is the same struct returned by
- *aria2.tellStatus* method.
- *aria2.tellWaiting* 'offset, num'
- This method returns the list of waiting download in the range of
- ['offset', 'offset'+'num'). 'offset' is of type integer and specifies
- the offset from the download waiting at the front. 'num' is of type
- integer and specifies the number of downloads to be returned. For
- example, imagine that three downloads "A","B" and "C" are waiting in
- this order. aria2.tellWaiting(0, 1) returns "A". aria2.tellWaiting(1,
- 2) returns "B" and "C". The respose is of type array and its element
- is the same struct returned by *aria2.tellStatus* method.
- *aria2.changeOption* 'gid, options'
- This method changes options of the download denoted by 'gid'
- dynamically. 'gid' is of type string. 'options' is of type struct
- and the available options are *max-download-limit* and *max-upload-limit*.
- This method returns "OK" for success.
- *aria2.changeGlobalOption* 'options'
- This method changes global options dynamically. 'options' is of type
- struct and the available options are *max-concurrent-downloads*,
- *max-overall-download-limit* and *max-overall-upload-limit*. This
- method returns "OK" for success.
- *aria2.purgeDownloadResult*
- This method purges completed/error/removed downloads to free memory.
- This method returns "OK".
- *aria2.getVersion*
- This method returns version of the program and the list of enabled
- features. The response is of type struct and contains following keys.
- version::
- Version number of the program in string.
- enabledFeatures::
- List of enabled features. Each feature name is of type string.
- Error Handling
- ~~~~~~~~~~~~~~
- In case of error, aria2 returns faultCode=1 and the error message in
- faultString.
- Options
- ~~~~~~~
- Same options for *-i* list are available. See *Input File* subsection
- for complete list of options.
- In the option struct, name element is option name(without preceeding
- "--") and value element is argument as string.
- -------------------------------------------------
- <struct>
- <member>
- <name>split</name>
- <value><string>1</string></value>
- </member>
- <member>
- <name>http-proxy</name>
- <value><string>http://proxy/</string></value>
- </member>
- </struct>
- -------------------------------------------------
- *header* and *index-out* option are allowed multiple times in
- command-line. Since name should be unique in struct(many XML-RPC
- library implementation uses hash or dict for struct), single string is
- not enough. To overcome this situation, they can take array as value
- as well as string.
- ---------------------------------------------------------------
- <struct>
- <member>
- <name>header</name>
- <value>
- <array>
- <data>
- <value><string>Accept-Language: ja</string></value>
- <value><string>Accept-Charset: utf-8</string></value>
- </data>
- </array>
- </value>
- </member>
- </struct>
- ---------------------------------------------------------------
- Sample XML-RPC Client Code
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- The following Ruby script adds 'http://localhost/aria2.tar.bz2' to
- aria2c operated on localhost with option *--dir*='/downloads' and
- prints its reponse.
- ----------------------------------------------
- #!/usr/bin/env ruby
- require 'xmlrpc/client'
- require 'pp'
- client=XMLRPC::Client.new2("http://localhost:6800/rpc")
- options={ "dir" => "/downloads" }
- result=client.call("aria2.addUri", [ "http://localhost/aria2.tar.bz2" ], options)
- pp result
- ----------------------------------------------
- EXAMPLE
- -------
- HTTP/FTP Segmented Download
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Download a file
- ^^^^^^^^^^^^^^^
- --------------------------------
- aria2c "http://host/file.zip"
- --------------------------------
- [NOTE]
- aria2 uses 5 connections to download 1 file by default.
- Download a file using 1 connection
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ----------------------------------
- aria2c -s1 "http://host/file.zip"
- ----------------------------------
- [NOTE]
- aria2 uses 5 connections to download 1 file by default.
- -s1 limits the number of connections to just 1.
- [NOTE]
- To pause a download, press Ctrl-C. You can resume the transfer by running aria2c with the same argument in the same directory. You can change URLs as long as they are pointing to the same file.
- Download a file from 2 different HTTP servers
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ------------------------------------------------------
- aria2c "http://host/file.zip" "http://mirror/file.zip"
- ------------------------------------------------------
- Download a file from HTTP and FTP servers
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- -----------------------------------------------------
- aria2c "http://host1/file.zip" "ftp://host2/file.zip"
- -----------------------------------------------------
- Download files listed in a text file concurrently
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ------------------------
- aria2c -ifiles.txt -j2
- ------------------------
- [NOTE]
- -j option specifies the number of parallel downloads.
- Using proxy
- ^^^^^^^^^^^
- For HTTP:
- ----------------------------------------------------------
- aria2c --http-proxy="http://proxy:8080" "http://host/file"
- ----------------------------------------------------------
- For FTP:
- --------------------------------------------------------
- aria2c --ftp-proxy="http://proxy:8080" "ftp://host/file"
- --------------------------------------------------------
- [NOTE]
- See *--http-proxy*, *--https-proxy*, *--ftp-proxy* and *--all-proxy* for
- details.
- You can specify proxy in the environment variables. See *ENVIRONMENT* section.
- Proxy with authorization
- ^^^^^^^^^^^^^^^^^^^^^^^^
- ----------------------------------------------------------------------------
- aria2c --http-proxy="http://username:password@proxy:8080" "http://host/file"
- ----------------------------------------------------------------------------
- Metalink Download
- ~~~~~~~~~~~~~~~~~
- Download files with remote Metalink
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- --------------------------------------------------------
- aria2c --follow-metalink=mem "http://host/file.metalink"
- --------------------------------------------------------
- Download using a local metalink file
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ----------------------------------------------------------
- aria2c -p --lowest-speed-limit=4000 file.metalink
- ----------------------------------------------------------
- [NOTE]
- To pause a download, press Ctrl-C.
- You can resume the transfer by running aria2c with the same argument in the same
- directory.
- Download several local metalink files
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ----------------------------------------
- aria2c -j2 file1.metalink file2.metalink
- ----------------------------------------
- Download only selected files using index
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- -------------------------------------------
- aria2c --select-file=1-4,8 file.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 --follow-torrent=mem "http://host/file.torrent"
- ------------------------------------------------------
- Download using a local torrent file
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ---------------------------------------------
- aria2c --max-upload-limit=40K file.torrent
- ---------------------------------------------
- [NOTE]
- --max-upload-limit specifies the max of upload rate.
- [NOTE]
- To pause a download, press Ctrl-C. You can resume the transfer by running aria2c with the same argument in the same directory.
- Download 2 torrents
- ^^^^^^^^^^^^^^^^^^^
- --------------------------------------
- aria2c -j2 file1.torrent file2.torrent
- --------------------------------------
- Download a file using torrent and HTTP/FTP server
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ------------------------------------------------------------
- aria2c -Ttest.torrent "http://host1/file" "ftp://host2/file"
- ------------------------------------------------------------
- [NOTE]
- Downloading multi file torrent with HTTP/FTP is not supported.
- Download only selected files using index(usually called "selectable download")
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ---------------------------------------
- aria2c --select-file=1-4,8 file.torrent
- ---------------------------------------
- [NOTE]
- The index is printed to the console using -S option.
- Specify output filename
- ^^^^^^^^^^^^^^^^^^^^^^^
- 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 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
- -----------------------------------------------------------------------------------------
- Change the listening port for incoming peer
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ---------------------------------------------------
- aria2c --listen-port=7000-7001,8000 file.torrent
- ---------------------------------------------------
- [NOTE]
- Since aria2 doesn't configure firewall or router for port forwarding, it's up
- to you to do it manually.
- 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 exits 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
- ----------------------------------------------
- Enable DHT
- ^^^^^^^^^^
- ---------------------------------------------------------
- aria2c --enable-dht --dht-listen-port=6881 file.torrent
- ---------------------------------------------------------
- [NOTE]
- DHT uses udp port. Since aria2 doesn't configure firewall or router for port
- forwarding, it's up to you to do it manually.
- More advanced HTTP features
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Load cookies
- ^^^^^^^^^^^^
- --------------------------------------------------------
- aria2c --load-cookies=cookies.txt "http://host/file.zip"
- --------------------------------------------------------
- [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"
- -------------------------------------------------------
- Client certificate authorization for SSL/TLS
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ------------------------------------------------------------------------------------------
- aria2c --certificate=/path/to/mycert.pem --private-key=/path/to/mykey.pem https://host/file
- ------------------------------------------------------------------------------------------
- [NOTE]
- The file specified in *--private-key* must be decrypted. The behavior when
- encrypted one is given is undefined.
- Verify peer in SSL/TLS using given CA certificates
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ------------------------------------------------------------------------------------------
- aria2c --ca-certificate=/path/to/ca-certificates.crt --check-certificate https://host/file
- ------------------------------------------------------------------------------------------
- And more advanced features
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- Throttle download speed
- ^^^^^^^^^^^^^^^^^^^^^^^
- -------------------------------------------------
- aria2c --max-download-limit=100K file.metalink
- -------------------------------------------------
- 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:
- ---------------------------------------------
- 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"
- -------------------------------------------
- Parallel downloads of arbitrary number of URL,metalink,torrent
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- --------------------------------------------------------------
- aria2c -j3 -Z "http://host/file1" file2.torrent file3.metalink
- --------------------------------------------------------------
- BitTorrent Encryption
- ^^^^^^^^^^^^^^^^^^^^^
- Encrypt whole payload using ARC4:
- -------------------------------------------------------------------------
- aria2c --bt-min-crypto-level=arc4 --bt-require-crypto=true file.torrent
- -------------------------------------------------------------------------
- SEE ALSO
- --------
- Project Web Site: http://aria2.sourceforge.net/
- aria2 Wiki: http://sourceforge.net/apps/trac/aria2/wiki
- Metalink Homepage: http://www.metalinker.org/
- COPYRIGHT
- ---------
- Copyright (C) 2006, 2009 Tatsuhiro Tsujikawa
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- In addition, as a special exception, the copyright holders give
- permission to link the code of portions of this program with the
- OpenSSL library under certain conditions as described in each
- individual source file, and distribute linked combinations
- including the two.
- You must obey the GNU General Public License in all respects
- for all of the code used other than OpenSSL. If you modify
- file(s) with this exception, you may extend this exception to your
- version of the file(s), but you are not obligated to do so. If you
- do not wish to do so, delete this exception statement from your
- version. If you delete this exception statement from all source
- files in the program, then also delete it here.
|