红联Linux门户
Linux帮助
当前位置: 红联Linux门户 > SuSE

发现变态下载工具----aria2,比迅雷强10倍

发布时间:2008-06-19 20:19:24来源:红联作者:yourfriend
首先他的描述:
引用:
DESCRIPTION
aria2 is a utility for downloading files. The supported protocols are http(s)/ftp/BitTorrent/Metalink. aria2
has powerful segmented downloading ability, downloading a file from multiple sources and multiple protocols,
utilizing your download bandwidth to the max. It even supports downloading a file from http(s)/ftp and
BitTorrent at the same time, while the data downloaded form http(s)/ftp is uploaded to BitTorrent swarm.

aria2 also provides most reliable http(s)/ftp downloading experience ever. Using Metalink´s chunk checksums,
aria2 automatically validates chunk of data while downloading a file like BitTorrent.


蹩脚英语翻译:
aira2是一款下载工具,它支持http(s)/ftp/BitTorrent/Metalink五种协议,aira2有强大的分块下载能力,它可以通过多个来源和多种协议下载同一个文件,让你的带宽爆满。aria2甚至可以同一时间使用http(s)/ftp/BitTorrent四种协议下载同一个文件(变态),此时他会把http(s)/ftp下载部分使用bt上传。
当然,aria2仍然为你提供了前所未有的强大的常规http(s)/ftp下载性能,它提供了metalink协议的验证纠错功能。
aria2还自动验证通过BT协议下载的数据的正确性。


还有亮点:
*支持cookie,有些地址需要cookie才能下载,例如linuxsir的附件你单把地址复制到命令行用mytget下载是不行的。aria2能功过参数制定cookie文件,而且能自动载入firefox的cookie
*支持断电续传,之所以强,是他支持除了aria2自身产生的断点续传文件外,还支持浏览器的和wget产生的断点文件
*http代理,以及通过http代理的ftp代理?
*支持多线程,但默认为1,需要参数'-s'设定线程数,但用BT/metalink协议自动多线程。

其他限速之类的常规功能当然有咯。

配置文件 aria2.conf
在~/.aria2

http://en.wikipedia.org/wiki/Metalink[code]ARIA2C(1) ARIA2C(1)



NAME
aria2c - The ultra fast download utility

SYNOPSIS
aria2c [OPTIONS] URL ...

aria2c [OPTIONS] -T TORRENT_FILE [URL ...]

aria2c [OPTIONS] -M METALINK_FILE


DESCRIPTION
aria2 is a utility for downloading files. The supported protocols are
http(s)/ftp/BitTorrent/Metalink. aria2 has powerful segmented
downloading ability, downloading a file from multiple sources and
multiple protocols, utilizing your download bandwidth to the max. It
even supports downloading a file from http(s)/ftp and BitTorrent at the
same time, while the data downloaded form http(s)/ftp is uploaded to
BitTorrent swarm.

aria2 also provides most reliable http(s)/ftp downloading experience
ever. Using Metalink´s chunk checksums, aria2 automatically validates
chunk of data while downloading a file like BitTorrent.


OPTIONS
-d, --dir=DIR
The directory to store the downloaded file.

-o, --out=FILE
The file name of the downloaded file.

Note
In Metalink, BitTorrent download you cannot specify file name.
The file name specified here is only used when the URLs fed to
aria2 is done by command line without -i option, like this:
aria2c -o myfile.zip http://mirror1/file.zip
http://mirror2/file.zip

-l, --log=LOG
The file name of the log file. If - is specified, log is written to
stdout.

-D, --daemon
Run as daemon.

-s, --split=N
Download a file using N connections. N must be between 1 and 5.
This option affects all URLs. Thus, aria2 connects to each URL with
N connections. Default: 1

--retry-wait=SEC
Set the seconds to wait to retry after an error has occured.
Specify a value between 0 and 60. Default: 5

-t, --timeout=SEC
Set timeout in seconds. Default: 60

-m, --max-tries=N
Set number of tries. 0 means unlimited. Default: 5

--http-proxy=HOST:PORT
Use HTTP proxy server. This affects all URLs.

--http-user=USER
Set HTTP user. This affects all URLs.

--http-passwd=PASSWD
Set HTTP password. This affects all URLs.

--http-proxy-user=USER
Set HTTP proxy user. This affects all URLs.

--http-proxy-passwd=PASSWD
Set HTTP proxy password. This affects all URLs.

--http-proxy-method=METHOD
Set the method to use in proxy request. METHOD is either get or
tunnel. Default: tunnel

--http-auth-scheme=SCHEME
Set HTTP authentication scheme. Currently, basic is the only
supported scheme. Default: basic

--referer=REFERER
Set Referer. This affects all URLs.

--ftp-user=USER
Set FTP user. This affects all URLs. Default: anonymous

--ftp-passwd=PASSWD
Set FTP password. This affects all URLs. Default: ARIA2USER@

--ftp-type=TYPE
Set FTP transfer type. TYPE is either binary or ascii. Default:
binary

-p, --ftp-pasv
Use passive mode in FTP.

--ftp-via-http-proxy=METHOD
Use HTTP proxy in FTP. METHOD is either get or tunnel. Default:
tunnel

--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-download-limit=SPEED
Set max download speed in bytes per sec. 0 means unrestricted. You
can append K or M(1K = 1024, 1M = 1024K). Default: 0

--file-allocation=METHOD
Specify file allocation method. METHOD is either none or prealloc.
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. Default: prealloc

Note
In multi file torrent, the files adjacent forward to the
specified files are also allocated if they share a same piece.

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

--enable-direct-io[=true|false]
Enable directI/O, which lowers cpu usage while allocating/checking
files. Turn off if you encounter any error. Default: false

--allow-overwrite=true|false
If false is given, aria2 doesn´t download a file which already
exists but the corresponding .aria2 file doesn´t exist. In
http(s)/ftp download, if --auto-file-renaming=true then, file name
will be renamed. See --auto-file-renaming for details. 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

-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

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

-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

--enable-http-keep-alive[=true|false]
Enable HTTP/1.1 persistent connection. Default: false

--enable-http-pipelining[=true|false]
Enable HTTP/1.1 pipelining. Default: false

--check-integrity=true|false
Check file integrity by validating piece hash. This option only
affects in BitTorrent downloads and Metalink downloads with chunk
checksums. Use this option to re-download a damaged portion of a
file. Default: false

--realtime-chunk-checksum=true|false
Validate chunk of data by calculating checkusm while download a
file if chunk checksums are provided. Currently Metalink is the
only way to to provide chunk checksums. Default: true

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

-U, --user-agent=USER_AGENT
Set user agent for http(s) downloads.

-n, --no-netrc
Disables netrc support. netrc support is enabled by default.

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

-j, --max-concurrent-downloads=N
Set maximum number of concurrent downloads. It should be used with
the -i option. Default: 5

--load-cookies=FILE
Load cookies from FILE. The format of FILE is the same used by
Netscape and Mozilla.

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

--select-file=INDEX...
Set file to download by specifing 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.

-T, --torrent-file=TORRENT_FILE
The path to the .torrent file.

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

--direct-file-mapping=true|false
Directly read from and write to each file mentioned in .torrent
file. Use this option if lots of files are listed in .torrent file
and aria2 complains it cannot open files anymore. Default: true

--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-upload-limit=SPEED
Set max upload speed in bytes per sec. 0 means unrestricted. You
can append K or M(1K = 1024, 1M = 1024K). Default: 0

--seed-time=MINUTES
Specify seeding time in minutes. Also see the --seed-ratio option.

--seed-ratio=RATIO
Specify share ratio. Seed completed torrents until share ratio
reaches] RATIO. I strongly encourages you 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

--peer-id-prefix=PEERI_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, the random alphabet
characters are added to make it´s length 20 bytes. Default: -aria2-

-M, --metalink-file=METALINK_FILE
The file path to .metalink file.

-C, --metalink-servers=NUM_SERVERS
The number of servers to connect to simultaneously. Some metalinks
regulates the number of servers to connect. aria2 respects them.
Default: 5

--metalink-version=VERSION
The version of the file to download.

--metalink-language=LANGUAGE
The language of the file to download.

--metalink-os=OS
The operating system of the file to download.

--metalink-location=LOCATION[,...]
The location of the preferred server. A comma-deliminated list of
locations is acceptable, for example, JP,US.

--follow-metalink=true|false|mem
If true or mem is specified, when a file whose suffix is .metaink
or content type is 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

-v, --version
Print the version number, copyright and the configuration
information and exit.

-h, --help
Print this message and exit.

URL
You can specify multiple URLs. Unless you specify -Z option, all
URLs must point to the same file or downloading will fail. You can
specify both torrent file with -T option and URLs. By doing this,
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. Note that only single file torrent can be integrated
with http(s)/ftp.

Note
Make sure that URL is quoted with single(´) or double(")
quotation if it contains "&" or any characters that have
special meaning in shell.

EXAMPLES
HTTP/FTP Segmented Download
Download a file using 1 connection
aria2c http://host/file.zip

Note
To pause a download, press Ctrl-C. You can resume the transfer
by run aria2c with the same argument at the same directory. You
can change URLs as long as they are pointing to the same file.


Download a file using 2 connections
aria2c -s 2 http://host/file.zip

Download a file from 2 difference http servers
aria2c http://host1/file.zip ftp://host2/file.zip

Download a file from http and ftp servers
aria2c http://host1/file.zip ftp://host2/file.zip

Download files listed in a file concurrently
aria2c -i files.txt -j 5

Note
-j option specifies the number of concurrent downloads.


Metalink Download
Download files with remote Metalink
aria2c --follow-metalink=mem http://host/file.metalink

Download using a local metalink file
aria2c -p -t 10 --lowest-speed-limit 4000 -M test.metalink

Note
To pause a download, press Ctrl-C. You can resume the transfer
by run aria2c with the same argument at the same directory.


Download only selected files using index
aria2c -M test.metalink --select-file 1-4,8

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


Download a file using a local .metalink file with user preference
aria2c -M test.metalink --metalink-location=JP,US --metalink-version=1.1 --metalink-language=en-US

BitTorrent Download
Download files from remote BitTorrent file
aria2c --follow-bittorrent=mem http://host/file.torrent

Download using a local torrent file
aria2c --max-upload-limit 40K -T 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 run aria2c with the same argument at the same directory.


Download a file using torrent and http/ftp server
aria2c -T test.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 -T test.torrent --select-file 1-4,8

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


Change the listening port for incoming peer
aria2c -T test.torrent --listen-port 7000-7001,8000

Specify the condition to stop program after torrent download finished
aria2c -T test.torrent --seed-time 120 --seed-ratio 1.0

Note
In the above example, the program exists when the 120 minutes
has elapsed since download completed or seed ratio reaches 1.0.


Throttle upload speed
aria2c -T test.torrent --max-upload-limit 100K

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 -s 2 http://host/partiallydownloadedfile.zip

And more advanced features
Throttle download speed
aria2c -M test.metalink --max-download-limit 100K

Repair a damaged download using --check-integrity option
aria2c -M test.metalink --check-integrity=true

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 -M test.metalink --lowest-speed-limit 10K

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

RESUME 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 sequencial
download manager, then use -c option to continue the transfer(aria2c -c
URL).


CONTROL FILE
aria2 uses a control file to keep track the progress of download. A
control file is placed at the same directory of the dowloading 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
--check-integrity=true option to aria2c in command-line.


SEEDING DOWNLOADED FILE IN BITTORRENT
You can seed downloaded file using --check-integrity=true option.


aria2c --check-integrity=true -T file.torrent

FILES
aria2.conf
User configuration file. It 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.


# sample configuration file for aria2c
file-allocation=prealloc
listen-port=60000
seed-ratio=1.0
max-upload-limit=100K
ftp-pasv=true

RESOURCES
Project web site: http://aria2.sourceforge.net/

metalink: http://www.metalinker.org/


REPORTING BUGS
Report bugs to Tatsuhiro Tsujikawa


AUTHOR
Tatsuhiro Tsujikawa


COPYRIGHT
Copyright © 2006, 2007 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.




12/08/2007 ARIA2C(1)[/code]
文章评论

共有 9 条评论

  1. cxbii 于 2012-04-08 15:35:18发表:

    不能解决死链.立马没速度

  2. dweber 于 2009-05-06 12:31:26发表:

    还没有下载工具。。。谢了。。

  3. 吟枫 于 2009-03-25 17:05:27发表:

    如果就那么多源,它怎么生出更高的速度呢....

  4. apple_love 于 2009-03-22 23:14:17发表:

    太夸张了!速度应该比迅雷差点吧,我的就是!

  5. coolzgx 于 2008-06-25 11:58:49发表:

    那怎么就看得出比迅雷强十倍,是不是按你这样说呢,本来128的上限用了这个就可以达到10倍以上呢,呵

  6. yourfriend 于 2008-06-21 16:21:10发表:

    对不起,说错了,opensuse的aria2自带gui,只要添加这个源
    http://download.opensuse.org/repositories/network:/utilities/openSUSE_11.0/

    然后安装 aria2 和 aria2fe

    [ 本帖最后由 yourfriend 于 2008-6-21 16:28 编辑 ]

  7. yourfriend 于 2008-06-19 21:28:51发表:

    字符界面。

  8. thungoder 于 2008-06-19 21:14:06发表:

    很不错 是字符的?还是有图形界面

  9. yourfriend 于 2008-06-19 20:31:32发表:

    若要用它下载openSUSE 11.0 可以这样,到这里
    http://download.opensuse.org/distribution/11.0/iso/dvd/
    下载你要得metalink。
    因为metalink文件会根据你所处网络生成一个适合你的metalink 。所以人人下载,人人不同的。
    aria2c -M metalink文件
    vim或cat等查看一下你所下载的metalink文件,你会发觉locaton="xx"的字样,xx就是地区,你可以选择你觉得快的地方

    举例,我要x86_64的DVD:[code]mkdir openSUSE11 && cd openSUSE11
    wget http://download.opensuse.org/distribution/11.0/iso/dvd/openSUSE-11.0-DVD-x86_64.iso.metalink
    cat openSUSE-11.0-DVD-x86_64.iso.metalink
    aria2c --metalink-location=kr -M openSUSE-11.0-DVD-x86_64.iso.metalink[/code]一口气命令打完:
    i386:[code]aria2c --metalink-location=kr -M http://download.opensuse.org/distribution/11.0/iso/dvd/openSUSE-11.0-DVD-i386.iso.metalink[/code]x86_64:[code]aria2c --metalink-location=kr -M http://download.opensuse.org/distribution/11.0/iso/dvd/openSUSE-11.0-DVD-x86_64.iso.metalink[/code]