123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- aria2 - The ultra fast download utility
- 1. Disclaimer
- -------------
- This program comes with no warranty.
- You must use this program at your own risk.
- 2. About aria2
- --------------
- aria2 has segmented downloading engine in its core. By segmented downloading,
- it can download files very much faster than ordinary browsers.
- aria2 is in very early development stage. Currently it has following features:
- * HTTP/HTTPS GET support
- * HTTP Proxy support
- * HTTP BASIC authentication support
- * HTTP Proxy authentication support
- * FTP support(active, passive mode)
- * FTP through HTTP proxy(GET command or tunneling)
- * Segmented download
- * Cookie support
- * It can load cookies from file whose format is used by Netscape and Mozilla.
- * It can run as a daemon process.
- * BitTorrent protocol support with fast extension.
- * Selective download in multi-file torrent/metalink.
- * Metalink version 3.0 support(HTTP/FTP/BitTorrent).
- * Limits download/upload speed.
- * Chunk checksum validation in Metalink.
- * netrc support.
- * Configuration file support.
- * Downloads URIs found in a text file or stdin.
- * Integrates HTTP/FTP/BitTorrent downloads; downloading a file from several
- different sources.
- 3. Dependency
- -------------
- In order to enable HTTPS support, you need GNU TLS or OpenSSL.
- In order to enable BitTorrent support, you need GNU TLS+libgcrypt or OpenSSL.
- In order to enable Metalink support, you need libxml2 or Expat. Optionally
- GNU TLS+libgcrypt or OpenSSL are required for checksum checking support(MD5,
- SHA1, SHA256).
- Note;;
- GNU TLS has precedence over OpenSSL if both libraries are installed.
- If you prefer OpenSSL, run configure with "--without-gnutls".
- Note;;
- libxml2 has precedence over Expat if both libraries are installed.
- If you prefer Expat, run configure with "--without-libxml2".
- You can disable BitTorrent, Metalink support by providing --disable-bittorrent,
- --disable-metalink respectively to configure script.
- In order to enable async DNS support, you need c-ares or ares.
- c-ares: http://daniel.haxx.se/projects/c-ares/
- ares: ftp://athena-dist.mit.edu/pub/ATHENA/ares
- 4. How to build
- ---------------
- In order to build aria2 from the source package, you need following development
- packages(package name may vary depending on the distribution you use):
- * libgnutls-dev (Required for HTTPS, BitTorrent support)
- * libgpg-error-dev (Required for BitTorrent support)
- * libgcrypt-dev (Required for BitTorrent support)
- * libares-dev (Required for async DNS support)
- * libxml2-dev (Required for Metalink support)
- You can use libssl-dev instead of libgnutls-dev,libgpg-error-dev,libgcrypt-dev:
- * libssl-dev (Required for HTTPS, BitTorrent support)
- You can use libexpat1-dev instead of libxml2-dev:
- * libexpat1-dev (Required for Metalink support)
- The build process is fairly standard way for *nix programs:
- $ ./configure
- $ make
- The executable is aria2c in src directory.
- 5. BitTorrrent
- --------------
- The filename of the downloaded file is determined as follows:
- single-file mode:
- 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.
- multi-file mode:
- 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.
- In the default behavior, before download starts, complete directory structure
- is created if needed. Then aria2 opens all files mentioned in .torrent file,
- directly writes to and reads from these files.
- NOTE: Even in selective download, all files are opened.
- 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 is 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.
- Note:
- * -o option is used to change the filename of downloaded .torrent file.
- * The ports aria2c uses are 6881-6999.
- * The maximum number of peers is 55. This limit may be exceeded when download
- rate is low.
- * As of release 0.10.0, aria2 stops sending request message after selective
- download completes,
- 6. Metalink
- -----------
- The current implementation supports HTTP/FTP/BitTorrent.
- The other P2P protocols are ignored.
- 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.
- The supported user preferences are version, language, location, protocol and
- os.
- If chunk checksums are provided in Metalink file, aria2 automatically validate
- a chunk of file while downloading it. This behavior can be turned off by
- a command-line option.
- 7. netrc
- --------
- netrc support is enabled by default in ftp.
- To disable netrc support, specify -n command-line option.
- Your .netrc file should have correct permissions(600).
- 8. Configuration file
- ---------------------
- Configuration file must be placed under ~/.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 '--' prefix.
- The lines beginning '#' are treated as comments.
- Example:
- # sample configuration file for aria2c
- file-allocation=prealloc
- listen-port=60000
- seed-ratio=1.0
- max-upload-limit=40K
- ftp-pasv=true
|