aria2/README

61 lines
1.9 KiB
Plaintext
Raw Normal View History

2006-02-21 23:01:05 +08:00
aria2 - a simple utility for downloading files.
2006-02-17 21:35:04 +08:00
1. Disclaimer
-------------
This program comes with no warranty.
You must use this program at your own risk.
2. About aria2
--------------
2006-02-21 22:00:58 +08:00
aria2 has segmented downloading engine in its core. By segmented downloading,
2006-02-17 21:35:04 +08:00
it can download files very much faster than ordinary browsers.
aria2 is in very early development stage. Currently it has following features:
2006-02-21 23:01:05 +08:00
* HTTP/HTTPS GET support
2006-02-17 21:35:04 +08:00
* HTTP Proxy support
* HTTP BASIC authentication support
* HTTP Proxy authentication support
2006-02-21 23:01:05 +08:00
* FTP support(active, passive mode)
* FTP through HTTP proxy(GET command or tunneling)
2006-02-17 21:35:04 +08:00
* Segmented download
* Cookie support(currently aria2 ignores "expires")
* It can run as a daemon process.
2006-03-21 23:21:11 +08:00
* BitTorrent protocol support
2006-02-17 21:35:04 +08:00
3. How to build
---------------
$ ./configure
$ make
The executable is aria2c in src directory.
4. SSL
------
2006-03-21 23:21:11 +08:00
You need OpenSSL library(0.9.7b or higher) to enable HTTPS and BitTorrent
support.
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.
* Request.h: Added AFTER_COMPLETED event. * TorrentDownloadEngine.cc: Prints "Download complete" message instead of downloaded size and progress(%) after download completes. * PeerInteractionCommand.cc: After download completes, sends unchoke message to the peer if it is interested in what localhost has downloaded. * TorrentMan.cc: In single-file mode, copy temporary file to the final destination instead of just renaming it. * TorrentMan.cc: Added deleteTempFile(). * PeerAbstractCommand.cc: do not stop execution after download completes. This makes localhost a seeder. * Util.{h,cc}: Added fileCopy(). * PeerListenCommand.cc: do not stop execution after download completes. This makes localhost a seeder. * main.cc: Do not call TorrentMan::fixFilename() in torrentHandler. Added TorrentMan::deleteTempFile() to torrentHandler. Initialized the variable dir as ".". * TorrentMan.h: Changed DEFAULT_ANNOUNCE_INTERVAL to 120 seconds. Deleted renameSingleFile(). Added copySingleFile(), deleteTempFile(). * DownloadEngine.h: Added virtual function afterEachIteration(). * TorrentDownloadEngine.cc: Move a call to TorrentMan::fixFilename() in onEndOfRun() to afterEachIteration(). In onEndOfRun(), changed if condition to check whether filenameFixed is true. * Util.cc: Implemented fileCopy() using rangedFileCopy(). In rangedFileCopy(), added try-catch block to properly close file descriptors. * TorrentDownloadEngine.cc: Added a member variable filenameFixed. Added afterEachIteration(), isFilenameFixed(). * Peer.cc: Changed choking strategy. * PreAllocationDiskWriter.cc: Drop O_DIRECT flag. * TrackerInitCommand.cc: Send completed event only once. * DownloadEngine.cc: Added a call to afterEachIteration(). * TrackerUpdateCommand.cc: Do not stop execution after download completes. * TorrentMan.h: Defined MAX_PEER_UPDATE as 15. aria2 attempts to connect the peers at most MAX_PEER_UPDATE when a peer list is received from a tracker. * TrackerUpdateCommand.cc: Implemented above mentioned behavior. Decreased the number of failure peers to delete to 0(just comment out the line). * Release 0.3.1
2006-03-24 19:59:18 +08:00
In both mode, aria2 needs at least 2 times more disk space than the file size
itself because it creates complete temporary file.
2006-03-22 00:07:22 +08:00
Note:
* -o option is used to change the filename of downloaded .torrent file.
* This version only supports compact peers list format.
* The ports aria2c uses are 6881-6999.
* The maxmum number of peers are 55.