123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <meta name="generator" content="AsciiDoc 8.2.7" />
- <style type="text/css">
- /* Debug borders */
- p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
- /*
- border: 1px solid red;
- */
- }
- body {
- margin: 1em 5% 1em 5%;
- }
- a {
- color: blue;
- text-decoration: underline;
- }
- a:visited {
- color: fuchsia;
- }
- em {
- font-style: italic;
- color: navy;
- }
- strong {
- font-weight: bold;
- color: #083194;
- }
- tt {
- color: navy;
- }
- h1, h2, h3, h4, h5, h6 {
- color: #527bbd;
- font-family: sans-serif;
- margin-top: 1.2em;
- margin-bottom: 0.5em;
- line-height: 1.3;
- }
- h1, h2, h3 {
- border-bottom: 2px solid silver;
- }
- h2 {
- padding-top: 0.5em;
- }
- h3 {
- float: left;
- }
- h3 + * {
- clear: left;
- }
- div.sectionbody {
- font-family: serif;
- margin-left: 0;
- }
- hr {
- border: 1px solid silver;
- }
- p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- ul, ol, li > p {
- margin-top: 0;
- }
- pre {
- padding: 0;
- margin: 0;
- }
- span#author {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- font-size: 1.1em;
- }
- span#email {
- }
- span#revision {
- font-family: sans-serif;
- }
- div#footer {
- font-family: sans-serif;
- font-size: small;
- border-top: 2px solid silver;
- padding-top: 0.5em;
- margin-top: 4.0em;
- }
- div#footer-text {
- float: left;
- padding-bottom: 0.5em;
- }
- div#footer-badges {
- float: right;
- padding-bottom: 0.5em;
- }
- div#preamble,
- div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
- div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
- div.admonitionblock {
- margin-right: 10%;
- margin-top: 1.5em;
- margin-bottom: 1.5em;
- }
- div.admonitionblock {
- margin-top: 2.5em;
- margin-bottom: 2.5em;
- }
- div.content { /* Block element content. */
- padding: 0;
- }
- /* Block element titles. */
- div.title, caption.title {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- text-align: left;
- margin-top: 1.0em;
- margin-bottom: 0.5em;
- }
- div.title + * {
- margin-top: 0;
- }
- td div.title:first-child {
- margin-top: 0.0em;
- }
- div.content div.title:first-child {
- margin-top: 0.0em;
- }
- div.content + div.title {
- margin-top: 0.0em;
- }
- div.sidebarblock > div.content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
- }
- div.listingblock {
- margin-right: 0%;
- }
- div.listingblock > div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
- }
- div.quoteblock {
- padding-left: 2.0em;
- }
- div.quoteblock > div.attribution {
- padding-top: 0.5em;
- text-align: right;
- }
- div.verseblock {
- padding-left: 2.0em;
- }
- div.verseblock > div.content {
- white-space: pre;
- }
- div.verseblock > div.attribution {
- padding-top: 0.75em;
- text-align: left;
- }
- /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
- div.verseblock + div.attribution {
- text-align: left;
- }
- div.admonitionblock .icon {
- vertical-align: top;
- font-size: 1.1em;
- font-weight: bold;
- text-decoration: underline;
- color: #527bbd;
- padding-right: 0.5em;
- }
- div.admonitionblock td.content {
- padding-left: 0.5em;
- border-left: 2px solid silver;
- }
- div.exampleblock > div.content {
- border-left: 2px solid silver;
- padding: 0.5em;
- }
- div.imageblock div.content { padding-left: 0; }
- div.imageblock img { border: 1px solid silver; }
- span.image img { border-style: none; }
- dl {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
- }
- dt {
- margin-top: 0.5em;
- margin-bottom: 0;
- font-style: normal;
- }
- dd > *:first-child {
- margin-top: 0.1em;
- }
- ul, ol {
- list-style-position: outside;
- }
- div.olist > ol {
- list-style-type: decimal;
- }
- div.olist2 > ol {
- list-style-type: lower-alpha;
- }
- div.tableblock > table {
- border: 3px solid #527bbd;
- }
- thead {
- font-family: sans-serif;
- font-weight: bold;
- }
- tfoot {
- font-weight: bold;
- }
- div.hlist {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
- }
- div.hlist td {
- padding-bottom: 15px;
- }
- td.hlist1 {
- vertical-align: top;
- font-style: normal;
- padding-right: 0.8em;
- }
- td.hlist2 {
- vertical-align: top;
- }
- @media print {
- div#footer-badges { display: none; }
- }
- div#toctitle {
- color: #527bbd;
- font-family: sans-serif;
- font-size: 1.1em;
- font-weight: bold;
- margin-top: 1.0em;
- margin-bottom: 0.1em;
- }
- div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
- margin-top: 0;
- margin-bottom: 0;
- }
- div.toclevel2 {
- margin-left: 2em;
- font-size: 0.9em;
- }
- div.toclevel3 {
- margin-left: 4em;
- font-size: 0.9em;
- }
- div.toclevel4 {
- margin-left: 6em;
- font-size: 0.9em;
- }
- /* Workarounds for IE6's broken and incomplete CSS2. */
- div.sidebar-content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
- }
- div.sidebar-title, div.image-title {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- margin-top: 0.0em;
- margin-bottom: 0.5em;
- }
- div.listingblock div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
- }
- div.quoteblock-attribution {
- padding-top: 0.5em;
- text-align: right;
- }
- div.verseblock-content {
- white-space: pre;
- }
- div.verseblock-attribution {
- padding-top: 0.75em;
- text-align: left;
- }
- div.exampleblock-content {
- border-left: 2px solid silver;
- padding-left: 0.5em;
- }
- /* IE6 sets dynamically generated links as visited. */
- div#toc a:visited { color: blue; }
- /* Because IE6 child selector is broken. */
- div.olist2 ol {
- list-style-type: lower-alpha;
- }
- div.olist2 div.olist ol {
- list-style-type: decimal;
- }
- </style>
- <title>aria2 - The ultra fast download utility</title>
- </head>
- <body>
- <div id="header">
- <h1>aria2 - The ultra fast download utility</h1>
- <span id="author">Tatsuhiro Tsujikawa</span><br />
- <span id="email"><tt><<a href="mailto:tujikawa_at_users_dot_sourceforge_dot_net">tujikawa_at_users_dot_sourceforge_dot_net</a>></tt></span><br />
- </div>
- <h2 id="_disclaimer">1. Disclaimer</h2>
- <div class="sectionbody">
- <div class="para"><p>This program comes with no warranty.
- You must use this program at your own risk.</p></div>
- </div>
- <h2 id="_introduction">2. Introduction</h2>
- <div class="sectionbody">
- <div class="para"><p>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.</p></div>
- <div class="para"><p>Here is a list of features.</p></div>
- <div class="ilist"><ul>
- <li>
- <p>
- Command-line interface
- </p>
- </li>
- <li>
- <p>
- Download files through HTTP(S)/FTP/BitTorrent
- </p>
- </li>
- <li>
- <p>
- Segmented downloading
- </p>
- </li>
- <li>
- <p>
- Metalink version 3.0 support(HTTP/FTP/BitTorrent)
- </p>
- </li>
- <li>
- <p>
- HTTP/1.1 implementation
- </p>
- </li>
- <li>
- <p>
- HTTP Proxy support
- </p>
- </li>
- <li>
- <p>
- HTTP BASIC authentication support
- </p>
- </li>
- <li>
- <p>
- HTTP Proxy authentication support
- </p>
- </li>
- <li>
- <p>
- Well-known environment variables for proxy: http_proxy, https_proxy,
- ftp_proxy, all_proxy and no_proxy
- </p>
- </li>
- <li>
- <p>
- HTTP gzip, deflate content encoding support
- </p>
- </li>
- <li>
- <p>
- Verify peer using given trusted CA certificate in HTTPS
- </p>
- </li>
- <li>
- <p>
- Client certificate authentication in HTTPS
- </p>
- </li>
- <li>
- <p>
- Chunked transfer encoding support
- </p>
- </li>
- <li>
- <p>
- Load Cookies from file using the Firefox3 format and the Mozilla/Firefox
- (1.x/2.x)/Netscape format.
- </p>
- </li>
- <li>
- <p>
- Custom HTTP Header support
- </p>
- </li>
- <li>
- <p>
- Persistent Connections support
- </p>
- </li>
- <li>
- <p>
- FTP through HTTP Proxy
- </p>
- </li>
- <li>
- <p>
- Download/Upload speed throttling
- </p>
- </li>
- <li>
- <p>
- BitTorrent extensions: Fast extension, DHT, PEX, MSE/PSE, Multi-Tracker
- </p>
- </li>
- <li>
- <p>
- Run as a daemon process
- </p>
- </li>
- <li>
- <p>
- Selective download in multi-file torrent/Metalink
- </p>
- </li>
- <li>
- <p>
- Chunk checksum validation in Metalink
- </p>
- </li>
- <li>
- <p>
- Can disable segmented downloading in Metalink
- </p>
- </li>
- <li>
- <p>
- Netrc support
- </p>
- </li>
- <li>
- <p>
- Configuration file support
- </p>
- </li>
- <li>
- <p>
- Download URIs found in a text file or stdin and the destination directory and
- output filename can be specified optionally
- </p>
- </li>
- <li>
- <p>
- Parameterized URI support
- </p>
- </li>
- </ul></div>
- </div>
- <h2 id="_dependency">3. Dependency</h2>
- <div class="sectionbody">
- <div class="tableblock">
- <table rules="all"
- frame="border"
- cellspacing="0" cellpadding="4">
- <caption class="title">Table: External Library Dependency</caption>
- <col width="240" />
- <col width="320" />
- <thead>
- <tr>
- <th align="left">
- features
- </th>
- <th align="left">
- dependency
- </th>
- </tr>
- </thead>
- <tbody valign="top">
- <tr>
- <td align="left">
- HTTPS
- </td>
- <td align="left">
- GnuTLS or OpenSSL
- </td>
- </tr>
- <tr>
- <td align="left">
- BitTorrent
- </td>
- <td align="left">
- GnuTLS+Libgcrypt or OpenSSL
- </td>
- </tr>
- <tr>
- <td align="left">
- Metalink
- </td>
- <td align="left">
- libxml2 or Expat.
- </td>
- </tr>
- <tr>
- <td align="left">
- Checksum
- </td>
- <td align="left">
- GnuTLS+Libgcrypt or OpenSSL
- </td>
- </tr>
- <tr>
- <td align="left">
- gzip, deflate in HTTP
- </td>
- <td align="left">
- zlib
- </td>
- </tr>
- <tr>
- <td align="left">
- Async DNS
- </td>
- <td align="left">
- C-Ares
- </td>
- </tr>
- <tr>
- <td align="left">
- Firefox3 cookie
- </td>
- <td align="left">
- libsqlite3
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="vlist"><dl>
- <dt>
- Note
- </dt>
- <dd>
- <p>
- GNU TLS has precedence over OpenSSL if both libraries are installed.
- If you prefer OpenSSL, run configure with "—without-gnutls".
- </p>
- </dd>
- <dt>
- Note
- </dt>
- <dd>
- <p>
- libxml2 has precedence over Expat if both libraries are installed.
- If you prefer Expat, run configure with "—without-libxml2".
- </p>
- </dd>
- </dl></div>
- <div class="para"><p>You can disable BitTorrent, Metalink support by providing
- —disable-bittorrent, —disable-metalink respectively to configure
- script.</p></div>
- <div class="para"><p>In order to enable async DNS support, you need c-ares.</p></div>
- <div class="ilist"><ul>
- <li>
- <p>
- c-ares: <a href="http://daniel.haxx.se/projects/c-ares/">http://daniel.haxx.se/projects/c-ares/</a>
- </p>
- </li>
- </ul></div>
- </div>
- <h2 id="_how_to_build">4. How to build</h2>
- <div class="sectionbody">
- <div class="para"><p>In order to build aria2 from the source package, you need following
- development packages(package name may vary depending on the
- distribution you use):</p></div>
- <div class="ilist"><ul>
- <li>
- <p>
- libgnutls-dev (Required for HTTPS, BitTorrent, Checksum support)
- </p>
- </li>
- <li>
- <p>
- libgpg-error-dev (Required for BitTorrent, Checksum support)
- </p>
- </li>
- <li>
- <p>
- libgcrypt-dev (Required for BitTorrent, Checksum support)
- </p>
- </li>
- <li>
- <p>
- libc-ares-dev (Required for async DNS support)
- </p>
- </li>
- <li>
- <p>
- libxml2-dev (Required for Metalink support)
- </p>
- </li>
- <li>
- <p>
- libz1g-dev (Required for gzip, deflate decoding support in HTTP)
- </p>
- </li>
- <li>
- <p>
- libsqlite3-dev (Required for Firefox3 cookie support)
- </p>
- </li>
- </ul></div>
- <div class="para"><p>You can use libssl-dev instead of
- libgnutls-dev,libgpg-error-dev,libgcrypt-dev:</p></div>
- <div class="ilist"><ul>
- <li>
- <p>
- libssl-dev (Required for HTTPS, BitTorrent, Checksum support)
- </p>
- </li>
- </ul></div>
- <div class="para"><p>You can use libexpat1-dev instead of libxml2-dev:</p></div>
- <div class="ilist"><ul>
- <li>
- <p>
- libexpat1-dev (Required for Metalink support)
- </p>
- </li>
- </ul></div>
- <div class="para"><p>The build process is fairly standard way for *nix programs:</p></div>
- <div class="listingblock">
- <div class="content">
- <pre><tt>$ ./configure
- $ make</tt></pre>
- </div></div>
- <div class="para"><p>The executable is aria2c in src directory.</p></div>
- <div class="para"><p>aria2 uses CppUnit for automated unit testing. To run run the unit test:</p></div>
- <div class="listingblock">
- <div class="content">
- <pre><tt>$ make check</tt></pre>
- </div></div>
- </div>
- <h2 id="_bittorrrent">5. BitTorrrent</h2>
- <div class="sectionbody">
- <h3 id="_about_filename">5.1. About filename</h3><div style="clear:left"></div>
- <div class="para"><p>The filename of the downloaded file is determined as follows:</p></div>
- <div class="vlist"><dl>
- <dt>
- single-file mode
- </dt>
- <dd>
- <p>
- If "name" key is present in .torrent file, filename is the value
- of "name" key. Otherwise, filename is the basename of .torrent
- file appended by ".file". For example, .torrent file is
- "test.torrrent", then filename is "test.torrent.file". The
- directory to store the downloaded file can be specified by -d
- option.
- </p>
- </dd>
- <dt>
- multi-file mode
- </dt>
- <dd>
- <p>
- The complete directory/file structure mentioned in .torrent file
- is created. The directory to store the top directory of
- downloaded files can be specified by -d option.
- </p>
- </dd>
- </dl></div>
- <div class="para"><p>In the default behavior, before download starts, a complete directory
- structure is created if needed. By default, aria2 opens at most 100
- files mentioned in .torrent file, directly writes to and reads from
- these files. The number of files to open simultaneously can be
- controlled by "—bt-max-open-files" option.</p></div>
- <div class="para"><p>If "—direct-file-mapping" option set to be false, aria2 creates
- temporary file in the store directory. The length of this file is the
- sum of length of the files in .torrent file, so at least 2 times more
- disk space than the file size itself is required. Writing and reading
- are done against this file. After download completes, aria2 creates
- complete directory structure if needed, and copies whole file or a
- part of it to the destination.</p></div>
- <h3 id="_dht">5.2. DHT</h3><div style="clear:left"></div>
- <div class="para"><p>As of release 0.13.0, aria2 supports DHT. By default, the routing
- table is saved to $HOME/.aria2/dht.dat.</p></div>
- <h3 id="_other_things_should_be_noted">5.3. Other things should be noted</h3><div style="clear:left"></div>
- <div class="ilist"><ul>
- <li>
- <p>
- -o option is used to change the filename of .torrent file itself,
- not a filename of a file in .torrent file.
- </p>
- </li>
- <li>
- <p>
- The port numbers that aria2 uses by default are 6881-6999 for TCP
- and UDP.
- </p>
- </li>
- <li>
- <p>
- aria2 doesn't configure port-forwarding automatically. Please
- configure your router or firewall manually.
- </p>
- </li>
- <li>
- <p>
- The maximum number of peers is 55. This limit may be exceeded when
- download rate is low. This download rate can be adjusted using
- —bt-request-peer-speed-limit option.
- </p>
- </li>
- <li>
- <p>
- As of release 0.10.0, aria2 stops sending request message after
- selective download completes.
- </p>
- </li>
- </ul></div>
- </div>
- <h2 id="_metalink">6. Metalink</h2>
- <div class="sectionbody">
- <div class="para"><p>The current implementation supports HTTP(S)/FTP/BitTorrent. The other
- P2P protocols are ignored.</p></div>
- <div class="para"><p>For checksum checking, MD5, SHA1, SHA256 are supported. If multiple
- hash algorithms are provided, aria2 uses SHA1. If checksum checking is
- failed, aria2 doesn't retry the download and just exits with non-zero
- return code.</p></div>
- <div class="para"><p>The supported user preferences are version, language, location,
- protocol and os.</p></div>
- <div class="para"><p>If chunk checksums are provided in Metalink file, aria2 automatically
- validates chunks of data during download. This behavior can be turned
- off by a command-line option.</p></div>
- <div class="para"><p>If signature is included in a Metalink file, aria2 saves it as a file
- after the completion of the download. The filename is download
- filename + ".sig". If same file already exists, the signature file is
- not saved.</p></div>
- </div>
- <h2 id="_netrc">7. netrc</h2>
- <div class="sectionbody">
- <div class="para"><p>netrc support is enabled by default for HTTP(S)/FTP. To disable netrc
- support, specify -n command-line option. Your .netrc file should have
- correct permissions(600).</p></div>
- </div>
- <h2 id="_server_performance_profile">8. SERVER PERFORMANCE PROFILE</h2>
- <div class="sectionbody">
- <div class="para"><p>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:</p></div>
- <div class="vlist"><dl>
- <dt>
- host
- </dt>
- <dd>
- <p>
- Hostname of the server. Required.
- </p>
- </dd>
- <dt>
- protocol
- </dt>
- <dd>
- <p>
- Protocol for this profile, such as ftp, http. Required.
- </p>
- </dd>
- <dt>
- dl_speed
- </dt>
- <dd>
- <p>
- The average download speed observed in the previous download in
- bytes per sec. Required.
- </p>
- </dd>
- <dt>
- last_updated
- </dt>
- <dd>
- <p>
- Last contact time in GMT with this server, specified in the seconds
- from the Epoch. Required.
- </p>
- </dd>
- <dt>
- status
- </dt>
- <dd>
- <p>
- ERROR is set when server cannot be reached or out-of-service or
- timeout occurred. Otherwise, OK is set.
- </p>
- </dd>
- </dl></div>
- <div class="para"><p>Those fields must exist in one line. The order of the fields is not
- significant. You can put pairs other than above but they are simply
- ignored.</p></div>
- <div class="para"><p>An example is follow:</p></div>
- <div class="listingblock">
- <div class="content">
- <pre><tt>host=localhost, protocol=http, dl_speed=32000, last_updated=1222491640, status=OK
- host=localhost, protocol=ftp, dl_speed=0, last_updated=1222491632, status=ERROR</tt></pre>
- </div></div>
- </div>
- <h2 id="_configuration_file">9. Configuration file</h2>
- <div class="sectionbody">
- <div class="para"><p>Configuration file must be placed under $HOME/.aria2 and must be named
- as aria2.conf. In each line, there is 1 parameter whose syntax is
- name=value pair, where name is the long command-line option name
- without <em>—</em> prefix. The lines beginning <em>#</em> are treated as comments.</p></div>
- <div class="para"><p>Example:</p></div>
- <div class="listingblock">
- <div class="content">
- <pre><tt># sample configuration file for aria2c
- listen-port=60000
- seed-ratio=1.0
- max-upload-limit=40K</tt></pre>
- </div></div>
- </div>
- <div id="footer">
- <div id="footer-text">
- Last updated 2008-12-02 01:48:13 JST
- </div>
- </div>
- </body>
- </html>
|