Commit Graph

103 Commits (30ba476e9d73591111637ee04c140c97d59e9e04)

Author SHA1 Message Date
Tatsuhiro Tsujikawa fe2bb7e233 2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed --retry-wait option since the current architecture doesn't
	allow sleep for particular URI.
	* src/AbstractCommand.cc
	* src/OptionHandlerFactory.cc
	* src/download_helper.cc
	* src/prefs.cc
	* src/prefs.h
2009-09-20 09:03:57 +00:00
Tatsuhiro Tsujikawa d182b380c2 2009-08-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --xml-rpc-listen-all option. If true is given to this
	option, aria2 listens incoming XML-RPC requests on all network
	interfaces. If false is given, listens only on local loopback
	interface. The default value is false.
	* src/HttpListenCommand.cc
	* src/OptionHandlerFactory.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2009-08-30 12:25:04 +00:00
Tatsuhiro Tsujikawa b2f0577225 2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-stop-timeout=SEC option. This function stops BitTorrent
	download if the download speed is 0 and the number of seeder is 0
	in consecutive SEC seconds. By default, this function is disabled.
	* src/BtSetup.cc
	* src/Makefile.am
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2009-07-05 03:11:51 +00:00
Tatsuhiro Tsujikawa e45a0e7e5f 2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed calls to Request::resetUrl() in AbstractCommand.cc.
	Removed hidden option PREF_RESET_URI.
	* src/AbstractCommand.cc
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
2009-07-03 15:38:29 +00:00
Tatsuhiro Tsujikawa 544732b124 2009-05-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --xml-rpc-max-request-size option to limit the size of
	XML-RPC request.
2009-05-26 14:38:11 +00:00
Tatsuhiro Tsujikawa 383b12d7f1 2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --save-cookies option.
	* src/Cookie.cc
	* src/Cookie.h
	* src/CookieStorage.cc
	* src/CookieStorage.h
	* src/MultiUrlRequestInfo.cc
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/CookieStorageTest.cc
	* test/CookieTest.cc
2009-05-22 14:51:57 +00:00
Tatsuhiro Tsujikawa 48a7e5868f 2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added the ability to execute command when download starts and
	stops. You can also specify command for particular cases such as
	complete/error download.  Added --on-download-start,
	--on-download-stop, --on-download-complete and --on-download-error
	option.
	* src/OptionHandlerFactory.cc
	* src/RequestGroupMan.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2009-05-22 13:43:07 +00:00
Tatsuhiro Tsujikawa 7aefbb7338 2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added BASIC authentication for XML-RPC. Added --xml-rpc-user and
	--xml-rpc-passwd option.
	* src/HttpServer.cc
	* src/HttpServer.h
	* src/HttpServerCommand.cc
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2009-05-09 15:38:23 +00:00
Tatsuhiro Tsujikawa 9f0a602ce3 2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed --enable-http-server and --http-server-listen-port
	options.  Added --enable-xml-rpc and --xml-rpc-listen-port
	instead.  The original feature for --enable-http-server that
	reports download progress in HTML was officially removed.  Persist
	XML-RPC connection if client supports keep-alive.	
	* src/DownloadEngineFactory.cc
	* src/HttpServerCommand.cc
	* src/HttpServerResponseCommand.cc
	* src/Makefile.am
	* src/Makefile.in
	* src/OptionHandlerFactory.cc
	* src/RequestGroupMan.cc
	* src/main.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2009-05-09 14:01:35 +00:00
Tatsuhiro Tsujikawa 29c5ef9215 2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added 'falloc' parameter for --file-allocation option.  'falloc'
	allocation mode uses posix_fallocate() system call to allocate
	file on disk.  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() system
	call.
	* configure.ac
	* src/AbstractDiskWriter.cc
	* src/AbstractDiskWriter.h
	* src/AbstractSingleDiskAdaptor.cc
	* src/BinaryStream.h
	* src/BtCheckIntegrityEntry.cc
	* src/ByteArrayDiskWriter.h
	* src/CheckIntegrityEntry.cc
	* src/CheckIntegrityEntry.h
	* src/DefaultPieceStorage.cc
	* src/DiskAdaptor.cc
	* src/DiskAdaptor.h
	* src/DiskWriter.h
	* src/FallocFileAllocationIterator.cc
	* src/FallocFileAllocationIterator.h
	* src/FileAllocationEntry.cc
	* src/FileAllocationEntry.h
	* src/Makefile.am
	* src/MultiFileAllocationIterator.cc
	* src/MultiFileAllocationIterator.h
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/StreamCheckIntegrityEntry.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/FallocFileAllocationIteratorTest.cc
	* test/Makefile.am
2009-03-25 05:43:07 +00:00
Tatsuhiro Tsujikawa 2170a850a8 2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added an option to specify the interval between tracker
	requests.
	If non-zero value is specified, aria2 uses it and ignores the
	interval value in the response of tracker. If zero is specified,
	aria2 determines the inteval value based on the tarcker response
	and download progress.
	* src/DefaultBtAnnounce.cc
	* src/DefaultBtAnnounce.h
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2009-03-20 13:44:03 +00:00
Tatsuhiro Tsujikawa d8678a8dd0 2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reuse URIs when all unused URIs run out.
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/prefs.cc
	* src/prefs.h
2009-03-13 12:27:40 +00:00
Tatsuhiro Tsujikawa 176c9d2002 2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed --direct-file-mapping option and CopyDiskAdaptor.
	* src/CopyDiskAdaptor.cc: Removed
	* src/CopyDiskAdaptor.h: Removed
	* src/DefaultPieceStorage.cc
	* src/Makefile.am
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/CopyDiskAdaptorTest.cc: Removed
	* test/Makefile.am
2009-03-10 13:08:07 +00:00
Tatsuhiro Tsujikawa 6187d6e506 2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --dry-run option.  In this mode, aria2 just checks whether
	the remote file is available and doesn't download data. This
	option has effect on HTTP/FTP downloads and BitTorrent downloads
	are canceled in this mode.
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/HttpResponseCommand.h
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/RequestGroupMan.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2009-03-08 10:20:42 +00:00
Tatsuhiro Tsujikawa c2447e3094 2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't reset URI in retry to avoid additional round trips because
	of redirects.	
	* src/AbstractCommand.cc
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
2009-03-08 08:22:00 +00:00
Tatsuhiro Tsujikawa f44554a634 2009-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --index-out option to specify each file path for torrent.
	Here index shown in --show-files option is used to specify which
	file path should be altered. For example, to change the file
	path with index=2, use --index-out=2=aria2.tar.bz2. You can use
	this option multiple times: --index-out=1=aria2.tar.bz2
	--index-out=2=aria2-opt.tar.bz2. The short hand form -O is also
	available. This option can be specified in -i list.	
	* src/DefaultBtContext.cc
	* src/DefaultBtContext.h
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
	* src/MultiFileAllocationIterator.cc
	* src/OptionHandlerFactory.cc
	* src/OptionHandlerImpl.h
	* src/Util.cc
	* src/Util.h
	* src/download_helper.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/DefaultBtContextTest.cc
	* test/MultiDiskAdaptorTest.cc
	* test/MultiFileAllocationIteratorTest.cc
	* test/UtilTest.cc
2009-03-07 03:10:53 +00:00
Tatsuhiro Tsujikawa 0b29a6e2cf 2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --max-overall-download-limit option.  Now
	--max-upload-limit option is not ignored when
	--max-overall-upload-limit option has non-zero value. aria2
	checks download(upload) speed in the order:
	first checks overall speed limit and if it is not exceeded, then
	checks speed limit per download.  Thus you can specify both
	value. For example, set --max-overall-download-limit=1M and
	--max-download-limit=500K to prevent from one download from
	eating all overall speed limit.
	* src/DefaultBtInteractive.cc
	* src/DefaultBtInteractive.h
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultBtMessageDispatcher.h
	* src/DownloadCommand.cc
	* src/DownloadCommand.h
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/OptionHandlerFactory.cc
	* src/PeerInteractionCommand.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/DefaultBtMessageDispatcherTest.cc
2009-02-28 11:48:26 +00:00
Tatsuhiro Tsujikawa 120e2de096 2009-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --http-auth-challenge option.  If it is set to true(by
	default), aria2 sends HTTP authorization header only when it is
	requested by the server. If false is set, then authorization
	header is always sent to the server. This is useful for servers
	that don't respond 401 code when authentication is required.
	There is an exception: if username and password are embedded in
	URI, authorization header is always sent to the server
	regardless of this option.
	* src/AuthConfigFactory.cc
	* src/HttpSkipResponseCommand.cc
	* src/OptionHandlerFactory.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/AuthConfigFactoryTest.cc
	* test/HttpRequestTest.cc
2009-02-19 12:02:22 +00:00
Tatsuhiro Tsujikawa 0640ea6254 2009-02-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-external-ip option. You can 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.
	* src/DefaultBtAnnounce.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/DefaultBtAnnounceTest.cc
2009-02-04 14:11:30 +00:00
Tatsuhiro Tsujikawa 0742e3921f 2009-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added experimental built-in HTTP server. Currently, when a
	client accesses to the server, it responds with the current
	download progress. By default, it is disabled. To enable the
	server, give --enable-http-server option.  To change the default
	port number for the server to listen to, use
	--http-server-listen-port option.
	The response HTML is very simple and refreshes it self each 1
	second.  Because of this refresh, you see flicker in normal web
	browser such as Firefox.  I recommend to use console-based
	browser such as elinks, w3m.  To connect to the server, run
	'elinks http://localhost:6800/' while running aria2. Please
	replace port number '6800'(which is default) with your
	preference.	
	* src/DownloadEngineFactory.cc
	* src/HttpHeader.cc
	* src/HttpHeader.h
	* src/HttpHeaderProcessor.cc
	* src/HttpHeaderProcessor.h
	* src/HttpListenCommand.cc
	* src/HttpListenCommand.h
	* src/HttpServer.cc
	* src/HttpServer.h
	* src/HttpServerCommand.cc
	* src/HttpServerCommand.h
	* src/HttpServerResponseCommand.cc
	* src/HttpServerResponseCommand.h
	* src/Makefile.am
	* src/OptionHandlerFactory.cc
	* src/Util.cc
	* src/Util.h
	* src/help_tags.h
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/HttpHeaderProcessorTest.cc
	* test/UtilTest.cc
2009-01-25 09:58:40 +00:00
Tatsuhiro Tsujikawa ca2567f2a2 2009-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-max-peers option to specify the maximum number of
	peers per torrent. 0 means unlimited number of peers.
	* src/ActivePeerConnectionCommand.cc
	* src/BtRuntime.h
	* src/DefaultPeerStorage.cc
	* src/DefaultPeerStorage.h
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/DefaultPeerStorageTest.cc
2009-01-18 10:11:08 +00:00
Tatsuhiro Tsujikawa 809a28fbae 2009-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --bt-hash-check-seed option.  If true is given to this
	option, 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. The default value is true(This is the same behavior
	with the previous release).
	* src/BtCheckIntegrityEntry.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2009-01-18 09:04:46 +00:00
Tatsuhiro Tsujikawa 1ab8ade5d1 2009-01-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --event-poll option to select the method for polling
	events.
	The available methods are "select" and "epoll". "epoll" is
	available on Linux only. The earlier release has the compile
	option to choose from these methods.
	* configure.ac
	* src/RequestGroupMan.cc
	* src/OptionHandlerFactory.cc
	* src/EpollEventPoll.h
	* src/StreamFileAllocationEntry.cc
	* src/a2io.h
	* src/SelectEventPoll.h
	* src/option_processing.cc
	* src/prefs.h
	* src/EpollEventPoll.cc
	* src/EventPoll.h
	* src/SocketCore.h
	* src/Makefile.am
	* src/main.cc
	* src/DownloadEngine.h
	* src/SelectEventPoll.cc
	* src/DownloadEngine.cc
	* src/SocketCore.cc
	* src/DownloadEngineFactory.cc
	* src/Makefile.in
	* src/prefs.cc
	* src/usage_text.h
2009-01-15 15:23:16 +00:00
Tatsuhiro Tsujikawa 0a4f43d0ed 2009-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Applied AdaptiveURISelector patch from Aurelien Lefebvre.  This
	patch adds AdaptiveURISelector, which selects one of the bests
	mirrors for first and reserved connections. For supplementary
	ones, it returns mirrors which has not been tested yet, and if
	each of them already tested, returns mirrors which has to be
	tested again. Otherwise, it doesn't return anymore mirrors.
	* src/AdaptiveURISelector.cc
	* src/AdaptiveURISelector.h
	* src/FtpNegotiationCommand.cc
	* src/HttpResponseCommand.cc
	* src/Makefile.am
	* src/Makefile.in
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/ServerStat.cc
	* src/ServerStat.h
	* src/ServerStatMan.cc
	* src/SpeedCalc.cc
	* src/URISelector.h
	* src/prefs.cc
	* src/prefs.h
	* test/RequestGroupManTest.cc
	* test/ServerStatManTest.cc
	* test/ServerStatTest.cc
2009-01-06 13:13:42 +00:00
Tatsuhiro Tsujikawa 5db28b5a03 2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --use-head option to toggle whether HEAD method should be
	used in the first HTTP request. By default aria2 uses HEAD
	method as the first request. When the server doesn't recognize
	HEAD, then give aria2 --use-head=false to force aria2 to use GET
	method instead.
	* src/OptionHandlerFactory.cc
	* src/RequestGroupMan.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-12-29 14:05:39 +00:00
Tatsuhiro Tsujikawa 8c1894720f 2008-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --max-overall-upload-limit option. This option limits the
	overall upload speed.  Stated in help message that the existing
	--max-upload-limit option limits the upload speed per each
	torrent.  Man page is also updated.
	* doc/aria2c.1.txt
	* src/DefaultBtMessageDispatcher.cc
	* src/DefaultBtMessageDispatcher.h
	* src/OptionHandlerFactory.cc
	* src/PeerInteractionCommand.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-12-10 14:14:11 +00:00
Tatsuhiro Tsujikawa 0308785bd8 2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added --no-proxy option. It receives comman separated hostname
	or domains to which proxy should not be used.
	aria2 honors the environment variable no_proxy to override
	no-proxy value in configuration file. The user can override the
	environment variable no_proxy with --no-proxy command-line
	option.
	* src/AbstractCommand.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-11-09 08:23:11 +00:00
Tatsuhiro Tsujikawa ce4186b4c3 2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added the ability to verify peer in SSL/TLS using given CA
	certificates.
	The CA certificates are specified in --ca-certificate option.
	By default, the verification is disabled. Use --check-certificate
	option to enable it.
	* src/HttpRequestCommand.cc
	* src/LibgnutlsTLSContext.cc
	* src/LibgnutlsTLSContext.h
	* src/LibsslTLSContext.cc
	* src/LibsslTLSContext.h
	* src/MultiUrlRequestInfo.cc
	* src/OptionHandlerFactory.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/a2functional.h
	* src/message.h
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-11-09 07:36:44 +00:00
Tatsuhiro Tsujikawa 79d463fae2 2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added client certificate authentication for SSL/TLS.
	Currently a private key must be decrypted for use with aria2.
	If a user accidentally gives encrypted file to aria2 then
	following thing happens:
	If encrypted private key is given to aria2, it behaves
	differently depending on the ssl library it uses. If aria2 built
	with openssl then openssl prompts the user for password.
	If aria2 build with gnutls then	aria2 exists with error at start up.
	* src/DownloadEngineFactory.cc
	* src/MultiUrlRequestInfo.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-11-08 13:21:32 +00:00
Tatsuhiro Tsujikawa bd2ead4763 2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Renamed --http-proxy-method as --proxy-method.
	* src/AbstractCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-11-04 14:20:12 +00:00
Tatsuhiro Tsujikawa c7fb678e6e 2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Deprecated --http-proxy-user and --http-proxy-passwd options.
	Added --https-proxy, --ftp-proxy and --all-proxy options.
	Above 3 options and --http-proxy option can handle proxy in URL
	format like: http://user:passwd@host:port.
	If a proxy requires user/password, they must be specified in a
	URL.
	Deprecated --ftp-via-http-proxy option. Use --http-proxy-method
	option instead.
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/AbstractProxyRequestCommand.cc
	* src/AbstractProxyRequestCommand.h
	* src/AuthConfigFactory.cc
	* src/AuthConfigFactory.h
	* src/FtpFinishDownloadCommand.cc
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpInitiateConnectionCommand.h
	* src/FtpNegotiationCommand.cc
	* src/FtpTunnelRequestCommand.cc
	* src/FtpTunnelRequestCommand.h
	* src/HttpDownloadCommand.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpInitiateConnectionCommand.h
	* src/HttpProxyRequestCommand.cc
	* src/HttpProxyRequestCommand.h
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/HttpRequestCommand.cc
	* src/HttpRequestCommand.h
	* src/HttpSkipResponseCommand.cc
	* src/InitiateConnectionCommand.cc
	* src/InitiateConnectionCommand.h
	* src/OptionHandlerFactory.cc
	* src/OptionHandlerImpl.h
	* src/Request.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/AuthConfigFactoryTest.cc
	* test/HttpRequestTest.cc
	* test/OptionHandlerTest.cc
2008-11-04 14:08:26 +00:00
Tatsuhiro Tsujikawa 92d702fa53 2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use netrc for HTTP.
	Now FTP user/password is sent in Authorization header when
	--ftp-via-http-proxy=get is given.
	* src/AuthConfigFactory.cc
	* src/HttpRequest.cc
	* src/HttpRequest.h
	* src/NetrcAuthResolver.cc
	* src/NetrcAuthResolver.h
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* test/AuthConfigFactoryTest.cc
	* test/HttpRequestTest.cc
	* test/NetrcAuthResolverTest.cc
2008-09-25 14:37:28 +00:00
Tatsuhiro Tsujikawa 77e095300b 2008-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Removed unused preferences:
	PREF_NO_PREALLOCATION
	PREF_STDOUT_LOG
	PREF_TRACKER_MAX_TRIES
	PREF_DIRECT_DOWNLOAD_TIMEOUT
	PREF_MIN_SEGMENT_SIZE
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
2008-09-22 10:12:44 +00:00
Tatsuhiro Tsujikawa 3599067ec1 2008-09-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --max-file-not-found=NUM option. If aria2 receives `file 
not
	found' error from HTTP/FTP server NUM times without getting 
single
	bytes of data, then force the download to fail.
	Basically aria2 tris all URIs available. So if long list of URIs 
are
	specified in Metalink, then aria2 will take a long time to fail
	eventually if all URIs are outdated. This option eases this 
situation
	to limit the number of servers to try.
	* src/FtpNegotiationCommand.cc
	* src/HelpItemFactory.cc
	* src/HttpResponseCommand.cc
	* src/OptionHandlerFactory.cc
	* src/PeerStat.h
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/SegmentMan.cc
	* src/SegmentMan.h
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-09-10 14:56:44 +00:00
Tatsuhiro Tsujikawa 4b997228ad 2008-09-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --connect-timeout option to specify connect timeout in 
seconds.
	This option is in effect for HTTP/FTP/proxy server. The timeout 
for
	connecting to BitTorrent peer is not controlled by this option.
	* src/AbstractProxyRequestCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/HelpItemFactory.cc
	* src/HttpRequestCommand.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-09-09 12:13:08 +00:00
Tatsuhiro Tsujikawa dbc8f5b737 2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Implemented the ability to get timestamp from remote HTTP server 
and
	apply it to local file. To enable this feature, --remote-time 
option
	is added. No usage text has been written yet.
	If several servers returns difference timestamp, then aria2 uses 
latest
	one.
	* src/CopyDiskAdaptor.cc
	* src/CopyDiskAdaptor.h
	* src/DirectDiskAdaptor.cc
	* src/DirectDiskAdaptor.h
	* src/DiskAdaptor.h
	* src/File.cc
	* src/File.h
	* src/HttpHeader.cc
	* src/HttpHeader.h
	* src/HttpResponse.cc
	* src/HttpResponse.h
	* src/HttpResponseCommand.cc
	* src/HttpResponseCommand.h
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* test/CopyDiskAdaptorTest.cc
	* test/FileTest.cc
	* test/Makefile.am
	* test/Makefile.in
	* test/MultiDiskAdaptorTest.cc
	* test/TestUtil.cc
2008-09-07 14:38:26 +00:00
Tatsuhiro Tsujikawa db46bab38b 2008-08-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added options to load/save the server's performance/status to a	
file
	and the timeout to drop their data.
	--server-stat-of=FILE specifies the file to which performance 
data
	is saved.
	--server-stat-if=FILE specifies the file to read previously 
saved
	by --server-stat-of option. Might be used with 
--uri-selector=feedback.
	--server-stat-timeout=TIMEOUT specifies timeout to invalidate 
the data.
	TIMEOUT is specified in seconds and the default value is 
24hours.
	* src/MultiUrlRequestInfo.cc
	* src/OptionHandlerFactory.cc
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/ServerStatMan.cc
	* src/ServerStatMan.h
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* test/ServerStatManTest.cc
2008-08-10 15:22:55 +00:00
Tatsuhiro Tsujikawa d64c8e75f6 2008-08-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Implemented download speed based URI selection algorithm.
	Introduced new option --uri-selector.
	If --uri-selector=feedback is given, aria2 uses download speed 
observed
	in the previous downloads and chooses fastest server in the URI 
list.
	Currently at most 10 URIs are considered to introduce 
randomeness for
	finding better servers. The speed is average download speed in 
the
	downloads.
	On the other hand, if --uri-selector=inorder is given, which is 
default,
	URI is tried in order in URI list.
	The usage text for the new option has not been written yet.
	* src/AbstractCommand.cc
	* src/DownloadCommand.cc
	* src/DownloadEngine.cc
	* src/DownloadEngineFactory.cc
	* src/InOrderURISelector.cc
	* src/InOrderURISelector.h
	* src/OptionHandlerFactory.cc
	* src/PeerStat.h
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/SegmentMan.cc
	* src/SegmentMan.h
	* src/ServerStat.cc
	* src/ServerStat.h
	* src/ServerStatMan.cc
	* src/ServerStatMan.h
	* src/ServerStatURISelector.cc
	* src/ServerStatURISelector.h
	* src/URISelector.h
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* test/InOrderURISelectorTest.cc
	* test/RequestGroupManTest.cc
	* test/ServerStatManTest.cc
	* test/ServerStatURISelectorTest.cc
2008-08-04 17:06:47 +00:00
Tatsuhiro Tsujikawa 7fc0de4f5b 2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Renamed --bt-seed option as --bt-seed-unverified so that it 
makes clear
	that this is not going to verify files using piece hashes.
	* src/HelpItemFactory.cc
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-07-12 13:54:36 +00:00
Tatsuhiro Tsujikawa d8d8a4cff1 2008-07-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --bt-seed option. If --bt-seed=true is given at the 
command-line,
	aria2 seeds previously downloaded files without validating 
piece hashs.
	* src/HelpItemFactory.cc
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-07-08 14:18:51 +00:00
Tatsuhiro Tsujikawa cf71523fe2 2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --bt-max-open-files option.
	* src/DefaultPieceStorage.cc
	* src/HelpItemFactory.cc
	* src/MultiDiskAdaptor.cc
	* src/MultiDiskAdaptor.h
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-06-08 12:34:36 +00:00
Tatsuhiro Tsujikawa fc0725002d 2008-06-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --bt-request-peer-speed-limit option, which was a constant
	SLOW_SPEED_THRESHOLD.
	* src/ActivePeerConnectionCommand.cc
	* src/ActivePeerConnectionCommand.h
	* src/BtConstants.h
	* src/HelpItemFactory.cc
	* src/OptionHandlerFactory.cc
	* src/PeerReceiveHandshakeCommand.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2008-06-04 10:14:48 +00:00
Tatsuhiro Tsujikawa 0189bbc6bc 2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Defined option name and possible values as std::string to reduce
	temporary string object creation in runtime.
	* src/HelpItemFactory.cc
	* src/LogFactory.cc
	* src/Option.cc
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.cc
	* src/prefs.h
2008-05-19 10:25:38 +00:00
Tatsuhiro Tsujikawa d76e423884 2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --log-level option to specify log level. Log messages under
	the specified level are not output. Default value is `debug'.
	* src/HelpItemFactory.cc
	* src/LogFactory.cc
	* src/LogFactory.h
	* src/Logger.h
	* src/OptionHandlerFactory.cc
	* src/SimpleLogger.cc
	* src/SimpleLogger.h
	* src/main.cc
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-05-15 15:48:41 +00:00
Tatsuhiro Tsujikawa 2e8e926c10 2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Print download progress summary of all parallel downloads in specified
	interval, default 60 secs. While aria2 could download several files
	in parallel (see -j option), it displayed just first download progress,
	and the other downloads are hidden from the users. This new feature
	prints all downloads currently in-progress to the console so that you
	can check the status of all downloads. The interval can be adjusted
	by --summary-interval option.
	
	The progress readout is now cut so that all fits in the one line of
	console.
	* src/ConsoleStatCalc.cc
	* src/ConsoleStatCalc.h
	* src/HelpItemFactory.cc
	* src/OptionHandlerFactory.cc
	* src/RequestGroupMan.cc
	* src/RequestGroupMan.h
	* src/main.cc
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-05-15 14:37:02 +00:00
Tatsuhiro Tsujikawa f25436725e 2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added the ability to reuse connection in FTP and it is enabled 
by
	default. It can be disabled by --ftp-reuse-connection=false 
option.
	* src/Command.cc
	* src/DownloadCommand.cc
	* src/FtpDownloadCommand.cc
	* src/FtpDownloadCommand.h
	* src/FtpFinishDownloadCommand.cc
	* src/FtpFinishDownloadCommand.h
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpNegotiationCommand.cc
	* src/FtpNegotiationCommand.h
	* src/HelpItemFactory.cc
	* src/Makefile.am
	* src/Makefile.in
	* src/OptionHandlerFactory.cc
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-05-09 14:44:28 +00:00
Tatsuhiro Tsujikawa d52bce74d3 2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Rewritten name resolver. Now async DNS can be disabled by 
--async-dns
	option.
	The asynchronous DNS is not capable of IPv6 yet.
	By disabling asynchronous DNS, aria2 is IPv6 enabled 
application, at
	least for HTTP download.
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/AsyncNameResolver.cc
	* src/AsyncNameResolver.h
	* src/DHTEntryPointNameResolveCommand.cc
	* src/DHTEntryPointNameResolveCommand.h
	* src/DownloadEngine.cc
	* src/DownloadEngine.h
	* src/FtpInitiateConnectionCommand.cc
	* src/FtpInitiateConnectionCommand.h
	* src/HelpItemFactory.cc
	* src/HttpInitiateConnectionCommand.cc
	* src/HttpInitiateConnectionCommand.h
	* src/InitiateConnectionCommand.cc
	* src/InitiateConnectionCommand.h
	* src/Makefile.am
	* src/Makefile.in
	* src/NameResolver.cc
	* src/NameResolver.h
	* src/OptionHandlerFactory.cc
	* src/SocketCore.cc
	* src/SocketCore.h
	* src/Util.cc
	* src/Util.h
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-05-08 11:18:36 +00:00
Tatsuhiro Tsujikawa c87fe0022d 2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --quiet option to make aria2 quiet (no console output).
	--quiet option is tagged with ADVANCED.
	* src/HelpItemFactory.cc
	* src/LogFactory.cc
	* src/LogFactory.h
	* src/MultiUrlRequestInfo.cc
	* src/MultiUrlRequestInfo.h
	* src/NullStatCalc.h: New class. This class prints nothing.
	* src/OptionHandlerFactory.cc
	* src/main.cc
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
2008-04-22 10:29:48 +00:00
Tatsuhiro Tsujikawa 3eb74629cb 2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --header option. You can specify any number of additional 
HTTP headers
	like:
	aria2 --header="X-A: 300" --header="X-B: 900" http://host/file
	Unlike other commad-line option, you can use --header option 
multiple times.
	* src/HelpItemFactory.cc
	* src/HttpRequest.{cc, h}
	* src/HttpRequestCommand.cc
	* src/OptionHandlerFactory.cc
	* src/OptionHandlerImpl.h
	* src/option_processing.cc
	* src/prefs.h
	* src/usage_text.h
	* test/HttpRequestTest.cc (testUserHeaders)
2008-04-20 06:30:44 +00:00
Tatsuhiro Tsujikawa 20cd2e5246 2008-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --bt-min-crypto-level and --bt-require-crypto options.
	* src/OptionHandlerFactory.cc
	* src/MSEHandshake.cc
	* src/HelpItemFactory.cc
	* src/option_processing.cc
	* src/ReceiverMSEHandshakeCommand.cc
	* src/prefs.h
	* src/DefaultBtAnnounce.cc
	* src/InitiatorMSEHandshakeCommand.cc
	* src/usage_text.h
	* test/MSEHandshakeTest.cc
2008-02-18 13:41:58 +00:00