Commit Graph

225 Commits (dc8ed34cb014a0bdf22168fc73563086c8d8d1f2)

Author SHA1 Message Date
Tatsuhiro Tsujikawa 1b6827b060 Revert d50021d045
It is safe to use prealloc for default, because of legacy fs (e.g.,
vfat) usage in Android.
2013-05-10 21:14:03 +09:00
Tatsuhiro Tsujikawa d50021d045 Use trunc as default value for --file-allocation on Android build 2013-05-06 19:31:40 +09:00
Tatsuhiro Tsujikawa 512f87f4ff Fix compiler warning 2013-05-06 19:23:17 +09:00
Nils Maier e700ebd3e9 LibUV: Reorder event poll preference
*nix will keep epoll/kqueue/port as the default (when available), while
Windows, lacking all of these, will default to libuv (when available)
2013-04-28 21:44:06 +02:00
Nils Maier 9acd3df3cb LibUV: Implement LibuvEventPoll
LibUV event will use the best available polling method on a system, kind
of like aria2 does already with the different *EventPoll
implementations.
However, libuv may support different/newer polling mechanisms; for
example on Windows it will use IO Completion Ports which are superior to
select() ;)
2013-04-10 08:47:20 +02:00
Nils Maier 82a861f8d8 AppleTLS: Support credentials via KeyChain fingerprints 2013-04-08 06:45:53 +02:00
Tatsuhiro Tsujikawa 7ce725098b Remove default value for deprecated --enable-async-dns6 to suppress warning 2013-04-03 02:27:45 +09:00
Tatsuhiro Tsujikawa 19b5b7e214 Remove deprecated options: --enable-direct-io and --metalink-servers 2013-04-02 00:12:24 +09:00
Tatsuhiro Tsujikawa cd1f1fb56d Deprecate --enable-async-dns6
The IPv6 asynchronous name resolver is enabled if the host has at
least one interface with IPv6 address configured (the loopback address
will not be counted), which is roughly the same behaviour of the
standard getaddrinfo(3). To disable IPv6 asynchronous name resolver,
use --disable-ipv6.
2013-04-02 00:02:56 +09:00
Tatsuhiro Tsujikawa 8e63bad2da Added --save-session-interval option
--save-session-interval option saves error/unfinished downloads to a
file specified by --save-session option every SEC seconds. If 0 is
given, file will be saved only when aria2 exits.
2013-01-10 00:15:30 +09:00
Tatsuhiro Tsujikawa d6000024c0 Added --console-log-level option
--console-log-level option sets log level to output to console.
2013-01-05 18:48:09 +09:00
Tatsuhiro Tsujikawa 0001f4cfbd Added --gid option
This option sets GID manually. aria2 identifies each download by the
ID called GID. The GID must be hex string of 16 characters, thus
[0-9a-zA-Z] are allowed and leading zeros must not be stripped. The
GID all 0 is reserved and must not be used. The GID must be unique,
otherwise error is reported and the download is not added.  This
option is useful when restoring the sessions saved using
--save-session option. If this option is not used, new GID is
generated by aria2.
2012-12-16 18:22:13 +09:00
Tatsuhiro Tsujikawa f314719618 Added --disk-cache option
This option enables disk cache. If SIZE is 0, the disk cache is
disabled. This feature caches the downloaded data in memory, which
grows to at most SIZE bytes. The cache storage is created for aria2
instance and shared by all downloads. The one advantage of the disk
cache is reduce the disk seek time because the data is written in
larger unit and it is reordered by the offset of the file. If the
underlying file is heavily fragmented it is not the case.
2012-12-03 01:39:10 +09:00
Tatsuhiro Tsujikawa 7e59e2dbb5 mingw32: Open file using _wsopen and added --enable-mmap support
I tried CreateFile but the subsequent ReadFile fails with Access
Denied if sparse file is read on NTFS. I mostly reverted previous
changes and use _wsopen with read/write share enabled instead of
CreateFile.

This change also includes --enable-mmap support for MinGW32
build. Memory mapped file may be useful for 64-bits OS and lots of
RAM. Currently, FlushViewOfFile is not called during the download, so
it is slightly vulnerable against sudden power loss. I found lots of
read when resuming download due to page fault. So for now it is useful
for the initial download. I recommend not to use
--file-allocation=prealloc with --enable-mmap for MinGW32, because it
triggers page faults even in the initial download. Anyway, the option
is experimental.
2012-12-01 19:38:30 +09:00
Tatsuhiro Tsujikawa e0dcb942b2 Added --force-save option.
--force-save option saves download with --save-session option even if
the download is completed or removed. This may be useful to save
BitTorrent seeding which is recognized as completed state.  The
default value is false.
2012-11-17 15:33:44 +09:00
Tatsuhiro Tsujikawa d4e7b51eb9 Made --http-no-cache false by default 2012-10-31 16:44:28 +09:00
Tatsuhiro Tsujikawa a9c76ed35e Added --rpc-save-upload-metadata option
If true is given, which is default, save the uploaded torrent or
metalink metadata in the directory specified by --dir option. The
filename consists of SHA1-hash hex string of metadata plus
extension. For torrent, the extension is '.torrent'. For metalink, it
is '.meta4'.  If false is given to this option, the downloads added by
aria2.addTorrent or aria2.addMetalink will not be saved by
--save-session option.
2012-10-16 00:18:34 +09:00
Tatsuhiro Tsujikawa 90515dfa50 RPC over SSL/TLS transport
To enable RPC over SSL/TLS, specify server certificate and private key
using --rpc-certificate and --rpc-private-key options and enable
--rpc-secure option.  After the encryption is enabled, use https and
wss scheme to access RPC server.
2012-09-30 00:50:14 +09:00
Tatsuhiro Tsujikawa ae2e4cb7ff Handle OptionHandlers as raw pointer 2012-09-27 22:45:31 +09:00
Tatsuhiro Tsujikawa 295a62f538 Rewritten help tags and various internal flag handling in OptionHandler
Now help tags are defined as enum values to avoid vector of strings.
The internal flags are represented by bitmask to shrink size.
2012-09-23 14:59:05 +09:00
Tatsuhiro Tsujikawa d734ff7d29 Added new file allocation method called 'trunc'
--file-allocation option can now take new value 'trunc'. 'trunc' uses
ftruncate() system call or platform-specific counterpart to truncate a
file to a specified length.
2012-08-12 16:52:53 +09:00
Tatsuhiro Tsujikawa 5d3b6801b1 Changed default Peer ID prefix
The new Peer ID prefix is "A2-$MAJOR-$MINOR-$MICRO-", where $MAJOR,
$MINOR and $MICRO are the major version, the minor version and the
micro version respectively. For instance, 1.15.2 release of aria2 will
use "A2-1-15-2-".
2012-06-29 23:38:12 +09:00
Tatsuhiro Tsujikawa 0c8ec9c325 Merged Android build scripts 2012-06-29 00:51:13 +09:00
Tatsuhiro Tsujikawa 96720b297d Added --enable-mmap option.
If this option is used, map files into memory using mmap(2).  This
option is experimental.
2012-06-24 16:28:04 +09:00
Tatsuhiro Tsujikawa 9e8676af2c Disable IPv6 by default only if MinGW 32bit build. 2012-04-08 17:45:33 +09:00
Tatsuhiro Tsujikawa c7c26e67c4 Disable IPv6 for MinGW build by default 2012-04-07 15:40:33 +09:00
Tatsuhiro Tsujikawa 8499a47d21 Added --bt-remove-unselected-file option.
Removes the unselected files when download is completed in
BitTorrent. To selecting files, use --select-file option. If it is not
used, all files are assumed to be selected. Please use this option
with care because it will actually remove files from your disk.
This option is default to false.
2012-03-25 19:25:43 +09:00
Tatsuhiro Tsujikawa f2d55f0edc Added --deferred-input option.
If true is given to --deferred-input option, aria2 does not read all
URIs and options from file specified by -i option at startup, but it
reads one by one when it needs later. This may reduce memory usage if
input file contains a lot of URIs to download. If false is given,
aria2 reads all URIs and options at startup. This option defaults to
false.
2012-02-05 18:57:16 +09:00
Tatsuhiro Tsujikawa b89bc8a6cb Added --stop-with-process=PID option.
This feature stops application when process PID is not running.  This
is useful if aria2 process is forked from a parent process. The parent
process can fork aria2 with its own pid and when parent process exits
for some reason, aria2 can detect it and shutdown itself.

The code which detects whether or not given process PID is running is
contributed by Emmanuel Engelhart.
2011-12-01 23:21:44 +09:00
Tatsuhiro Tsujikawa 97a9242cbe Proxy URI is now constructed in getProxyUri().
The previous implementation constructs proxy URI in OptionHandler but
it cannot handle with the situation when user, password and proxy URI
is given various order.  Now we just set rules: username set in
--*-proxy-user overrides username in --*-proxy option, no matter in
any order username, password and proxy URI are parsed. Likewise,
password set in --*--proxy-passwd overrides password in --*-proxy
option.
2011-11-13 23:06:24 +09:00
Tatsuhiro Tsujikawa 1a418b518c --index-out option is now available in aria2.changeOption.
--index-out option is now available in aria2.changeOption if a
download is waiting/paused in queue.
2011-11-02 00:27:31 +09:00
Tatsuhiro Tsujikawa 701a2d6ff8 --dir and --out option is now available in aria2.changeOption.
--dir and --out option is now available in aria2.changeOption if a
download is waiting/paused in queue.
2011-11-02 00:01:25 +09:00
Tatsuhiro Tsujikawa a88a8b4ed1 Removed default value from deprecated --metalink-servers option. 2011-10-31 23:06:51 +09:00
Tatsuhiro Tsujikawa 57b37db8a1 --max-connection-per-server option is now available in aria2.changeOption.
--max-connection-per-server option is now available in
aria2.changeOption if a download is waiting/paused in queue.
2011-10-31 22:43:05 +09:00
Tatsuhiro Tsujikawa 84b19f154a Deprecated --metalink-server option. Use --split option instead. 2011-10-30 21:36:36 +09:00
Tatsuhiro Tsujikawa fc7af71aa8 --split option is now available in aria2.changeOption.
--split option is now available in aria2.changeOption if a download is
waiting/paused in queue.
2011-10-30 19:23:27 +09:00
Tatsuhiro Tsujikawa 1d9e673a68 --select-file option is now available in aria2.changeOption
--select-file option is now available in aria2.changeOption if a
download is waiting/paused in queue.
2011-10-30 19:13:40 +09:00
Tatsuhiro Tsujikawa 9b62a6e1fe Made max value of --select-file to 65535 2011-10-30 00:45:10 +09:00
Tatsuhiro Tsujikawa 695c65eb86 --lowest-speed-limit option is now available in aria2.changeOption.
--lowest-speed-limit option is now available in aria2.changeOption if
a download is waiting/paused in queue.
2011-10-29 19:11:22 +09:00
Tatsuhiro Tsujikawa 95c7cb9f3e --checksum option is now available in aria2.changeOption.
--checksum option is now available in aria2.changeOption if download
  is waiting/paused in queue.
2011-10-29 19:08:04 +09:00
Tatsuhiro Tsujikawa 7cba24e8b2 Options for -i list is now available in aria2.changeOption.
Options for -i list, except for PREF_CHECKSUM, PREF_DIR, PREF_DRY_RUN,
PREF_INDEX_OUT, PREF_LOWEST_SPEED_LIMIT,
PREF_MAX_CONNECTION_PER_SERVER, PREF_METALINK_BASE_URI, PREF_OUT,
PREF_PIECE_LENGTH, PREF_SELECT_FILE, PREF_SPLIT, PREF_PAUSE and
PREF_PARAMETERIZED_URI, are available in aria2.changeOption if the
download is waiting state, including paused downloads.
2011-10-29 18:50:52 +09:00
Tatsuhiro Tsujikawa dfd214b3db Disallowed checksum, index-out, out, pause and select-file option in
aria2.changeGlobalOption.
2011-10-25 21:56:16 +09:00
Tatsuhiro Tsujikawa 249fd90c92 Made -i list options available in aria2.changeGlobalOption. 2011-10-22 23:22:34 +09:00
Tatsuhiro Tsujikawa 2ef6b34e60 Made --download-result, --save-session, --server-stat-of and
--save-cookies option available in aria2.changeGlobalOption.
2011-10-22 23:08:40 +09:00
Tatsuhiro Tsujikawa 3d767543e6 Removed OptionHandler::{get,set}OptionID() and canHandle().
Removed typedefs in OptionHandler and NameMatchOptionHandler.
2011-10-22 22:52:23 +09:00
Tatsuhiro Tsujikawa 1872aef953 Made --max-download-result option available in aria2.changeGlobalOption. 2011-10-22 22:43:07 +09:00
Tatsuhiro Tsujikawa c8ed44b18f Made --uri-selector option available in -i list. 2011-10-22 21:49:46 +09:00
Tatsuhiro Tsujikawa 6bc6825cec Renamed OptionHandler::setGlobalChangeOption() as setChangeGlobalOption(). 2011-10-22 21:23:42 +09:00
Tatsuhiro Tsujikawa 5a29813d24 OptionHandler now knows its option can be used in -i list option,
changeable in aria2.changeOption or aria2.changeGlobalOption.

OptionHandler also now its option is cumulative.
2011-10-22 19:08:20 +09:00
Tatsuhiro Tsujikawa 3832ed97c6 Rewritten Option. Introduced Pref.
Now preference key is Pref instead of just string.  It has Option
ID. Now option lookup and setting takes O(1) using Pref object.
2011-10-21 21:56:42 +09:00