Commit ad185596 authored by Patrick Ruckstuhl's avatar Patrick Ruckstuhl

Imported Upstream version 1.19.0

parent f4feb9e7
This diff is collapsed.
......@@ -26,9 +26,10 @@ RUN apt-get install -y make binutils autoconf automake autotools-dev libtool \
RUN curl -L -O https://gmplib.org/download/gmp/gmp-6.0.0a.tar.lz
RUN curl -L -O http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
RUN curl -L -O http://www.sqlite.org/2015/sqlite-autoconf-3080802.tar.gz
RUN curl -L -O http://www.sqlite.org/2015/sqlite-autoconf-3080803.tar.gz
RUN curl -L -O http://zlib.net/zlib-1.2.8.tar.xz
RUN curl -L -O http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
RUN curl -L -O http://libssh2.org/download/libssh2-1.5.0.tar.gz
RUN tar xf gmp-6.0.0a.tar.lz
RUN cd gmp-6.0.0 && \
......@@ -88,6 +89,19 @@ RUN cd c-ares-1.10.0 && \
LIBS="-lws2_32" && \
make install
RUN tar xf libssh2-1.5.0.tar.gz
RUN cd libssh2-1.5.0 && \
./configure \
--disable-shared \
--enable-static \
--prefix=/usr/local/$HOST \
--host=$HOST \
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \
--without-openssl \
--with-wincng \
LIBS="-lws2_32" && \
make install
RUN git clone https://github.com/tatsuhiro-t/aria2
RUN cd aria2 && autoreconf -i && ./mingw-config && make && \
$HOST-strip src/aria2c.exe
FROM ubuntu:trusty
MAINTAINER Igor Khomyakov
RUN apt-get update && \
apt-get install -y make binutils autoconf automake autotools-dev libtool \
pkg-config git curl dpkg-dev autopoint libcppunit-dev libxml2-dev \
libgcrypt11-dev lzip
RUN git clone https://github.com/raspberrypi/tools.git --depth=1 /tools
ENV ARCH armhf
ENV HOST arm-linux-gnueabihf
ENV LOCAL_DIR /local
ENV TOOL_BIN_DIR /tools/arm-bcm2708/gcc-linaro-$HOST-raspbian-x64/bin
ENV PATH ${TOOL_BIN_DIR}:$PATH
RUN mkdir $LOCAL_DIR && mkdir zlib && cd zlib && \
curl -Ls -o - 'http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz?download' | \
tar xzf - --strip-components=1 && \
prefix=${LOCAL_DIR} \
CC=$HOST-gcc \
STRIP=$HOST-strip \
RANLIB=$HOST-ranlib \
AR=$HOST-ar \
LD=$HOST-ld \
./configure --static \
--libdir=$LOCAL_DIR/lib && \
make -s && \
make -s install
RUN mkdir -p expat && cd expat && \
curl -Ls -o - 'http://sourceforge.net/projects/expat/files/latest/download' | \
tar xzf - --strip-components=1 && \
./configure \
--host=$HOST \
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \
--enable-shared=no \
--enable-static=yes \
--prefix=${LOCAL_DIR} && \
make -s && \
make -s install
RUN mkdir c-ares && cd c-ares && \
curl -Ls -o - http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz | \
tar xzf - --strip-components=1 && \
./configure \
--host=$HOST \
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \
--enable-shared=no \
--enable-static=yes \
--prefix=${LOCAL_DIR} && \
make -s && \
make -s install
RUN mkdir gmp && cd gmp && \
curl -Ls -o - 'https://gmplib.org/download/gmp/gmp-6.0.0a.tar.lz' | \
lzip -d | tar xf - --strip-components=1 && \
./configure \
--disable-shared \
--enable-static \
--prefix=$LOCAL_DIR \
--host=$HOST \
--disable-cxx \
--enable-fat && \
make -s && \
make -s install
RUN mkdir sqlite && cd sqlite && \
curl -Ls -o - https://www.sqlite.org/2015/sqlite-autoconf-3080900.tar.gz | \
tar xzf - --strip-components=1 && \
./configure \
--disable-shared \
--enable-static \
--prefix=$LOCAL_DIR \
--host=$HOST \
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` && \
make -s && \
make -s install
RUN mkdir aria && cd aria && \
curl -Ls -o - http://sourceforge.net/projects/aria2/files/latest/download | \
tar xjf - --strip-components=1 && \
./configure \
--host=$HOST \
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \
--disable-nls \
--disable-ssl \
--without-gnutls \
--without-libxml2 \
--with-libz --with-libz-prefix=${LOCAL_DIR} \
--with-libexpat --with-libexpat-prefix=${LOCAL_DIR} \
--with-slite3 --with-sqlite3-prefix=${LOCAL_DIR} \
--with-libcares --with-libcares-prefix=${LOCAL_DIR} \
--prefix=${LOCAL_DIR} \
LDFLAGS="-L$LOCAL_DIR/lib" \
PKG_CONFIG_PATH="$LOCAL_DIR/lib/pkgconfig" \
ARIA2_STATIC=yes && \
make -s && \
make -s install-strip
......@@ -10,6 +10,7 @@ EXTRA_DIST = config.rpath \
android-config android-make \
makerelease-osx.mk osx-package/DS_Store osx-package/etc/paths.d/aria2c osx-package/etc/manpaths.d/aria2 \
Dockerfile.mingw \
Dockerfile.raspberrypi \
examples/libaria2ex.cc examples/libaria2wx.cc
dist_doc_DATA = README README.rst README.html
......
......@@ -236,14 +236,12 @@ distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
A2X = @A2X@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARIA2_STATIC = @ARIA2_STATIC@
ASCIIDOC = @ASCIIDOC@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
......@@ -302,6 +300,8 @@ LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBSSH2_CFLAGS = @LIBSSH2_CFLAGS@
LIBSSH2_LIBS = @LIBSSH2_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
......@@ -430,6 +430,7 @@ EXTRA_DIST = config.rpath \
android-config android-make \
makerelease-osx.mk osx-package/DS_Store osx-package/etc/paths.d/aria2c osx-package/etc/manpaths.d/aria2 \
Dockerfile.mingw \
Dockerfile.raspberrypi \
examples/libaria2ex.cc examples/libaria2wx.cc
dist_doc_DATA = README README.rst README.html
......
This diff is collapsed.
......@@ -359,13 +359,13 @@ You must use this program at your own risk.</p>
<div class="section" id="introduction">
<h1>Introduction</h1>
<p>aria2 is a utility for downloading files. The supported protocols are
HTTP(S), FTP, BitTorrent, and Metalink. aria2 can download a file from
multiple sources/protocols and tries to utilize your maximum download
bandwidth. It supports downloading a file from HTTP(S)/FTP and
BitTorrent at the same time, while the data downloaded from
HTTP(S)/FTP is uploaded to the BitTorrent swarm. Using Metalink's
chunk checksums, aria2 automatically validates chunks of data while
downloading a file like BitTorrent.</p>
HTTP(S), FTP, SFTP, BitTorrent, and Metalink. aria2 can download a
file from multiple sources/protocols and tries to utilize your maximum
download bandwidth. It supports downloading a file from
HTTP(S)/FTP/SFTP and BitTorrent at the same time, while the data
downloaded from HTTP(S)/FTP/SFTP is uploaded to the BitTorrent
swarm. Using Metalink's chunk checksums, aria2 automatically validates
chunks of data while downloading a file like BitTorrent.</p>
<p>The project page is located at <a class="reference external" href="http://aria2.sourceforge.net/">http://aria2.sourceforge.net/</a>.</p>
<p>See <a class="reference external" href="http://aria2.sourceforge.net/manual/en/html/">aria2 Online Manual</a> (<a class="reference external" href="http://aria2.sourceforge.net/manual/ru/html/">Russian translation</a>, <a class="reference external" href="http://aria2.sourceforge.net/manual/pt/html/">Portuguese
translation</a>) to learn
......@@ -376,10 +376,10 @@ how to use aria2.</p>
<p>Here is a list of features:</p>
<ul class="simple">
<li>Command-line interface</li>
<li>Download files through HTTP(S)/FTP/BitTorrent</li>
<li>Download files through HTTP(S)/FTP/SFTP/BitTorrent</li>
<li>Segmented downloading</li>
<li>Metalink version 4 (RFC 5854) support(HTTP/FTP/BitTorrent)</li>
<li>Metalink version 3.0 support(HTTP/FTP/BitTorrent)</li>
<li>Metalink version 4 (RFC 5854) support(HTTP/FTP/SFTP/BitTorrent)</li>
<li>Metalink version 3.0 support(HTTP/FTP/SFTP/BitTorrent)</li>
<li>Metalink/HTTP (RFC 6249) support</li>
<li>HTTP/1.1 implementation</li>
<li>HTTP Proxy support</li>
......@@ -397,7 +397,7 @@ and the Mozilla/Firefox
<li>Save Cookies in the Mozilla/Firefox (1.x/2.x)/Netscape format.</li>
<li>Custom HTTP Header support</li>
<li>Persistent Connections support</li>
<li>FTP through HTTP Proxy</li>
<li>FTP/SFTP through HTTP Proxy</li>
<li>Download/Upload speed throttling</li>
<li>BitTorrent extensions: Fast extension, DHT, PEX, MSE/PSE,
Multi-Tracker, UDP tracker</li>
......@@ -448,6 +448,9 @@ files are stored there.</p>
<tr><td>HTTPS</td>
<td>OSX or GnuTLS or OpenSSL or Windows</td>
</tr>
<tr><td>SFTP</td>
<td>libssh2</td>
</tr>
<tr><td>BitTorrent</td>
<td>None. Optional: libnettle+libgmp or libgcrypt
or OpenSSL (see note)</td>
......@@ -541,6 +544,7 @@ distribution you use):</p>
<li>libgnutls-dev (Required for HTTPS, BitTorrent, Checksum support)</li>
<li>nettle-dev (Required for BitTorrent, Checksum support)</li>
<li>libgmp-dev (Required for BitTorrent)</li>
<li>libssh2-1-dev (Required for SFTP support)</li>
<li>libc-ares-dev (Required for async DNS support)</li>
<li>libxml2-dev (Required for Metalink support)</li>
<li>zlib1g-dev (Required for gzip, deflate decoding support in HTTP)</li>
......@@ -563,8 +567,13 @@ libgnutls-dev, nettle-dev, libgmp-dev, libgpg-error-dev and libgcrypt-dev:</p>
</ul>
<p>On Fedora you need the following packages: gcc, gcc-c++, kernel-devel,
libgcrypt-devel, libxml2-devel, openssl-devel, gettext-devel, cppunit</p>
<p>If you downloaded source code from git repository, you have to run
following command to generate configure script and other files
<p>If you downloaded source code from git repository, you have to install
following packages to get autoconf macros:</p>
<ul class="simple">
<li>libxml2-dev</li>
<li>libcppunit-dev</li>
</ul>
<p>And run following command to generate configure script and other files
necessary to build the program:</p>
<pre class="literal-block">
$ autoreconf -i
......@@ -647,6 +656,7 @@ following libraries have been built for cross-compile:</p>
<li>expat</li>
<li>sqlite3</li>
<li>zlib</li>
<li>libssh2</li>
<li>cppunit</li>
</ul>
<p>Some environment variables can be adjusted to change build settings:</p>
......@@ -683,6 +693,7 @@ assumes the following libraries have been built for cross-compile:</p>
<li>c-ares</li>
<li>openssl</li>
<li>expat</li>
<li>zlib</li>
</ul>
<p>When building the above libraries, make sure that disable shared
library and enable only static library. We are going to link those
......@@ -783,9 +794,9 @@ selective download completes.</li>
</div>
<div class="section" id="metalink">
<h1>Metalink</h1>
<p>The current implementation supports HTTP(S)/FTP/BitTorrent. The other
P2P protocols are ignored. Both Metalink4 (RFC 5854) and Metalink
version 3.0 documents are supported.</p>
<p>The current implementation supports HTTP(S)/FTP/SFTP/BitTorrent. The
other P2P protocols are ignored. Both Metalink4 (RFC 5854) and
Metalink version 3.0 documents are supported.</p>
<p>For checksum verification, md5, sha-1, sha-224, sha-256, sha-384 and
sha-512 are supported. If multiple hash algorithms are provided, aria2
uses stronger one. If whole file checksum verification fails, aria2
......@@ -824,9 +835,9 @@ which location you prefer, you can use <tt class="docutils literal"><span class=
</div>
<div class="section" id="netrc">
<h1>netrc</h1>
<p>netrc support is enabled by default for HTTP(S)/FTP. To disable netrc
support, specify -n command-line option. Your .netrc file should have
correct permissions(600).</p>
<p>netrc support is enabled by default for HTTP(S)/FTP/SFTP. To disable
netrc support, specify -n command-line option. Your .netrc file
should have correct permissions(600).</p>
</div>
<div class="section" id="websocket">
<h1>WebSocket</h1>
......
......@@ -10,14 +10,15 @@ You must use this program at your own risk.
Introduction
------------
aria2 is a utility for downloading files. The supported protocols are
HTTP(S), FTP, BitTorrent, and Metalink. aria2 can download a file from
multiple sources/protocols and tries to utilize your maximum download
bandwidth. It supports downloading a file from HTTP(S)/FTP and
BitTorrent at the same time, while the data downloaded from
HTTP(S)/FTP is uploaded to the BitTorrent swarm. Using Metalink's
chunk checksums, aria2 automatically validates chunks of data while
downloading a file like BitTorrent.
HTTP(S), FTP, SFTP, BitTorrent, and Metalink. aria2 can download a
file from multiple sources/protocols and tries to utilize your maximum
download bandwidth. It supports downloading a file from
HTTP(S)/FTP/SFTP and BitTorrent at the same time, while the data
downloaded from HTTP(S)/FTP/SFTP is uploaded to the BitTorrent
swarm. Using Metalink's chunk checksums, aria2 automatically validates
chunks of data while downloading a file like BitTorrent.
The project page is located at http://aria2.sourceforge.net/.
......@@ -33,10 +34,10 @@ Features
Here is a list of features:
* Command-line interface
* Download files through HTTP(S)/FTP/BitTorrent
* Download files through HTTP(S)/FTP/SFTP/BitTorrent
* Segmented downloading
* Metalink version 4 (RFC 5854) support(HTTP/FTP/BitTorrent)
* Metalink version 3.0 support(HTTP/FTP/BitTorrent)
* Metalink version 4 (RFC 5854) support(HTTP/FTP/SFTP/BitTorrent)
* Metalink version 3.0 support(HTTP/FTP/SFTP/BitTorrent)
* Metalink/HTTP (RFC 6249) support
* HTTP/1.1 implementation
* HTTP Proxy support
......@@ -54,7 +55,7 @@ Here is a list of features:
* Save Cookies in the Mozilla/Firefox (1.x/2.x)/Netscape format.
* Custom HTTP Header support
* Persistent Connections support
* FTP through HTTP Proxy
* FTP/SFTP through HTTP Proxy
* Download/Upload speed throttling
* BitTorrent extensions: Fast extension, DHT, PEX, MSE/PSE,
Multi-Tracker, UDP tracker
......@@ -98,6 +99,7 @@ Dependency
features dependency
======================== ========================================
HTTPS OSX or GnuTLS or OpenSSL or Windows
SFTP libssh2
BitTorrent None. Optional: libnettle+libgmp or libgcrypt
or OpenSSL (see note)
Metalink libxml2 or Expat.
......@@ -183,6 +185,7 @@ distribution you use):
* libgnutls-dev (Required for HTTPS, BitTorrent, Checksum support)
* nettle-dev (Required for BitTorrent, Checksum support)
* libgmp-dev (Required for BitTorrent)
* libssh2-1-dev (Required for SFTP support)
* libc-ares-dev (Required for async DNS support)
* libxml2-dev (Required for Metalink support)
* zlib1g-dev (Required for gzip, deflate decoding support in HTTP)
......@@ -206,8 +209,13 @@ You can use libexpat1-dev instead of libxml2-dev:
On Fedora you need the following packages: gcc, gcc-c++, kernel-devel,
libgcrypt-devel, libxml2-devel, openssl-devel, gettext-devel, cppunit
If you downloaded source code from git repository, you have to run
following command to generate configure script and other files
If you downloaded source code from git repository, you have to install
following packages to get autoconf macros:
* libxml2-dev
* libcppunit-dev
And run following command to generate configure script and other files
necessary to build the program::
$ autoreconf -i
......@@ -301,6 +309,7 @@ following libraries have been built for cross-compile:
* expat
* sqlite3
* zlib
* libssh2
* cppunit
Some environment variables can be adjusted to change build settings:
......@@ -341,6 +350,7 @@ assumes the following libraries have been built for cross-compile:
* c-ares
* openssl
* expat
* zlib
When building the above libraries, make sure that disable shared
library and enable only static library. We are going to link those
......@@ -449,9 +459,9 @@ Other things should be noted
Metalink
--------
The current implementation supports HTTP(S)/FTP/BitTorrent. The other
P2P protocols are ignored. Both Metalink4 (RFC 5854) and Metalink
version 3.0 documents are supported.
The current implementation supports HTTP(S)/FTP/SFTP/BitTorrent. The
other P2P protocols are ignored. Both Metalink4 (RFC 5854) and
Metalink version 3.0 documents are supported.
For checksum verification, md5, sha-1, sha-224, sha-256, sha-384 and
sha-512 are supported. If multiple hash algorithms are provided, aria2
......@@ -497,9 +507,10 @@ which location you prefer, you can use ``--metalink-location`` option.
netrc
-----
netrc support is enabled by default for HTTP(S)/FTP. To disable netrc
support, specify -n command-line option. Your .netrc file should have
correct permissions(600).
netrc support is enabled by default for HTTP(S)/FTP/SFTP. To disable
netrc support, specify -n command-line option. Your .netrc file
should have correct permissions(600).
WebSocket
---------
......
......@@ -44,21 +44,15 @@ PATH=$TOOLCHAIN/bin:$PATH
--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \
--disable-nls \
--without-gnutls \
--with-openssl --with-openssl-prefix=$PREFIX \
--with-openssl \
--without-sqlite3 \
--without-libxml2 \
--with-libexpat --with-libexpat-prefix=$PREFIX \
--with-libcares --with-libcares-prefix=$PREFIX \
--with-libz --with-libz-prefix=$PREFIX \
--with-libexpat \
--with-libcares \
--with-libz \
--with-libssh2 \
CXXFLAGS="-Os -g" \
CFLAGS="-Os -g" \
CPPFLAGS="-fPIE" \
LDFLAGS="-fPIE -pie -L$PREFIX/lib" \
PKG_CONFIG_LIBDIR="$PREFIX/lib/pkgconfig" \
ZLIB_LIBS="-lz" \
ZLIB_CFLAGS="-I$TOOLCHAIN/sysroot/usr/include"
# ZLIB_LIBS and ZLIB_CFLAGS are needed because aria2 configure script
# checks zlib availability using pkg-config, but android toochain does
# not provide pkg-config file. We need to specify these variables
# manually.
PKG_CONFIG_LIBDIR="$PREFIX/lib/pkgconfig"
......@@ -230,6 +230,9 @@
/* Define to 1 if you have libnettle. */
#undef HAVE_LIBNETTLE
/* Define to 1 if you have libssh2. */
#undef HAVE_LIBSSH2
/* Define to 1 if you have libuv. */
#undef HAVE_LIBUV
......
This diff is collapsed.
......@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
#
AC_PREREQ([2.67])
AC_INIT([aria2],[1.18.10],[https://github.com/tatsuhiro-t/aria2/issues],[aria2],[http://aria2.sourceforge.net/])
AC_INIT([aria2],[1.19.0],[https://github.com/tatsuhiro-t/aria2/issues],[aria2],[http://aria2.sourceforge.net/])
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
......@@ -43,7 +43,7 @@ AC_DEFINE_UNQUOTED([HOST], ["$host"], [Define build-type])
AC_DEFINE_UNQUOTED([TARGET], ["$target"], [Define target-type])
# Checks for arguments.
ARIA2_ARG_WITHOUT([libuv])
ARIA2_ARG_WITH([libuv])
ARIA2_ARG_WITHOUT([appletls])
ARIA2_ARG_WITHOUT([wintls])
ARIA2_ARG_WITHOUT([gnutls])
......@@ -58,6 +58,7 @@ ARIA2_ARG_WITHOUT([libcares])
ARIA2_ARG_WITHOUT([libz])
ARIA2_ARG_WITH([tcmalloc])
ARIA2_ARG_WITH([jemalloc])
ARIA2_ARG_WITHOUT([libssh2])
ARIA2_ARG_DISABLE([ssl])
ARIA2_ARG_DISABLE([bittorrent])
......@@ -106,14 +107,6 @@ if test "x$AR" = "x:"; then
fi
AC_SUBST([AR])
AC_PATH_PROG([A2X], [a2x])
AC_SUBST([A2X])
AM_CONDITIONAL([HAVE_A2X], [ test "x$A2X" != "x" ])
AC_PATH_PROG([ASCIIDOC], [asciidoc])
AC_SUBST([ASCIIDOC])
AM_CONDITIONAL([HAVE_ASCIIDOC], [ test "x$ASCIIDOC" != "x" ])
AC_PATH_PROGS([SPHINXBUILD], [sphinx-build])
AC_SUBST([SPHINXBUILD])
AM_CONDITIONAL([HAVE_SPHINXBUILD], [ test "x$SPHINXBUILD" != "x" ])
......@@ -470,6 +463,20 @@ if test "x$have_openssl" != "xyes"; then
fi
fi
if test "x$with_libssh2" = "xyes"; then
PKG_CHECK_MODULES([LIBSSH2], [libssh2], [have_libssh2=yes], [have_libssh2=no])
if test "x$have_libssh2" = "xyes"; then
AC_DEFINE([HAVE_LIBSSH2], [1], [Define to 1 if you have libssh2.])
LIBS="$LIBSSH2_LIBS $LIBS"
CPPFLAGS="$LIBSSH2_CFLAGS $CPPFLAGS"
else
AC_MSG_WARN([$LIBSSH2_PKG_ERRORS])
if test "x$with_libssh2_requested" = "xyes"; then
ARIA2_DEP_NOT_MET([libssh2])
fi
fi
fi
if test "x$with_libcares" = "xyes"; then
PKG_CHECK_MODULES([LIBCARES], [libcares >= 1.7.0], [have_libcares=yes],
[have_libcares=no])
......@@ -613,6 +620,9 @@ AM_CONDITIONAL([HAVE_ZLIB], [test "x$have_zlib" = "xyes"])
# Set conditional for sqlite3
AM_CONDITIONAL([HAVE_SQLITE3], [test "x$have_sqlite3" = "xyes"])
# Set conditional for libssh2
AM_CONDITIONAL([HAVE_LIBSSH2], [test "x$have_libssh2" = "xyes"])
AC_SEARCH_LIBS([clock_gettime], [rt])
case "$host" in
......@@ -758,10 +768,12 @@ AC_CHECK_FUNCS([__argz_count \
AC_MSG_CHECKING([for getrandom linux syscall interface])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <sys/syscall.h>
#include <linux/random.h>
]],
[[
int x = GRND_NONBLOCK;
int y = (int)SYS_getrandom;
]])],
[have_getrandom_interface=yes
AC_DEFINE([HAVE_GETRANDOM_INTERFACE], [1], [Define to 1 if getrandom linux syscall interface is available.])],
......@@ -1060,6 +1072,7 @@ echo "LibXML2: $have_libxml2"
echo "LibExpat: $have_libexpat"
echo "LibCares: $have_libcares"
echo "Zlib: $have_zlib"
echo "Libssh2: $have_libssh2"
echo "Epoll: $have_epoll"
echo "Bittorrent: $enable_bittorrent"
echo "Metalink: $enable_metalink"
......
......@@ -181,14 +181,12 @@ am__relativize = \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
A2X = @A2X@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARIA2_STATIC = @ARIA2_STATIC@
ASCIIDOC = @ASCIIDOC@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
......@@ -247,6 +245,8 @@ LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBSSH2_CFLAGS = @LIBSSH2_CFLAGS@
LIBSSH2_LIBS = @LIBSSH2_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
......
......@@ -216,14 +216,12 @@ am__relativize = \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
A2X = @A2X@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARIA2_STATIC = @ARIA2_STATIC@
ASCIIDOC = @ASCIIDOC@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
......@@ -282,6 +280,8 @@ LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBSSH2_CFLAGS = @LIBSSH2_CFLAGS@
LIBSSH2_LIBS = @LIBSSH2_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
......
......@@ -70,7 +70,7 @@ _aria2c()
esac
case $cur in
-*)
COMPREPLY=( $( compgen -W '--rpc-save-upload-metadata --rpc-save-upload-metadata=false --on-download-start --metalink-language --rpc-secret --torrent-file --enable-peer-exchange --enable-peer-exchange=false --http-proxy-passwd --bt-tracker-timeout --ftp-type --seed-time --bt-tracker-connect-timeout --bt-max-open-files --no-netrc --no-netrc=false --force-sequential --force-sequential=false --metalink-base-uri --private-key --ftp-passwd --allow-overwrite --allow-overwrite=false --rpc-allow-origin-all --rpc-allow-origin-all=false --bt-detach-seed-only --bt-detach-seed-only=false --summary-interval --lowest-speed-limit --bt-tracker-interval --proxy-method --metalink-preferred-protocol --enable-http-keep-alive --enable-http-keep-alive=false --metalink-version --bt-lpd-interface --force-save --force-save=false --rpc-secure --rpc-secure=false --listen-port --rpc-private-key --server-stat-of --server-stat-timeout --https-proxy-user --piece-length --dry-run --dry-run=false --truncate-console-readout --truncate-console-readout=false --async-dns-server --bt-max-peers --max-overall-upload-limit --rpc-user --dht-entry-point6 --dir --split --on-download-pause --auto-file-renaming --auto-file-renaming=false --http-proxy --save-session-interval --daemon --daemon=false --https-proxy --min-tls-version --save-cookies --out --rlimit-nofile --max-file-not-found --on-download-stop --certificate --bt-min-crypto-level --remove-control-file --remove-control-file=false --enable-dht --enable-dht=false --file-allocation --follow-metalink --on-bt-download-complete --ftp-proxy --show-files --show-files=false --timeout --bt-hash-check-seed --bt-hash-check-seed=false --ftp-pasv --ftp-pasv=false --check-certificate --check-certificate=false --always-resume --always-resume=false --load-cookies --bt-remove-unselected-file --bt-remove-unselected-file=false --bt-stop-timeout --version --max-concurrent-downloads --quiet --quiet=false --max-download-result --max-resume-failure-tries --header --rpc-listen-all --rpc-listen-all=false --all-proxy-user --server-stat-if --dht-file-path6 --save-session --bt-external-ip --max-tries --conditional-get --conditional-get=false --ftp-reuse-connection --ftp-reuse-connection=false --gid --dscp --max-download-limit --bt-prioritize-piece --check-integrity --check-integrity=false --log-level --remote-time --remote-time=false --uri-selector --rpc-listen-port --index-out --bt-tracker --referer --console-log-level --connect-timeout --stream-piece-selector --dht-message-timeout --select-file --download-result --disable-ipv6 --disable-ipv6=false --rpc-max-request-size --rpc-passwd --stop-with-process --https-proxy-passwd --continue --continue=false --no-file-allocation-limit --ftp-proxy-user --enable-color --enable-color=false --metalink-location --allow-piece-length-change --allow-piece-length-change=false --max-connection-per-server --no-conf --no-conf=false --rpc-certificate --metalink-os --enable-http-pipelining --enable-http-pipelining=false --http-passwd --user-agent --enable-dht6 --enable-dht6=false --dht-file-path --http-auth-challenge --http-auth-challenge=false --peer-id-prefix --enable-mmap --enable-mmap=false --use-head --use-head=false --bt-require-crypto --bt-require-crypto=false --show-console-readout --show-console-readout=false --conf-path --log --no-proxy --dht-entry-point --dht-listen-port --http-user --retry-wait --on-download-complete --help --help=#basic --help=#advanced --help=#http --help=#https --help=#ftp --help=#metalink --help=#bittorrent --help=#cookie --help=#hook --help=#file --help=#rpc --help=#checksum --help=#experimental --help=#deprecated --help=#help --help=#all --max-overall-download-limit --event-poll --http-accept-gzip --http-accept-gzip=false --metalink-file --all-proxy --disk-cache --hash-check-only --hash-check-only=false --dht-listen-addr6 --human-readable --human-readable=false --ftp-user --all-proxy-passwd --bt-exclude-tracker --pause-metadata --pause-metadata=false --http-proxy-user --deferred-input --deferred-input=false --metalink-enable-unique-protocol --metalink-enable-unique-protocol=false --stop --max-upload-limit --realtime-chunk-checksum --realtime-chunk-checksum=false --http-no-cache --http-no-cache=false --ca-certificate --bt-force-encryption --bt-force-encryption=false --bt-save-metadata --bt-save-metadata=false --seed-ratio --follow-torrent --pause --pause=false --checksum --auto-save-interval --async-dns --async-dns=false --bt-enable-lpd --bt-enable-lpd=false --parameterized-uri --parameterized-uri=false --ftp-proxy-passwd --enable-rpc --enable-rpc=false --min-split-size --bt-seed-unverified --bt-seed-unverified=false --input-file --interface --enable-async-dns6 --enable-async-dns6=false --reuse-uri --reuse-uri=false --bt-request-peer-speed-limit --on-download-error --bt-metadata-only --bt-metadata-only=false ' -- "$cur" ) )
COMPREPLY=( $( compgen -W '--rpc-save-upload-metadata --rpc-save-upload-metadata=false --on-download-start --metalink-language --rpc-secret --torrent-file --enable-peer-exchange --enable-peer-exchange=false --http-proxy-passwd --bt-tracker-timeout --ftp-type --seed-time --bt-tracker-connect-timeout --bt-max-open-files --no-netrc --no-netrc=false --force-sequential --force-sequential=false --metalink-base-uri --private-key --ftp-passwd --allow-overwrite --allow-overwrite=false --rpc-allow-origin-all --rpc-allow-origin-all=false --bt-detach-seed-only --bt-detach-seed-only=false --summary-interval --lowest-speed-limit --bt-tracker-interval --proxy-method --metalink-preferred-protocol --enable-http-keep-alive --enable-http-keep-alive=false --metalink-version --bt-lpd-interface --force-save --force-save=false --rpc-secure --rpc-secure=false --listen-port --rpc-private-key --server-stat-of --server-stat-timeout --https-proxy-user --piece-length --dry-run --dry-run=false --truncate-console-readout --truncate-console-readout=false --async-dns-server --bt-max-peers --max-overall-upload-limit --rpc-user --dht-entry-point6 --dir --split --on-download-pause --auto-file-renaming --auto-file-renaming=false --http-proxy --save-session-interval --daemon --daemon=false --https-proxy --min-tls-version --save-cookies --out --rlimit-nofile --max-file-not-found --on-download-stop --certificate --bt-min-crypto-level --remove-control-file --remove-control-file=false --enable-dht --enable-dht=false --file-allocation --follow-metalink --on-bt-download-complete --ftp-proxy --show-files --show-files=false --timeout --bt-hash-check-seed --bt-hash-check-seed=false --ftp-pasv --ftp-pasv=false --check-certificate --check-certificate=false --always-resume --always-resume=false --load-cookies --bt-remove-unselected-file --bt-remove-unselected-file=false --bt-stop-timeout --version --max-concurrent-downloads --quiet --quiet=false --max-download-result --max-resume-failure-tries --header --rpc-listen-all --rpc-listen-all=false --all-proxy-user --server-stat-if --dht-file-path6 --save-session --bt-external-ip --max-tries --conditional-get --conditional-get=false --ftp-reuse-connection --ftp-reuse-connection=false --gid --dscp --max-download-limit --bt-prioritize-piece --check-integrity --check-integrity=false --log-level --remote-time --remote-time=false --uri-selector --rpc-listen-port --index-out --bt-tracker --referer --ssh-host-key-md --console-log-level --connect-timeout --stream-piece-selector --dht-message-timeout --select-file --download-result --disable-ipv6 --disable-ipv6=false --rpc-max-request-size --rpc-passwd --stop-with-process --https-proxy-passwd --continue --continue=false --no-file-allocation-limit --netrc-path --ftp-proxy-user --enable-color --enable-color=false --metalink-location --allow-piece-length-change --allow-piece-length-change=false --max-connection-per-server --no-conf --no-conf=false --rpc-certificate --metalink-os --enable-http-pipelining --enable-http-pipelining=false --http-passwd --user-agent --enable-dht6 --enable-dht6=false --dht-file-path --http-auth-challenge --http-auth-challenge=false --peer-id-prefix --enable-mmap --enable-mmap=false --use-head --use-head=false --bt-require-crypto --bt-require-crypto=false --show-console-readout --show-console-readout=false --conf-path --log --no-proxy --dht-entry-point --dht-listen-port --http-user --retry-wait --on-download-complete --help --help=#basic --help=#advanced --help=#http --help=#https --help=#ftp --help=#metalink --help=#bittorrent --help=#cookie --help=#hook --help=#file --help=#rpc --help=#checksum --help=#experimental --help=#deprecated --help=#help --help=#all --max-overall-download-limit --event-poll --http-accept-gzip --http-accept-gzip=false --metalink-file --all-proxy --disk-cache --hash-check-only --hash-check-only=false --dht-listen-addr6 --human-readable --human-readable=false --ftp-user --all-proxy-passwd --bt-exclude-tracker --pause-metadata --pause-metadata=false --http-proxy-user --deferred-input --deferred-input=false --metalink-enable-unique-protocol --metalink-enable-unique-protocol=false --stop --max-upload-limit --multiple-interface --realtime-chunk-checksum --realtime-chunk-checksum=false --http-no-cache --http-no-cache=false --ca-certificate --bt-force-encryption --bt-force-encryption=false --bt-save-metadata --bt-save-metadata=false --seed-ratio --follow-torrent --pause --pause=false --checksum --auto-save-interval --async-dns --async-dns=false --bt-enable-lpd --bt-enable-lpd=false --parameterized-uri --parameterized-uri=false --ftp-proxy-passwd --enable-rpc --enable-rpc=false --min-split-size --bt-seed-unverified --bt-seed-unverified=false --input-file --interface --enable-async-dns6 --enable-async-dns6=false --reuse-uri --reuse-uri=false --bt-request-peer-speed-limit --on-download-error --bt-metadata-only --bt-metadata-only=false ' -- "$cur" ) )
;;
*)
_filedir '@(torrent|meta4|metalink|text|txt|list|lst)'
......
......@@ -181,14 +181,12 @@ am__relativize = \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
A2X = @A2X@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARIA2_STATIC = @ARIA2_STATIC@
ASCIIDOC = @ASCIIDOC@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
......@@ -247,6 +245,8 @@ LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBSSH2_CFLAGS = @LIBSSH2_CFLAGS@
LIBSSH2_LIBS = @LIBSSH2_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
......
......@@ -153,14 +153,12 @@ NROFF = nroff
MANS = $(man_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
A2X = @A2X@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARIA2_STATIC = @ARIA2_STATIC@
ASCIIDOC = @ASCIIDOC@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
......@@ -219,6 +217,8 @@ LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBSSH2_CFLAGS = @LIBSSH2_CFLAGS@
LIBSSH2_LIBS = @LIBSSH2_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
......
This diff is collapsed.
......@@ -9,17 +9,22 @@ DESCRIPTION
-----------
aria2 is a utility for downloading files. The supported protocols are
HTTP(S), FTP, BitTorrent, and Metalink. aria2 can download a file from
multiple sources/protocols and tries to utilize your maximum download
bandwidth. It supports downloading a file from HTTP(S)/FTP and
BitTorrent at the same time, while the data downloaded from
HTTP(S)/FTP is uploaded to the BitTorrent swarm. Using Metalink
HTTP(S), FTP, SFTP, BitTorrent, and Metalink. aria2 can download a
file from multiple sources/protocols and tries to utilize your maximum
download bandwidth. It supports downloading a file from HTTP(S)/FTP
/SFTP and BitTorrent at the same time, while the data downloaded from
HTTP(S)/FTP/SFTP is uploaded to the BitTorrent swarm. Using Metalink
chunk checksums, aria2 automatically validates chunks of data while
downloading a file.
OPTIONS
-------
.. note::
Most FTP related options are applicable to SFTP as well.
Some options are not effective against SFTP (e.g., :option:`--ftp-pasv`)
Basic Options
~~~~~~~~~~~~~
.. option:: -d, --dir=<DIR>
......@@ -84,8 +89,9 @@ Basic Options
``#checksum``, ``#experimental``, ``#deprecated``, ``#help``, ``#all``
Default: ``#basic``
HTTP/FTP Options
~~~~~~~~~~~~~~~~
HTTP/FTP/SFTP Options
~~~~~~~~~~~~~~~~~~~~~
.. option:: --all-proxy=<PROXY>
Use a proxy server for all protocols. To override a previously
......@@ -184,6 +190,17 @@ HTTP/FTP Options
1 source. You can append ``K`` or ``M`` (1K = 1024, 1M = 1024K).
Possible Values: ``1M`` -``1024M`` Default: ``20M``
.. option:: --netrc-path=<FILE>
Specify the path to the netrc file.
Default: ``$(HOME)/.netrc``
.. note::
Permission of the .netrc file must be 600. Otherwise, the file
will be ignored.
.. option:: -n, --no-netrc[=true|false]
Disables netrc support. netrc support is enabled by default.
......@@ -520,8 +537,8 @@ HTTP Specific Options
Set user agent for HTTP(S) downloads.
Default: ``aria2/$VERSION``, $VERSION is replaced by package version.
FTP Specific Options
~~~~~~~~~~~~~~~~~~~~