ARIA2C(1)
=========
Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
:doctype: manpage
:man source: Aria2
:man manual: Руководство по Aria2
:man version: 1.14.1

НАЗВАНИЕ
--------
aria2c - сверхбыстрая утилита загрузки

ОБЗОР
-----
aria2c ['ПАРАМЕТРЫ'] ['URI' | 'MAGNET-ССЫЛКА' | 'TORRENT-ФАЙЛ' |
'METALINK-ФАЙЛ']...

ОПИСАНИЕ
--------

aria2 - это утилита для загрузки файлов. Поддерживаемые протоколы: HTTP(S),
FTP, BitTorrent и Metalink. Для загрузки файла, aria2 может использовать
разные источники/протоколы и пытается максимально использовать пропускной
способности канала. Есть поддержка загрузки файла по протоколам HTTP(S)/FTP
и BitTorrent одновременно, пока данные загружаются по HTTP(S)/FTP, они тут
же могут выгружаться в BitTorrent-рой. Используя контрольные суммы блока
данных для Metalink, aria2 автоматически проверяет части данных, которые
загружаются по BitTorrent.

ПАРАМЕТРЫ
---------

Основные параметры
~~~~~~~~~~~~~~~~~~
[[aria2_optref_dir]]*-d*, *--dir*=DIR::
  Каталог для сохранения скачанных файлов.

[[aria2_optref_input_file]]*-i*, *--input-file*=FILE::
  Загрузить URI, найденные в файле FILE. Вы можете указать несколько URI для одного
  объекта: отделяйте URI на одной строке, используя символ TAB (табуляция). Читается
  ввод из stdin (стандартный поток ввода), когда указано '-'. Дополнительные
  параметры можно указывать после каждой строки с URI. Эта необязательная строка
  должна начинаться с одного или нескольких пробелов и содержать один параметр.
  Смотрите подраздел *<<_входной_файл, Входной файл>>* для детальных пояснений.

[[aria2_optref_log]]*-l*, *--log*=LOG::
  Имя файла для журнала событий. Если указан '-', то журнал событий будет
  записан в stdout (стандартный поток вывода). Если указана пустая
  строка (""), то журнал событий не будет записан в файл.

[[aria2_optref_max_concurrent_downloads]]*-j*, *--max-concurrent-downloads*=N::
  Задать максимальное количество параллельных загрузок для каждого
  статического (HTTP/FTP) URI, torrent и metalink. Смотрите также
  параметр *<<aria2_optref_split, -s>>*.
  По умолчанию: '5'

[[aria2_optref_check_integrity]]*-V*, *--check-integrity*[='true'|'false']::

  Проверить целостность файла путем подтверждения хэшей блоков или хэша
  полного файла. Этот параметр влияет лишь на BitTorrent, Metalink
  или HTTP(S)/FTP загрузки с параметром *<<aria2_optref_checksum, --checksum>>*.
  Параметр может обнаружить поврежденные части файла и перезагрузить их.
  Если есть хэш полного файла, то проверка выполняется только, когда файл
  уже полностью загружен. Момент полной загрузки определяется по размеру файла. Если
  проверка хэша завершилась неудачно, то файл будет перезагружен с
  нуля. Если есть хэши блоков и хэш полного файла, то будут
  использоваться только хэши блоков.
  По умолчанию: 'false'

[[aria2_optref_continue]]*-c*, *--continue*[='true'|'false']::
  Продолжить загрузку частично загруженного файла.
  Используйте этот параметр, чтобы  возобновить загрузку,
  начатую в веб-браузере или в другой программе, которая загружает
  файлы последовательно сначала. Сейчас этот параметр можно
  использовать только для HTTP(S)/FTP-загрузок.
  По умолчанию: 'false'

[[aria2_optref_help]]*-h*, *--help*[=TAG|KEYWORD]::

  Справочное сообщение определяется метками (TAG). Метки начинаются
  с "#". Например, "--help=#http" даст справку по параметрам,
  помеченным меткой "#http". Если задано слово (KEYWORD), не
  являющееся меткой, то будет выведена справка по параметрам,
  содержащих это слово. Возможные значения: '#basic', '#advanced',
  '#http', '#https', '#ftp', '#metalink', '#bittorrent', '#cookie',
  '#hook', '#file', '#rpc', '#checksum', '#experimental',
  '#deprecated', '#help', '#all'.
  По умолчанию: '#basic'

Параметры HTTP/FTP
~~~~~~~~~~~~~~~~~~
[[aria2_optref_all_proxy]]*--all-proxy*=PROXY::

  Использовать указанный прокси-сервер для всех протоколов. Для стирания
  ранее определенного адреса используйте "".  Вы можете отменить эту
  установку и указать прокси-сервер для отдельного протокола, используя
  параметры *<<aria2_optref_http_proxy, --http-proxy>>*,
  *<<aria2_optref_https_proxy, --https-proxy>>* и
  *<<aria2_optref_ftp_proxy, --ftp-proxy>>*. Влияет на все URI.
  Формат PROXY - [\\http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ].
  Смотрите также раздел *<<_окружение, ОКРУЖЕНИЕ>>*.

[NOTE]

Если пользователь и пароль вставлены в URI-прокси и они также указаны в
параметрах *--{http,https,ftp,all}-proxy-{user,passwd}*, то приоритетным
будет самое последнее. Например, у вас http-proxy-user="myname",
http-proxy-passwd="mypass" в aria2.conf и вы указали
--http-proxy="http://proxy" в командной строке, тогда запрос к HTTP-прокси
"http://proxy" будет с пользователем "myname" и паролем "mypass". Другой
пример: если вы указали в командной строке
--http-proxy="http://user:pass@proxy" --http-proxy-user="myname"
--http-proxy-passwd="mypass", тогда запрос к HTTP-прокси "http://proxy"
будет с пользователем "myname" и паролем "mypass". Еще один пример: если вы
указали в командной строке --http-proxy-user="myname"
--http-proxy-passwd="mypass" --http-proxy="http://user:pass@proxy", тогда
запрос к HTTP-прокси "http://proxy" будет с пользователем "user" и паролем
"pass".

[[aria2_optref_all_proxy_passwd]]*--all-proxy-passwd*=PASSWD::

  Задать пароль для параметра *<<aria2_optref_all_proxy, --all-proxy>>*.

[[aria2_optref_all_proxy_user]]*--all-proxy-user*=USER::

  Задать пользователя для параметра *<<aria2_optref_all_proxy, --all-proxy>>*.

[[aria2_optref_checksum]]*--checksum*=TYPE=DIGEST::

  Задать контрольную сумму. TYPE - тип хэша. Поддерживаемые типы хэшей
  перечислены в "Алгоритмы хэширования" при "aria2c -v".
  DIGEST - шестнадцатеричное значение хэша.  Например, указание значения
  sha-1 хэша выглядит так:
  sha-1=0192ba11326fe2298c8cb4de616f4d4140213838
  Этот параметр применим только к HTTP(S)/FTP загрузкам.

[[aria2_optref_connect_timeout]]*--connect-timeout*=SEC::
  Задать в соединении время ожидания в секундах для установки
  подключения к HTTP/FTP/прокси-серверу. После установки
  подключения этот параметр не имеет значения, и вместо него
  используется параметр *<<aria2_optref_timeout, --timeout>>*.
  По умолчанию: '60'

[[aria2_optref_dry_run]]*--dry-run*[='true'|'false']::
  Если задано 'true', aria2 только проверяет, является ли удаленный
  файл доступным и не загружает данные. Этот параметр влияет на
  HTTP/FTP-загрузку. BitTorrent-загрузки отменяются, если указано
  'true'.
  По умолчанию: 'false'

[[aria2_optref_lowest_speed_limit]]*--lowest-speed-limit*=SPEED::
  Закрывать соединение, если скорость загрузки меньше чем или равна
  значению SPEED (байт в секунду). '0' означает, что aria2 не имеет
  нижнего ограничения скорости. Вы можете добавить 'K' или 'M'
  (1K = 1024, 1M = 1024K). Этот параметр не влияет на
  BitTorrent-загрузки.
  По умолчанию: '0'

[[aria2_optref_max_connection_per_server]]*-x*,
*--max-connection-per-server*=NUM::

  Максимально количество соединений с одним сервером для каждой
  загрузки.
  По умолчанию: '1'

[[aria2_optref_max_file_not_found]]*--max-file-not-found*=NUM::
  Если aria2 получает статус "file not found" (файл не найден) с
  удаленных HTTP/FTP-серверов NUM раз без получения, хотя бы одного байта,
  тогда принудительно отказывается от загрузки. Укажите '0', чтобы
  отключить этот параметр. Этот параметр действенен только, когда
  используются HTTP/FTP-серверы.
  По умолчанию: '0'

[[aria2_optref_max_tries]]*-m*, *--max-tries*=N::
  Задать количество попыток. '0' означает неограниченно.
  Смотрите также *<<aria2_optref_retry_wait, --retry-wait>>*.
  По умолчанию: '5'

[[aria2_optref_min_split_size]]*-k*, *--min-split-size*=SIZE::

  aria2 не разбивает на части меньше чем 2*SIZE байт. Например,
  нужно загрузить файл размером 20МиБ. Если SIZE задать 10M, то
  aria2 может разбить файл на части в 2-ух диапазонах [0-10МиБ) и
  [10МиБ-20МиБ) и загрузить его, используя 2 источника
  (если *<<aria2_optref_split, --split>>* >= 2, конечно же).
  Если SIZE задать 15M, т.к. 2*15M > 20MiB, aria2 не разобьет файл
  на части и загрузит его, используя 1 источник. Вы можете
  добавить 'K' или 'M'(1K = 1024, 1M = 1024K). Возможные значения:
  '1M'-'1024M'.
  По умолчанию: '20M'

[[aria2_optref_no_netrc]]*-n*, *--no-netrc*[='true'|'false']::
  Отключить поддержку netrc. Поддержка netrc по умолчанию
  включена.

[NOTE]

Файл netrc считывается только при запуске, если *<<aria2_optref_no_netrc,
--no-netrc>>* задан как 'false'. Так что если *<<aria2_optref_no_netrc,
--no-netrc>>* задан как 'true' при загрузке, то netrc недоступен на
протяжении всей сессии. Вы не сможете получить доступ к netrc, даже если
отправите *<<aria2_optref_no_netrc, --no-netrc>>*='false', используя
*<<aria2_rpc_aria2_changeGlobalOption, aria2.changeGlobalOption>>*.

[[aria2_optref_no_proxy]]*--no-proxy*=DOMAINS::
  Укажите через запятую имена хостов, домены и сетевые адреса
  с CIDR-блоком, или без него, для которых не будет использоваться прокси.

[NOTE]
CIDR-блок (метод IP-адресации, например 192.168.0.20/24) работает с IPv4- и
IPv6-адресами. Текущая реализация не разрешает имена хостов в URI для
сравнения сетевых адресов указанных в *<<aria2_optref_no_proxy,
--no-proxy>>*. Таким образом, это эффективно, только если в URI есть
IP-адреса.

[[aria2_optref_out]]*-o*, *--out*=FILE::

  Сохранить загруженный файл под указанным именем. Если используется
  параметр *<<aria2_optref_force_sequential, -Z>>*, то данный параметр
  игнорируется.

[NOTE]
В Metalink или BitTorrent загрузках вы не можете указать имя файла. Имя
файла указывается здесь, только когда используются URI и aria2 с командной
строкой без параметров *<<aria2_optref_input_file, -i>>*,
*<<aria2_optref_force_sequential, -Z>>*. Например: aria2c -o myfile.zip
"http://mirror1/file.zip" "http://mirror2/file.zip"

[[aria2_optref_proxy_method]]*--proxy-method*=METHOD::
  Задать метод для использования в прокси-запросах. 'METHOD' один
  из двух: 'get' или 'tunnel'. HTTPS-загрузки всегда используют 'tunnel',
  не обращая внимания на этот параметр.
  По умолчанию: 'get'

[[aria2_optref_remote_time]]*-R*, *--remote-time*[='true'|'false']::
  Извлекать временную метку файла с удаленного HTTP/FTP-сервера и,
  если это доступно, применить ее к локальному файлу.
  По умолчанию: 'false'

[[aria2_optref_reuse_uri]]*--reuse-uri*[='true'|'false']::

  Повторно использовать уже использованные URI, если
  не осталось неиспользованных URI.
  По умолчанию: 'true'

[[aria2_optref_retry_wait]]*--retry-wait*=SEC::

  Задать в секундах интервал ожидания между повторными попытками.
  При SEC > 0, если HTTP-сервер возвращает ответ 503, aria2 будет
  снова пытаться загрузить.
  По умолчанию: '0'

[[aria2_optref_server_stat_of]]*--server-stat-of*=FILE::

  Указать имя файла, в который сохраняется профиль функционирования
  сервера. Вы можете загрузить сохраненные данные, используя параметр
  *<<aria2_optref_server_stat_if, --server-stat-if>>*. Формат файла
  смотрите ниже в подразделе
  *<<_профиль_функционирования_сервера, Профиль функционирования сервера>>*.

[[aria2_optref_server_stat_if]]*--server-stat-if*=FILE::

  Указать имя файла для загрузки профиля функционирования сервера.
  Загруженные данные будут использованы в некоторых URI селекторах, таких
  как 'feedback'. Смотрите также параметр
  *<<aria2_optref_uri_selector, --uri-selector>>*. Формат файла смотрите
  ниже в подразделе
  *<<_профиль_функционирования_сервера, Профиль функционирования сервера>>*.

[[aria2_optref_server_stat_timeout]]*--server-stat-timeout*=SEC::
  Указывает время ожидания в секундах, для того, чтобы сделать
  недействительным профиль функционирования сервера, с тех пор,
  как состоялся последний контакт с ним.
  По умолчанию: '86400' (24 часа)

[[aria2_optref_split]]*-s*, *--split*=N::

  Загружать файл, используя N соединений. Если задано более чем N URI,
  будут использоваться первые N URI, а оставшиеся URI будут в резерве.
  Если задано менее чем N URI, то URI будут использованы более одного раза,
  так чтобы были задействованы все N соединений одновременно. Количество
  соединений к одному и тому же хосту ограничивается параметром
  *<<aria2_optref_max_connection_per_server, --max-connection-per-server>>*.
  Смотрите также параметр *<<aria2_optref_min_split_size, --min-split-size>>*.
  По умолчанию: '5'

[NOTE]

Некоторые Metalink регламентируют количество серверов для соединения. aria2
строго придерживается этого. Это значит, что если Metalink определяет
атрибут maxconnections меньше чем N, то aria2 использует значение атрибута
maxconnections вместо N.

[[aria2_optref_stream_piece_selector]]*--stream-piece-selector*=SELECTOR::

  Указать алгоритм выбора блока, который используется в HTTP/FTP-загрузке.
  Блок - означает сегмент фиксированной длины, который загружается
  параллельно, в  разделенной на части, загрузке. Если задано 'default',
  то aria2 выберет блок так, чтобы это уменьшило количество установленных
  подключений. Это разумное поведение по умолчанию, поскольку установка
  подключения очень затратная операция. Если задано 'inorder', то aria2
  выберет блок, который имеет минимальный индекс. Index=0 означает первый
  из файла. Это будет полезно при просмотре фильма, в то время как он
  загружается.  Параметр
  *<<aria2_optref_enable_http_pipelining, --enable-http-pipelining>>* может
  быть полезен для снижения накладных расходов при повторном подключении.
  Обратите внимание, что aria2 принимает на обработку параметр
  *<<aria2_optref_min_split_size, --min-split-size>>*, так что необходимо
  будет указать разумное значение параметра
  *<<aria2_optref_min_split_size, --min-split-size>>*.
  Если задано 'geom', то aria2 вначале выберет блок с минимальным
  индексом, как при 'inorder', однако она сохранит
  экспоненциально большую область от ранее выбранного блока.
  Это уменьшит количество установленных подключений и в то же
  время это позволит в первую очередь загрузить начало файла.
  Это будет полезно при просмотре фильма, в то время как он
  загружается.
  По умолчанию: 'default'

[[aria2_optref_timeout]]*-t*, *--timeout*=SEC::
  Задать время ожидания в секундах.
  По умолчанию: '60'

[[aria2_optref_uri_selector]]*--uri-selector*=SELECTOR::
  Указать алгоритм выбора URI. Возможные значения: 'inorder', 'feedback'
  и 'adaptive'. Если задано 'inorder', то URI проверяются в порядке
  представления в списке URI. Если задано 'feedback', aria2 использует
  скорость загрузки, которая наблюдалась в предыдущих загрузках, и выбирает
  самый быстрый сервер в списке URI. Это также эффективно исключает мертвые
  зеркала. Наблюдаемая скорость загрузки является частью профиля
  функционирования сервера, упомянутой в параметрах
  *<<aria2_optref_server_stat_of, --server-stat-of>>* и
  *<<aria2_optref_server_stat_if, --server-stat-if>>*. Если задано 'adaptive',
  выбирается одно из лучших зеркал для первого и резервного соединений.
  Дополнительно, возвращаются зеркала, которые пока не были проверены, и,
  если каждое из них уже проверено, возвращаются зеркала, которые должны
  быть проверены снова. Иначе зеркала больше не выбираются.
  Подобно 'feedback', используются профиль функционирования сервера.
  По умолчанию: 'feedback'

Специфические параметры HTTP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[aria2_optref_ca_certificate]]*--ca-certificate*=FILE::
  Использовать сертификат авторизации в FILE для проверки узлов.
  Сертификат должен быть в PEM-формате и содержать многоразовые
  CA-сертификаты. Используйте параметр
  *<<aria2_optref_check_certificate, --check-certificate>>*, чтобы
  разрешить проверку.

[[aria2_optref_certificate]]*--certificate*=FILE::
  Использовать клиентский сертификат в FILE. Сертификат
  должен быть в PEM-формате. Вы можете использовать
  параметр *<<aria2_optref_private_key, --private-key>>*,
  чтобы указать закрытый ключ.

[[aria2_optref_check_certificate]]*--check-certificate*[='true'|'false']::
  Проверять каждый из используемых сертификатов, которые
  указаны в параметре *<<aria2_optref_ca_certificate, --ca-certificate>>*.
  По умолчанию: 'true'

[[aria2_optref_http_accept_gzip]]*--http-accept-gzip*[='true'|'false']::

  Посылать "Accept: deflate, gzip" в запросе-заголовке и добавлять в ответ,
  если удаленный сервер ответит "Content-Encoding: gzip" или
  "Content-Encoding: deflate".
  По умолчанию: 'false

[NOTE]

Некоторые серверы отвечают "Content-Encoding: gzip" для файлов, которые сами
по себе сжаты (gzipped). aria2 добавляет их, так или иначе, из-за заголовка
ответа.

[[aria2_optref_http_auth_challenge]]*--http-auth-challenge*[='true'|'false']::
  Отправлять заголовок HTTP-авторизации только тогда, когда он запрошен
  с сервера. Если задано 'false', тогда заголовок авторизации всегда
  отправляется на сервер. Существует исключение: если имя пользователя
  и пароль являются встроенными в URI, то заголовок авторизации всегда
  отправляется на сервер, независимо от этого параметра.
  По умолчанию: 'false'

[[aria2_optref_http_no_cache]]*--http-no-cache*[='true'|'false']::

  Отправлять заголовок Cache-Control: no-cache и Pragma: no-cache,
  чтобы избежать кэширования содержимого. Если задано 'false', то эти
  заголовки не посылаются, и вы можете добавить любую директиву к
  заголовку Cache-Control с помощью параметра
  *<<aria2_optref_header, --header>>*.
  По умолчанию: 'true'

[[aria2_optref_http_user]]*--http-user*=USER::
  Задать пользователя для HTTP. Влияет на все URI.

[[aria2_optref_http_passwd]]*--http-passwd*=PASSWD::
  Задать пароль для HTTP. Влияет на все URI.

[[aria2_optref_http_proxy]]*--http-proxy*=PROXY::

  Использовать указанный прокси-сервер для HTTP. Ранее указанный адрес
  можно стереть, указав "". Смотрите также параметр
  *<<aria2_optref_all_proxy, --all-proxy>>*. Влияет на все URI.
  Формат PROXY - [\\http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ].

[[aria2_optref_http_proxy_passwd]]*--http-proxy-passwd*=PASSWD::

  Задать пароль для параметра *<<aria2_optref_http_proxy, --http-proxy>>*.

[[aria2_optref_http_proxy_user]]*--http-proxy-user*=USER::

  Задать пользователя для параметра *<<aria2_optref_http_proxy, --http-proxy>>*.

[[aria2_optref_https_proxy]]*--https-proxy*=PROXY::

  Использовать указанный прокси-сервер для HTTPS. Ранее указанный
  адрес можно стереть, указав "". Смотрите также параметр
  *<<aria2_optref_all_proxy, --all-proxy>>*. Влияет на все URI.
  Формат PROXY - [\\http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ].

[[aria2_optref_https_proxy_passwd]]*--https-proxy-passwd*=PASSWD::

  Задать пароль для параметра *<<aria2_optref_https_proxy, --https-proxy>>*.

[[aria2_optref_https_proxy_user]]*--https-proxy-user*=USER::

  Задать пользователя для параметра *<<aria2_optref_https_proxy, --https-proxy>>*.

[[aria2_optref_private_key]]*--private-key*=FILE::
  Использовать закрытый ключ в FILE. Закрытый ключ должен
  быть дешифрованным и в PEM-формате. Режим работы с исходно
  зашифрованным закрытым ключом не определен. Смотрите также
  параметр *<<aria2_optref_certificate, --certificate>>*.

[[aria2_optref_referer]]*--referer*=REFERER::
  Задать источника запроса. Влияет на все URI.

[[aria2_optref_enable_http_keep_alive]]*--enable-http-keep-alive*[='true'|'false']::
  Включить HTTP/1.1 постоянное соединение.
  По умолчанию: 'true'

[[aria2_optref_enable_http_pipelining]]*--enable-http-pipelining*[='true'|'false']::
  Включить конвейерную обработку HTTP/1.1.
  По умолчанию: 'false'

[NOTE]

С точки зрения производительности, как правило, нет преимущества от
включения этого параметра.

[[aria2_optref_header]]*--header*=HEADER::
  Добавлять HEADER к HTTP запросу-заголовку. Вы можете использовать
  этот параметр повторно, чтоб указать более одного заголовка:
  aria2c *<<aria2_optref_header, --header>>*="X-A: b78" *<<aria2_optref_header, --header>>*="X-B: 9J1" "http://host/file"

[[aria2_optref_load_cookies]]*--load-cookies*=FILE::

  Загружать куки-файл из FILE, используя форматы Firefox3 (SQLite3),
  Chromium/Google Chrome (SQLite3) и Mozilla/Firefox(1.x/2.x)/Netscape.

[NOTE]
Если aria2 собрана без libsqlite3, то форматы куки-файлов Firefox3 и
Chromium/Google Chrome не поддерживаются.

[[aria2_optref_save_cookies]]*--save-cookies*=FILE::

  Сохранить куки в FILE формате Mozilla/Firefox(1.x/2.x)/Netscape.
  Если FILE уже существует, то он будет перезаписан. Куки-сессия также
  сохранится, и значение ее окончания будет трактоваться как 0.
  Возможные значения: '/путь/к/файлу'

[[aria2_optref_use_head]]*--use-head*[='true'|'false']::
  Использовать метод HEAD для первого запроса к HTTP серверу.
  По умолчанию: 'false'


[[aria2_optref_user_agent]]*-U*, *--user-agent*=USER_AGENT::
  Задать клиентское приложение для HTTP(S)-загрузок.
  По умолчанию: 'aria2/$VERSION', $VERSION заменяется на версию пакета.

Специфические параметры FTP
~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[aria2_optref_ftp_user]]*--ftp-user*=USER::
  Задать пользователя для FTP.
  Влияет на все URI.
  По умолчанию: 'anonymous'

[[aria2_optref_ftp_passwd]]*--ftp-passwd*=PASSWD::
  Задать пароль для FTP. Влияет на все URI. Если имя пользователя
  встроено, но пароль отсутствует в URI, то aria2 пытается использовать
  пароль из .netrc. Если пароль найден в .netrc, то он используется.
  Если нет, используется пароль, указанный в этом параметре.
  По умолчанию: 'ARIA2USER@'

[[aria2_optref_ftp_pasv]]*-p*, *--ftp-pasv*[='true'|'false']::
  Использовать пассивный режим FTP. Если задано 'false',
  то будет использован активный режим.
  По умолчанию: 'true'

[[aria2_optref_ftp_proxy]]*--ftp-proxy*=PROXY::

  Использовать указанный прокси-сервер для FTP. Ранее указанный адрес
  можно стереть, указав "". Смотрите также параметр
  *<<aria2_optref_all_proxy, --all-proxy>>*. Влияет на все URI.
  Формат PROXY - [\\http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]

[[aria2_optref_ftp_proxy_passwd]]*--ftp-proxy-passwd*=PASSWD::

  Задать пароль для параметра *<<aria2_optref_ftp_proxy, --ftp-proxy>>*.

[[aria2_optref_ftp_proxy_user]]*--ftp-proxy-user*=USER::

  Задать пользователя для параметра *<<aria2_optref_ftp_proxy, --ftp-proxy>>*.

[[aria2_optref_ftp_type]]*--ftp-type*=TYPE::
  Задать тип передачи для FTP. TYPE может быть один из
  двух: 'binary' или 'ascii'.
  По умолчанию: 'binary'

[[aria2_optref_ftp_reuse_connection]]*--ftp-reuse-connection*[='true'|'false']::
  Повторно использовать FTP соединение.
  По умолчанию: 'true'

Параметры BitTorrent/Metalink
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[aria2_optref_select_file]]*--select-file*=INDEX...::
  Задать файл для загрузки по заданному индексу. Вы можете найти
  индекс файла, используя параметр *<<aria2_optref_show_files, --show-files>>*.
  Составной индекс можно указать, используя ",", например: '3,6'.
  Вы можете также использовать "-", чтобы указать диапазон: '1-5'.
  "," и "-" могут быть использованы вместе: '1-5,8,9'.
  Когда используется с параметром -M, индекс может сильно зависеть
  от запроса (смотрите параметры *--metalink-**).

[NOTE]
В многофайловом торренте, смежные файлы, указанные в этом параметре также
могут быть загружены. Это не ошибка, а особенность утилиты. Одиночный блок
данных может включать несколько файлов или часть файла, и aria2 запишет блок
данных соответствующего файла.

[[aria2_optref_show_files]]*-S*, *--show-files*[='true'|'false']::
  Вывести список файлов из .torrent, .meta4 или .metalink и
  выйти. Для файла .torrent будет выведена более детальная
  информация (информация по хэшу, размер блока и др.).

Специфические параметры BitTorrent
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[[aria2_optref_bt_enable_lpd]]*--bt-enable-lpd*[='true'|'false']::

  Включить поиск локальных пиров. Если в torrent-файле установлен
  приватный признак, то aria2 не будет использовать эту возможность,
  даже если задано 'true'.
  По умолчанию: 'false'

[[aria2_optref_bt_exclude_tracker]]*--bt-exclude-tracker*=URI[,...]::

  Разделенный запятыми список URI анонса BitTorrent-трекера,
  которые будут исключены. Вы можете использовать специальное
  значение "*", которое соответствует всем URI, таким образом,
  исключаются все URI анонса. При указании "*" в оболочке
  командной строке, не забывайте, экранировать или брать в кавычки.
  Смотрите также параметр *<<aria2_optref_bt_tracker, --bt-tracker>>*.

[[aria2_optref_bt_external_ip]]*--bt-external-ip*=IPADDRESS::
  Указать внешний IP-адрес BitTorrent-трекера для отчета.
  Не смотря на то, что эта функция названа "external" ("внешний"),
  она может принимать любой IP-адрес. IPADDRESS должен быть числовым
  IP-адресом.

[[aria2_optref_bt_hash_check_seed]]*--bt-hash-check-seed*[='true'|'false']::
  Если задано 'true', то после проверки хэша с использованием параметра
  *<<aria2_optref_check_integrity, --check-integrity>>*, и когда файл
  загружен полностью, продолжается раздача файла. Если вы хотите
  проверить файл и загрузить его только если он поврежден или не загружен
  полностью, то задайте этот параметр как 'false'. Этот параметр влияет
  лишь на BitTorrent-загрузки.
  По умолчанию: 'true'

[[aria2_optref_bt_lpd_interface]]*--bt-lpd-interface*=INTERFACE::

  Использовать для поиска локальных пиров заданный интерфейс. Если этот
  параметр не указан, используется интерфейс по умолчанию. Можно указать
  имя интерфейса и IP-адрес. Возможные значения: интерфейс, IP-адрес.

[[aria2_optref_bt_max_open_files]]*--bt-max-open-files*=NUM::
  Указать максимальное количество файлов для открытия в каждой
  BitTorrent-загрузке.
  По умолчанию: '100'

[[aria2_optref_bt_max_peers]]*--bt-max-peers*=NUM::
  Указать максимальное количество узлов для каждого торрента.
  '0' означает неограниченно. Смотрите также параметр
  *<<aria2_optref_bt_request_peer_speed_limit, --bt-request-peer-speed-limit>>*.
  По умолчанию: '55'

[[aria2_optref_bt_metadata_only]]*--bt-metadata-only*[='true'|'false']::

  Загрузить только метаданные. Файл(ы), описывающий метаданные не
  должен быть загружен. Этот параметр эффективен, только если
  используется BitTorrent Magnet-ссылка. Смотрите также параметр
  *<<aria2_optref_bt_save_metadata, --bt-save-metadata>>*.
  По умолчанию: 'false'

[[aria2_optref_bt_min_crypto_level]]*--bt-min-crypto-level*='plain'|'arc4'::
  Задать минимальный уровень метода шифрования. Если узел поддерживает
  несколько методов шифрования, aria2 выбирает наименьший, который
  удовлетворяет заданный уровень.
  По умолчанию: 'plain'

[[aria2_optref_bt_prioritize_piece]]*--bt-prioritize-piece*='head'[=SIZE],'tail'[=SIZE]::

  Пытаться загрузить сначала первую и последнюю части каждого файла.
  Это бывает полезно для предварительного просмотра файлов. Аргумент
  может содержать 2 ключевых слова: 'head' и 'tail'. Для включения
  обоих, необходимо разделить их запятой. Ключевые слова принимают
  один параметр, SIZE. Например, если указано 'head'=SIZE, части, в
  пределах первых SIZE байт каждого файла, получат повышенный
  приоритет. 'tail'=SIZE обозначает диапазон из последних SIZE байт
  каждого файла. SIZE может включать букву 'K' или 'M' для обозначения
  размера в килобайтах или мегабайтах, соответственно
  (1K = 1024, 1M = 1024K). Если SIZE пропущено, то будет использовано
  по умолчанию значение: SIZE=1M.

[[aria2_optref_bt_require_crypto]]*--bt-require-crypto*[='true'|'false']::
  Если задано 'true', aria2 не принимает и не устанавливает соединение с
  унаследованным BitTorrent handshake-сообщением (рукопожатие)
  (BitTorrent протокол). Таким образом, aria2 всегда использует обфускацию
  handshake-сообщения.
  По  умолчанию: 'false'

[[aria2_optref_bt_request_peer_speed_limit]]*--bt-request-peer-speed-limit*=SPEED::
  Если итоговая скорость загрузки каждого торрента, ниже чем SPEED,
  aria2 временно увеличивает количество узлов, пытаясь увеличить
  скорость загрузки. Настройка этого параметра с выбранной вами
  скоростью загрузки может, в некоторых случаях, увеличить вашу
  скорость загрузки. Вы можете добавить 'K' или 'M'(1K = 1024, 1M = 1024K).
  По умолчанию: '50K'

[[aria2_optref_bt_save_metadata]]*--bt-save-metadata*[='true'|'false']::

  Сохранить метаданные как файл .torrent. Этот параметр
  эффективен только если используется BitTorrent Magnet-ссылка.
  Имя файла шестнадцатеричное представление хэша с расширением
  .torrent. Файл сохранится в каталог, в тот же самый, куда
  сохранится загружаемый файл. Если тот же самый файл уже
  существует, метаданные не сохранятся. Смотрите также параметр
  *<<aria2_optref_bt_metadata_only, --bt-metadata-only>>*.
  По умолчанию: 'false'

[[aria2_optref_bt_seed_unverified]]*--bt-seed-unverified*[='true'|'false']::
  Раздавать первоначально загруженные файлы без проверки хэшей блоков.
  По умолчанию: 'false'

[[aria2_optref_bt_stop_timeout]]*--bt-stop-timeout*=SEC::

  Остановить BitTorrent загрузку, если скорость загрузки равна 0 на
  протяжении SEC секунд. Если задано '0', то эта возможность не будет
  использоваться.
  По умолчанию: '0'

[[aria2_optref_bt_tracker]]*--bt-tracker*=URI[,...]::

  Разделенный запятыми список дополнительных URI анонса
  BitTorrent-трекеров. На эти URI не действует параметр
  *<<aria2_optref_bt_exclude_tracker, --bt-exclude-tracker>>*,
  потому что они добавляются после URI, указанных в параметре
  *<<aria2_optref_bt_exclude_tracker, --bt-exclude-tracker>>*,
  которые исключаются.

[[aria2_optref_bt_tracker_connect_timeout]]*--bt-tracker-connect-timeout*=SEC::

  Задать время ожидания в секундах для установки соединения с трекером.
  После установки соединения, это параметр станет не действительным,
  а вместо него будет использован
  *<<aria2_optref_bt_tracker_timeout, --bt-tracker-timeout>>*.
  По умолчанию: '60'

[[aria2_optref_bt_tracker_interval]]*--bt-tracker-interval*=SEC::
  Задать интервал в секундах между запросами трекера. Это полностью
  отменяет значение интервала и aria2 использует только это значение
  и игнорирует минимальный интервал и значение интервала в ответе
  трекера. Если задан '0', aria2 определяет интервал, основываясь на
  ответе трекера и прогрессе загрузки.
  По умолчанию: '0'

[[aria2_optref_bt_tracker_timeout]]*--bt-tracker-timeout*=SEC::

  Задать время ожидания в секундах.
  По умолчанию: '60'

[[aria2_optref_dht_entry_point]]*--dht-entry-point*=HOST:PORT::
  Задать хост и порт, как точку входа в IPv4 DHT сеть.

[[aria2_optref_dht_entry_point6]]*--dht-entry-point6*=HOST:PORT::

  Задать хост и порт, как точку входа в IPv6 DHT сеть.

[[aria2_optref_dht_file_path]]*--dht-file-path*=PATH::
  Заменять файл таблицы маршрутизации IPv4 DHT на PATH.
  По умолчанию: '$HOME/.aria2/dht.dat'

[[aria2_optref_dht_file_path6]]*--dht-file-path6*=PATH::

  Заменять файл таблицы маршрутизации IPv6 DHT на PATH.
  По умолчанию: '$HOME/.aria2/dht.dat'

[[aria2_optref_dht_listen_addr6]]*--dht-listen-addr6*=ADDR::

  Указать адрес привязки сокета для IPv6 DHT. Он должен быть глобальным
  IPv6 unicast-адресом хоста.

[[aria2_optref_dht_listen_port]]*--dht-listen-port*=PORT...::
  Задать прослушиваемый UDP-порт для обоих IPv4 и IPv6 DHT. Несколько портов можно
  указать через ",", например: '6881,6885'. Вы так же можете использовать "-"
  чтобы указать диапазон: '6881-6999'. "," и "-" могут быть использованы
  вместе.
  По умолчанию: '6881-6999'

[NOTE]
Удостоверьтесь, что указанные порты открыты для входящего UDP-трафика.

[[aria2_optref_dht_message_timeout]]*--dht-message-timeout*=SEC::

  Задать время ожидания в секундах.
  По умолчанию: '10'

[[aria2_optref_enable_dht]]*--enable-dht*[='true'|'false']::

  Включить IPv4 DHT функциональность. Если в torrent-файле задан
  приватный признак, aria2 не будет использовать DHT для загрузки,
  даже если установлен 'true'.
  По умолчанию: 'true'

[[aria2_optref_enable_dht6]]*--enable-dht6*[='true'|'false']::

  Включить IPv6 DHT функциональность. Если в torrent-файле задан
  приватный признак, aria2 не будет использовать DHT для загрузки,
  даже если установлен 'true'. Используйте параметр
  *<<aria2_optref_dht_listen_port, --dht-listen-port>>* для указания
  прослушиваемого порта. Смотрите также  параметр
  *<<aria2_optref_dht_listen_addr6, --dht-listen-addr6>>*.

[[aria2_optref_enable_peer_exchange]]*--enable-peer-exchange*[='true'|'false']::
  Включить расширение BitTorrent-протокола для обмена списками участников.
  Если в torrent-файле задан приватный признак, то эта возможность будет
  отключена, даже если установлен 'true'.
  По умолчанию: 'true'

[[aria2_optref_follow_torrent]]*--follow-torrent*='true'|'false'|'mem'::
  Если указать 'true' или 'mem', тогда загруженный файл, расширение
  которого - ".torrent" или mime-тип - "application/x-bittorrent",
  aria2 анализирует как torrent-файл и загружает файлы, указанные в нем.
  Если указано 'mem', тогда torrent-файл не записывается на диск,
  а содержится в памяти. Если указано 'false', действия, упомянутые
  выше, не совершаются.
  По умолчанию: 'true'

[[aria2_optref_index_out]]*-O*, *--index-out*=INDEX=PATH::
  Задать путь к файлу PATH с индексом INDEX. Вы можете найти индекс файла,
  используя параметр *<<aria2_optref_show_files, --show-files>>*. PATH
  является относительным путем к тому, который указан в параметре
  *<<aria2_optref_dir, --dir>>*. Вы можете использовать этот параметр
  много раз. Используйте этот параметр, когда хотите указать имена
  выходных файлов для BitTorrent-загрузок.

[[aria2_optref_listen_port]]*--listen-port*=PORT...::
  Задать номер TCP-порта для BitTorrent-загрузок. Несколько портов можно
  указать, используя ",", например: '6881,6885'. Вы также можете
  использовать "-", чтобы указать диапазон: '6881-6999'. "," и "-"
  могут быть использованы вместе: '6881-6889,6999'.
  По умолчанию: '6881-6999'

[NOTE]
Удостоверьтесь, что указанные порты открыты для входящего TCP-трафика.

[[aria2_optref_max_overall_upload_limit]]*--max-overall-upload-limit*=SPEED::
  Задать максимальную общую скорость отдачи в байтах/сек.
  '0' значит неограниченно. Вы можете добавить
  'K' или 'M'(1K = 1024, 1M = 1024K). Чтобы ограничить скорость
  отдачи для узла торрента, используйте параметр
  *<<aria2_optref_max_upload_limit, --max-upload-limit>>*.
  По умолчанию: '0'

[[aria2_optref_max_upload_limit]]*-u*, *--max-upload-limit*=SPEED::
  Задать максимальную скорость отдачи каждого узла торрента в байтах/сек.
  '0' значит неограниченно. Вы можете добавить
  'K' или 'M'(1K = 1024, 1M = 1024K). Чтобы ограничить
  общую скорость отдачи, используйте параметр
  *<<aria2_optref_max_overall_upload_limit, --max-overall-upload-limit>>*.
  По умолчанию: '0'

[[aria2_optref_peer_id_prefix]]*--peer-id-prefix*=PEER_ID_PREFIX::

  Указать префикс для ID узла. ID узла в BitTorrent
  имеет размер 20 байт. Если будет указано более 20 байт,
  то только первые 20 будут использоваться, если будет
  указано меньше 20, то они будут дополнены случайными
  данными до 20 байт.
  По умолчанию: 'aria2/$VERSION', $VERSION заменяется на версию пакета.

[[aria2_optref_seed_ratio]]*--seed-ratio*=RATIO::
  Указать рейтинг. Сидировать завершенные торренты, пока рейтинг
  не станет больше RATIO. Очень рекомендуется указать тут равный
  или больший '1.0'. Указать '0.0', если вы планируете сидировать
  независимо от рейтинга. Если указан параметр
  *<<aria2_optref_seed_time, --seed-time>>* вместе с этим
  параметром, сидирование закончится тогда, когда хотя бы одно
  условие будет удовлетворено.
  По умолчанию: '1.0'

[[aria2_optref_seed_time]]*--seed-time*=MINUTES::
  Указать время сидирования (раздачи) в минутах.
  Смотрите также параметр *<<aria2_optref_seed_ratio, --seed-ratio>>*.

[NOTE]

Указанный *<<aria2_optref_seed_time, --seed-time>>*='0' отключает
сидирование после завершения загрузки.

[[aria2_optref_torrent_file]]*-T*, *--torrent-file*=TORRENT_FILE::

  Путь к файлу .torrent. Вы не обязаны использовать этот параметр, т.к.
  файл .torrent можно указать без *<<aria2_optref_torrent_file, -T>>*.

Специфические параметры Metalink
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[aria2_optref_follow_metalink]]*--follow-metalink*='true'|'false'|'mem'::
  Если указано 'true' или 'mem' и когда загруженный файл имеет расширение
  ".meta4" или ".metalink", или mime-тип "application/metalink4+xml"
  или "application/metalink+xml", aria2 считает его metalink-файлом и
  загружает упомянутые в нем файлы. Если указано 'mem', то metalink-файл
  не сохраняется на диск, а просто хранится в памяти. Если указано 'false',
  то вышеприведенная операция не производится.
  По умолчанию: 'true'

[[aria2_optref_metalink_base_uri]]*--metalink-base-uri*=URI::

  Указать основной URI для разрешения относительных URI в элементе
  metalink:url и metalink:metaurl в metalink-файле, сохраненном на
  локальном диске. Если URI указывает на каталог, то URI должен
  заканчиваться на '/'.

[[aria2_optref_metalink_file]]*-M*, *--metalink-file*=METALINK_FILE::

  Путь к файлу .meta4 и .metalink. Читает ввод из stdin, если в качестве
  имени файла указано '-'. Вы не обязаны использовать этот параметр,
  т.к. файлы .metalink можно указать без *<<aria2_optref_metalink_file, -M>>*.

[[aria2_optref_metalink_language]]*--metalink-language*=LANGUAGE::
  Язык файла для загрузки.

[[aria2_optref_metalink_location]]*--metalink-location*=LOCATION[,...]::
  Местонахождение предпочитаемого сервера. Список, разделенный запятыми,
  допустимых местонахождений, например, 'jp,us'.

[[aria2_optref_metalink_os]]*--metalink-os*=OS::
  Целевая операционная система файла для загрузки.

[[aria2_optref_metalink_version]]*--metalink-version*=VERSION::
  Версия файла для загрузки.

[[aria2_optref_metalink_preferred_protocol]]*--metalink-preferred-protocol*=PROTO::
  Указать предпочитаемый протокол. Возможные значения: 'http', 'https', 'ftp'
  и 'none'. Указать 'none' для отключения этой возможности.
  По умолчанию: 'none'
 
[[aria2_optref_metalink_enable_unique_protocol]]*--metalink-enable-unique-protocol*[='true'|'false']::
  Если задано 'true', а в metalink-файле доступно несколько
  протоколов, то aria2 использует один из них. Используйте параметр
  *<<aria2_optref_metalink_preferred_protocol, --metalink-preferred-protocol>>*,
  чтобы указать предпочитаемый протокол.
  По умолчанию: 'true'

Параметры RPC
~~~~~~~~~~~~~

[[aria2_optref_enable_rpc]]*--enable-rpc*[='true'|'false']::
  Включить JSON-RPC/XML-RPC-сервер. Настоятельно рекомендуется указать
  имя пользователя и пароль, используя параметры
  *<<aria2_optref_rpc_user, --rpc-user>>* и *<<aria2_optref_rpc_passwd, --rpc-passwd>>*.
  Смотрите также параметр *<<aria2_optref_rpc_listen_port, --rpc-listen-port>>*.
  По умолчанию: 'false'

[[aria2_optref_pause]]*--pause*[='true'|'false']::

  Приостановка загрузки после добавления. Этот параметр действенен
  только, когда задан *<<aria2_optref_enable_rpc, --enable-rpc>>*='true'.
  По умолчанию: 'false'


[[aria2_optref_rpc_allow_origin_all]]*--rpc-allow-origin-all*[='true'|'false']::

  Добавить заголовок Access-Control-Allow-Origin со значением '*' в RPC-ответе.
  По умолчанию: 'false'

[[aria2_optref_rpc_listen_all]]*--rpc-listen-all*[='true'|'false']::

  Слушать входящие JSON-RPC/XML-RPC-запросы на всех сетевых интерфейсах.
  Если указано 'false', слушать только на локальном петлевом
  интерфейсе (loopback).
  По умолчанию: 'false'

[[aria2_optref_rpc_listen_port]]*--rpc-listen-port*=PORT::
  Указать номер порта, для прослушивания JSON-RPC/XML-RPC-сервером.
  Возможные значения: '1024'-'65535'.
  По умолчанию: '6800'

[[aria2_optref_rpc_max_request_size]]*--rpc-max-request-size*=SIZE::

  Задать максимальный размер JSON-RPC/XML-RPC-запроса.
  Если aria2 выявит запрос с размером большим, чем SIZE байт,
  тогда соединение будет отклонено.
  По умолчанию: '2M'

[[aria2_optref_rpc_passwd]]*--rpc-passwd*=PASSWD::
  Задать JSON-RPC/XML-RPC пароль.

[[aria2_optref_rpc_user]]*--rpc-user*=USER::
  Задать JSON-RPC/XML-RPC пользователя.

Дополнительные параметры
~~~~~~~~~~~~~~~~~~~~~~~~
[[aria2_optref_allow_overwrite]]*--allow-overwrite*[='true'|'false']::

  Повторно запустить загрузку с нуля, если соответствующий контрольный
  файл отсутствует. Смотрите также параметр
  *<<aria2_optref_auto_file_renaming, --auto-file-renaming>>*.
  По умолчанию: 'false'

[[aria2_optref_allow_piece_length_change]]*--allow-piece-length-change*[='true'|'false']::
  Если задано 'false', aria2 прерывает загрузку, когда длина блока
  отлична от той, которая находится в контрольном файле. Если задано
  'true', вы можете продолжать, однако некоторый прогресс загрузки
  будет потерян.
  По умолчанию: 'false'

[[aria2_optref_always_resume]]*--always-resume*[='true'|'false']::

  Всегда возобновлять загрузку. Если задано 'true', aria2 всегда пытается
  возобновить загрузку и если это не возможно, прерывает ее.
  Если задано 'false', тогда для всех заданных URI не поддерживается
  возобновление загрузки, или aria2 столкнется с невозможностью
  возобновления загрузки URI 'N'-ое количество раз
  (значение 'N' указывается в параметре
  *<<aria2_optref_max_resume_failure_tries, --max-resume-failure-tries),
  то aria2 будет загружать файл с нуля. Смотрите параметр
  *<<aria2_optref_max_resume_failure_tries, --max-resume-failure-tries>>*.
  По умолчанию: 'true'

[[aria2_optref_async_dns]]*--async-dns*[='true'|'false']::
  Включить асинхронный DNS.
  По умолчанию: 'true'

[[aria2_optref_async_dns_server]]*--async-dns-server*=IPADDRESS[,...]::

  Разделенный запятыми список адресов DNS-серверов, которые используют
  асинхронный DNS-преобразователь. Обычно асинхронный DNS-преобразователь
  читает адреса DNS-серверов из '/etc/resolv.conf'. Когда используется
  этот параметр, то используются DNS-серверы, указанные в параметре вместо
  указанных в '/etc/resolv.conf'. Вы можете указать оба IPv4 и IPv6 адреса.
  Этот параметр полезен, когда в системе нет '/etc/resolv.conf' и у
  пользователя нет прав на его создание.

[[aria2_optref_auto_file_renaming]]*--auto-file-renaming*[='true'|'false']::
  Переименовать файл, если такой уже существует.
  Этот параметр работает только для HTTP(S)/FTP-загрузок.
  К имени файла будет добавлена точка и число от 1 до 9999.
  По умолчанию: 'true'

[[aria2_optref_auto_save_interval]]*--auto-save-interval*=SEC::
  Сохранять контрольный файл (*.aria2) каждые SEC секунд.
  Если задано '0', тогда контрольный файл не сохраняется на
  протяжении загрузки. aria2 сохраняет контрольный файл тогда,
  когда останавливается, не смотря на значение.
  Возможные значения: от '0' до '600'.
  По умолчанию: '60'

[[aria2_optref_conditional_get]]*--conditional-get*[='true'|'false']::

  Загружать файл только когда локальный файл старше, чем удаленный.
  Эта функция работает только для HTTP(S)-загрузок. Это не работает,
  если размер файла указан в Metalink. Это также игнорирует заголовок
  Content-Disposition. Если контрольный файл существует, то этот
  параметр игнорируется. Эта функция использует заголовок
  If-Modified-Since, как условие для получения только нового файла.
  При получении времени модификации локального файла, используется
  указанное пользователем имя файла
  (см. параметр *<<aria2_optref_out, --out>>*) или часть имени файла в
  URI, если *<<aria2_optref_out, --out>>* не указан. Для перезаписи
  существующего файла необходим параметр
  *<<aria2_optref_allow_overwrite, --allow-overwrite>>*.
  По умолчанию: 'false'

[[aria2_optref_conf_path]]*--conf-path*=PATH::
  Сменить путь к файлу конфигурации на PATH.
  По умолчанию: '$HOME/.aria2/aria2.conf'

[[aria2_optref_daemon]]*-D*, *--daemon*[='true'|'false']::
  Запустить как демон (фоновый процесс). Текущий рабочий каталог
  будет заменен на '/', а стандартный ввод, стандартный вывод,
  стандартный вывод ошибок будут перенаправлены на '/dev/null'.
  По умолчанию: 'false'

[[aria2_optref_disable_ipv6]]*--disable-ipv6*[='true'|'false']::

  Отключить IPv6. Это полезно, если вы используете поврежденный DNS
  и хотите избежать ужасно медленного поиска AAAA-записи.
  По умолчанию: 'false'

[[aria2_optref_download_result]]*--download-result*=OPT::

  Этот параметр изменяет формат сообщения "Результаты загрузки". Если OPT
  задан как 'default', то отображается GID, статус, средняя скорость загрузки и
  путь/URI. Если загружается множество файлов, то отобразиться путь/URI первого
  запрашиваемого файла, а остальные пропускаются. Если OPT задан как 'full',
  то отображается GID, статус, средняя скорость загрузки, процент прогресса и
  путь/URI.  Процент прогресса и путь/URI отобразиться для каждого
  запрашиваемого файла в отдельной строке.
  По умолчанию: 'default'

[[aria2_optref_enable_async_dns6]]*--enable-async-dns6*[='true'|'false']::

  Включить IPv6 разрешение имен в асинхронном DNS-преобразователе.
  Этот параметр будет игнорироваться, если
  *<<aria2_optref_async_dns, --async-dns>>*='false'.
  По умолчанию: 'false'

[[aria2_optref_event_poll]]*--event-poll*=POLL::

  Указать метод опроса событий. Возможные значения: 'epoll', 'kqueue',
  'port', 'poll' и 'select'. Каждый метод 'epoll', 'kqueue', 'port' и
  'poll' доступен, если система поддерживает его.  'epoll' доступен в
  современных дистрибутивах Linux.  'kqueue' доступен в различных
  *BSD-системах, включая Mac OS X. 'port' доступен в Open Solaris.
  Значение по умолчанию может изменяться в зависимости от системы,
  которую вы используете.

[[aria2_optref_file_allocation]]*--file-allocation*=METHOD::

  Указать метод резервирования места для файла. 'none' не происходит
  предварительное резервирование места для файла. 'prealloc' - предварительное
  резервирование места для файла перед началом загрузки. Это может
  продолжаться некоторое время, в зависимости от размера файла. Если вы
  используете новые файловые системы, наподобие ext4 (с поддержкой экстентов),
  btrfs, xfs или NTFS (только сборка MinGW) тогда лучше выбрать 'falloc'.
  Так как они резервируют место под большие (на несколько Гигабайт) файлы
  почти мгновенно. Не используйте 'falloc' вместе с наследными файловыми
  системами, такими как ext3 и FAT32, потому что это будет продолжаться
  почти столько же времени, как и 'prealloc', а также полностью заблокирует
  aria2, пока не закончится резервирование места. 'falloc' может быть
  недоступным, если ваша система не содержит функцию *posix_fallocate*().
  Возможные значения: 'none', 'prealloc', 'falloc'.
  По умолчанию: 'prealloc'

[[aria2_optref_hash_check_only]]*--hash-check-only*[=true|false]::

  Если задано 'true', то после проверки хэша, используя параметр
  *<<aria2_optref_check_integrity, --check-integrity>>*,
  загрузка прервётся, в любом случае загрузка завершится.
  По умолчанию: 'false'

[[aria2_optref_human_readable]]*--human-readable*[='true'|'false']::

  Выводить на консоль размеры и скорость в удобочитаемом формате
  (например, 1.2Ки, 3.4Ми).
  По умолчанию: 'true'

[[aria2_optref_interface]]*--interface*=INTERFACE::

  Привязать сокеты к заданному интерфейсу. Вы можете указать имя
  интерфейса, IP-адрес и имя хоста. Возможные значения: имя
  интерфейса (например, eth0), IP-адрес (например, 192.168.0.12),
  имя хоста (например, myhost).

[NOTE]
Если интерфейс имеет несколько адресов, то настоятельно рекомендуется
указать IP-адрес явно. Смотрите также *<<aria2_optref_disable_ipv6,
--disable-ipv6>>*. Если ваша система не имеет getifaddrs(), это параметр не
принимает имя интерфейса.

[[aria2_optref_max_download_result]]*--max-download-result*=NUM::

  Задать максимальное количество результатов загрузок, которые находятся
  в памяти. Результаты загрузок - завершенные/ошибка/удаленные загрузки.
  Результаты загрузок хранятся FIFO очереди, в которой может хранится NUM
  результатов загрузок. Когда очередь заполнена и появляется новый
  результат загрузки, то старейший результат загрузки удаляется из начала
  очереди, а новый добавляется в конец. Указание большого числа в этом
  параметре может привести к высокому потреблению памяти после тысяч
  загрузок. Значение 0 отключит сохранение результата загрузки.
  По умолчанию: '1000'

[[aria2_optref_max_resume_failure_tries]]*--max-resume-failure-tries*=N::

  Если параметр *<<aria2_optref_always_resume, --always-resume>>*='false', aria2
  загрузит файл с нуля, при обнаружении 'N'-го URI, не поддерживающего
  возобновление. Если 'N'='0', то aria2 загрузит файл с нуля, когда все
  URI не поддерживают возобновление. Смотрите параметр
  *<<aria2_optref_always_resume, --always-resume>>*.
  По умолчанию: '0'

[[aria2_optref_log_level]]*--log-level*=LEVEL::
  Задать уровень вывода журнала событий. LEVEL может
  быть: 'debug', 'info', 'notice', 'warn' или 'error'.
  По умолчанию: 'debug'

[[aria2_optref_on_bt_download_complete]]*--on-bt-download-complete*=COMMAND::

  Для BitTorrent, в *<<aria2_optref_on_download_complete, --on-download-complete>>*
  указывается команда, которая вызывается после завершение загрузки и окончания
  сидирования. С другой стороны, этот параметр определяет команду, которая
  будет выполнена после завершения загрузки, но до сидирования.
  Смотрите раздел *<<_перехват_сообщения, Перехват сообщения>>* для более подробной
  информации о COMMAND. Возможные значения: '/путь/к/команде'

[[aria2_optref_on_download_complete]]*--on-download-complete*=COMMAND::

  Задать команду, которая будет выполнена после завершения загрузки.
  Смотрите раздел *<<_перехват_сообщения, Перехват сообщения>>* для более
  подробной информации о COMMAND. Смотрите также параметр
  *<<aria2_optref_on_download_stop, --on-download-stop>>*.
  Возможные значения: '/путь/к/команде'

[[aria2_optref_on_download_error]]*--on-download-error*=COMMAND::

  Задать команду, которая будет выполнена после того, как загрузка будет
  прервана из-за ошибки. Смотрите раздел *<<_перехват_сообщения, Перехват сообщения>>*
  для более подробной информации о COMMAND. Смотрите также параметр
  *<<aria2_optref_on_download_stop, --on-download-stop>>*. Возможные
  значения: '/путь/к/команде'

[[aria2_optref_on_download_pause]]*--on-download-pause*=COMMAND::

  Задать команду, которая будет выполнена после того, как
  загрузка будет приостановлена. Смотрите раздел
  *<<_перехват_сообщения, Перехват сообщения>>* для более подробной
  информации о COMMAND. Возможные значения: '/путь/к/команде'

[[aria2_optref_on_download_start]]*--on-download-start*=COMMAND::

  Задать команду, которая будет выполнена после того, как
  началась загрузка. Смотрите раздел *<<_перехват_сообщения, Перехват сообщения>>*
  для более подробной информации о COMMAND. Возможные
  значения: '/путь/к/команде'

[[aria2_optref_on_download_stop]]*--on-download-stop*=COMMAND::

  Задать команду, которая будет выполнена после того, как загрузка
  остановлена. Вы можете изменить команду, которая будет выполнятся
  при определенном результате загрузки, используя параметры
  *<<aria2_optref_on_download_complete, --on-download-complete>>* и *<<aria2_optref_on_download_error, --on-download-error>>*.
  Если они указаны, то команда, определенная в этом параметре не
  будет выполнятся. Смотрите раздел *<<_перехват_сообщения, Перехват сообщения>>*
  для более подробной информации о COMMAND. Возможные
  значения: '/путь/к/команде'

[[aria2_optref_piece_length]]*--piece-length*=LENGTH::

  Задать длину блока для HTTP/FTP-загрузок. Это является границей, когда
  aria2 разделяет файл на части. Все разделения происходят многократно по
  этой длине. Этот параметр будет игнорироваться при BitTorrent-загрузках.
  Также будет игнорироваться, если Metalink-файл содержит хэши блоков.
  По умолчанию: '1M'

[NOTE]

Возможный вариант использования параметра *<<aria2_optref_piece_length,
--piece-length>>* - изменение диапазона запроса в одном конвейерном
HTTP-запросе. Для включения конвейерной обработки HTTP используйте
*<<aria2_optref_enable_http_pipelining, --enable-http-pipelining>>*.

[[aria2_optref_show_console_readout]]*--show-console-readout*[='true'|'false']::

  Показывать консольный вывод.
  По умолчанию: 'true'

[[aria2_optref_summary_interval]]*--summary-interval*=SEC::
  Задать интервал в секундах до вывода сообщения о прогрессе
  загрузки. Установка '0' запрещает вывод.
  По умолчанию: '60'

[NOTE]
В загрузках многофайлового торрента, по определенным смежным файлам также,
которые размещены в части одного блока.

[[aria2_optref_force_sequential]]*-Z*, *--force-sequential*[='true'|'false']::
  Получить URI в последовательности командной строки и загрузить каждое
  URI в отдельной сессии, как в обычных утилитах загрузки командной
  строки.
  По умолчанию: 'false'

[[aria2_optref_max_overall_download_limit]]*--max-overall-download-limit*=SPEED::
  Задать максимальную общую скорость загрузки в байтах/сек. '0' значит
  неограниченно. Вы можете добавить 'K' или 'M'(1K = 1024, 1M = 1024K).
  Чтобы ограничить скорость загрузки для узла, используйте параметр
  *<<aria2_optref_max_download_limit, --max-download-limit>>*.
  По умолчанию: '0'

[[aria2_optref_max_download_limit]]*--max-download-limit*=SPEED::
  Установить максимальную скорость каждого узла загрузки в байтах/сек. '0'
  значит неограниченно. Вы можете добавить 'K' или 'M'(1K = 1024, 1M = 1024K).
  Чтобы ограничить общую скорость загрузки, используйте параметр
  *<<aria2_optref_max_overall_download_limit, --max-overall-download-limit>>*.
  По умолчанию: '0'

[[aria2_optref_no_conf]]*--no-conf*[='true'|'false']::
  Отключить загрузку файла aria2.conf.

[[aria2_optref_no_file_allocation_limit]]*--no-file-allocation-limit*=SIZE::
  Не резервируется место для файлов, размер которых меньше SIZE.
  Вы можете добавить 'K' или 'M'(1K = 1024, 1M = 1024K).
  По умолчанию: '5M'

[[aria2_optref_parameterized_uri]]*-P*, *--parameterized-uri*[='true'|'false']::
  Включить поддержку параметризованных URI. Вы можете указать набор
  частей: 'http://{sv1,sv2,sv3}/foo.iso'. Также вы можете указать
  числовую последовательность с шагом
  счетчика: '\http://host/image[000-100:2].img'. Шагом счетчика
  можно пренебречь. Если все URI не указывают на такой же файл, как
  во втором приведенном выше примере, то необходим  параметр -Z.
  По умолчанию: 'false'

[[aria2_optref_quiet]]*-q*, *--quiet*[='true'|'false']::
  Сделать aria2 молчаливой (без консольного вывода).
  По умолчанию: 'false'

[[aria2_optref_realtime_chunk_checksum]]*--realtime-chunk-checksum*[='true'|'false']::
  Подтверждать правильность блока данных путем вычисления контрольной суммы
  во время загрузки файла, если предусмотрена контрольная сумма блоков.
  По умолчанию: 'true'


[[aria2_optref_remove_control_file]]*--remove-control-file*[='true'|'false']::

  Удалять контрольный файл перед загрузкой. При использовании с
  *<<aria2_optref_allow_overwrite, --allow-overwrite>>*='true' файл
  всегда загружается с нуля. Это может понадобиться пользователям
  за прокси-сервером, не поддерживающим возобновление загрузки.

[[aria2_optref_save_session]]*--save-session*=FILE::

  Сохранять ошибочные/незаконченные загрузки в FILE при выходе. Вы можете
  передать этот выходной файл aria2c с параметром  *<<aria2_optref_input_file, -i>>* при перезапуске. Обратите внимание, что
  загрузки, добавленные через RPC-методы
  *<<aria2_rpc_aria2_addTorrent, aria2.addTorrent>>*, *<<aria2_rpc_aria2_addMetalink, aria2.addMetalink>>*
  и чьи метаданные не могут быть сохранены как файл, не будут сохраняться.
  Загрузки, удаленные с использованием *<<aria2_rpc_aria2_remove, aria2.remove>>* и
  *<<aria2_rpc_aria2_forceRemove, aria2.forceRemove>>* не будут сохранены.

[[aria2_optref_stop]]*--stop*=SEC::
  Останавливать программу после того как пройдет
  SEC секунд. Если задано '0', эта возможность будет
  отключена.
  По умолчанию: '0'

[[aria2_optref_stop_with_process]]*--stop-with-process*=PID::

  Остановить приложение, когда процесс с идентификационный номером PID
  не работает. Это полезно, если процесс aria2 запущен из родительского
  процесса. Родительский процесс может запустить aria2 со своим
  идентификационным номером и когда он (процесс) завершиться по какой-то
  причине, aria2 может обнаружить это и самостоятельно завершиться.

[[aria2_optref_truncate_console_readout]]*--truncate-console-readout*[='true'|'false']::

  Укорачивать консольный вывод, чтобы он поместился в
  одну строку.
  По умолчанию: 'true'
 
[[aria2_optref_version]]*-v*, *--version*::
  Вывести номер версии, информацию об авторских
  правах, конфигурации и выйти.

Параметры, которые принимают аргументы
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Параметры, которые имеют значения в квадратных скобках ([]), могут принимать
дополнительные (необязательные) аргументы. Обычно отсутствие аргумента
эквивалентно 'true'. Если вы используется короткую форму параметров
(например, '-V') и указываете аргумент, то имя параметра и его аргумент
должны быть объедены (например, '-Vfalse'). Если будут вставлены пробелы
между именем параметра и аргументом, то аргумент будет обрабатываться как
URI, и это не то, что обычно вы ожидаете.

URI, MAGNET-ССЫЛКА, TORRENT-ФАЙЛ, METALINK-ФАЙЛ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Вы можете перечислить несколько URI в командной строке. Пока вы не указали
параметр *<<aria2_optref_force_sequential, -Z>>*, все URI должны указывать
на один и тот же файл или загрузка завершиться не удачно.

Вы можете указать произвольное количество BitTorrent Magnet URI. Обратите
внимание, что они всегда будут обрабатываться как отдельная
загрузка. Поддерживаются оба Info Hash (Информация о хэше), как
закодированный 40 шестнадцатеричными символами, так и закодированный 32
символами Base32-кодировки. Поддерживаются составные параметры "tr". Т.к. в
BitTorrent Magnet URI возможно присутствие символа "&", то настоятельно
рекомендуется всегда заключать URI в одиночные(') или двойные(")
кавычки. Так же настоятельно рекомендуется включить DHT, особенно когда
параметр "tr" не указан. Смотрите
http://www.bittorrent.org/beps/bep_0009.html для детальной информации по
BitTorrent Magnet URI.

Вы также можете указать произвольное количество torrent-файлов и
Metalink-документов, которые хранятся на локальном диске. Обратите внимание,
что они всегда будут обрабатываться как отдельная загрузка. Поддерживаются
оба формата: Metalink4 и Metalink версии 3.0.

Вы можете указать вместе, torrent-файл с параметром -T и URI. Сделав это, вы
можете загружать файл, используя torrent-рой и HTTP(S)/FTP-сервер
одновременно, пока данные из HTTP(S)/FTP выгружаются в torrent-рой. Для
однофайловых торрентов, URI может быть завершенным, который указывает на
ресурс, или же если заканчиваться символом /, тогда name (имя) в
torrent-файле будет добавлено. Для многофайловых торентов, name (имя) и path
(путь) в torrent-файле будут добавлены из URI для каждого файла.

[NOTE]
Удостоверьтесь, что URI заключен в одинарные(') или двойные(") кавычки, если
есть символ "&" или любые символы, которые имеют особое значение в командной
оболочке.

Возобновление загрузки
~~~~~~~~~~~~~~~~~~~~~~

Обычно, вы можете возобновить передачу, только запустив ту же самую команду
(aria2c URI), которая выполнялась при предыдущей передаче, созданной aria2.

Если предыдущая передача создана веб-браузером или wget-подобным менеджером
загрузки, тогда используйте параметр *<<aria2_optref_continue, -c>>* для
продолжения передачи (aria2c *<<aria2_optref_continue, -c>>* URI).

Перехват сообщения
~~~~~~~~~~~~~~~~~~

aria2 предоставляет параметры, в которых указываются произвольные команды,
выполняемые после наступления определенного события. В настоящее время
доступны следующие параметры: *<<aria2_optref_on_bt_download_complete,
--on-bt-download-complete>>*, *<<aria2_optref_on_download_pause,
--on-download-pause>>*, *<<aria2_optref_on_download_complete,
--on-download-complete>>*.  *<<aria2_optref_on_download_start,
--on-download-start>>*, *<<aria2_optref_on_download_error,
--on-download-error>>*, *<<aria2_optref_on_download_stop,
--on-download-stop>>*.

aria2 передает 3 аргумента указанной команды, которая выполняется. Это
аргументы: GID, количество файлов и путь к файлу. Для HTTP-, FTP-загрузок,
обычно количество файлов - 1. BitTorrent загрузка может содержать множество
файлов. Если число файлов больше чем один, то путь к файлу будет для
первого. Другими словами, это значение параметра path в первой структуре,
определенный параметр которой имеет значение true (истина), в ответе
RPC-метода *<<aria2_rpc_aria2_getFiles, aria2.getFiles>>*. Если вы хотите
получить все пути к файлам, то рассмотрите использование
JSON-RPC/XML-RPC. Обратите внимание, что путь к файлу может меняться в
процессе загрузки по HTTP из-за перенаправления или заголовка
Content-Disposition.

Посмотрите пример, как аргументы передаются команде.
--------------------------------------------------------------------------------
$ cat hook.sh
#!/bin/sh
echo "Called with [$1] [$2] [$3]"
$ aria2c --on-download-complete hook.sh http://example.org/file.iso
Called with [1] [1] [/path/to/file.iso]
--------------------------------------------------------------------------------

КОДЫ ЗАВЕРШЕНИЯ
---------------

Поскольку aria2 может обрабатывать несколько загрузок одновременно, она
сталкивается с множеством ошибок в сессии. aria2 возвращает следующий код
завершения, основанный на последней встретившейся ошибке.

*0*::
  Если все загрузки завершились успешно.

*1*::
  Если произошла неизвестная ошибка.

*2*::
  Если время истекло.

*3*::
  Если ресурс не был найден.

*4*::
  Если aria2 получила определенное число ошибок "ресурс не найден". Смотрите
  параметр *<<aria2_optref_max_file_not_found, --max-file-not-found>>*.

*5*::
  Если загрузка прервана, поскольку скорость загрузки была слишком
  медленной. Смотрите параметр *<<aria2_optref_lowest_speed_limit,
  --lowest-speed-limit>>*.

*6*::
  Если произошла проблема с сетью.

*7*::
  Если были не завершенные загрузки. Эта ошибка только появляется, только если
  все завершенные загрузки были успешны и были не завершенные загрузки в
  очереди, когда aria2 завершилась по нажатию Ctrl-C пользователем или при
  отправке сигнала TERM или INT.

*8*::

  Если удаленный сервер не поддерживает возобновление, когда оно было указано
  как обязательное для завершения загрузки.

*9*::

  Если было не достаточно доступного места на диске.

*10*::

  Если размер блока был отличным от указанного контрольном файле
  .aria2. Смотрите параметр *<<aria2_optref_allow_piece_length_change,
  --allow-piece-length-change>>*.

*11*::

  Если aria2 был загружен один и тот же файл в тот момент.

*12*::

  Если aria2 загрузила торрент с одним и тем же хэшем в этот момент.

*13*::

  Если файл уже существует. Смотрите параметр *<<aria2_optref_allow_overwrite,
  --allow-overwrite>>*.

*14*::

  Если не удалось переименование. Смотрите параметр
  *<<aria2_optref_auto_file_renaming, --auto-file-renaming>>*.

*15*::

  Если aria2 не смогла открыть существующий файл.

*16*::

  Если aria2 не смогла создать новый файл или обрезать существующий файл.

*17*::

  Если произошла ошибка чтения/записи файла.

*18*::

  Если aria2 не смогла создать каталог.

*19*::

  Если не удалось разрешение имен (DNS).

*20*::

  Если aria2 не смогла проанализировать Metalink-документ.

*21*::

  Если FTP-команда не удалась.

*22*::

  Если HTTP-заголовок ответа был испорчен или неожиданным.

*23*::

  Если произошло слишком много перенаправлений.

*24*::

  Если HTTP-авторизация не удалась.

*25*::

  Если aria2 не смогла проанализировать закодированный файл (обычно
  .torrent-файл).

*26*::

  Если файл .torrent был испорчен или потеряна информация, которая необходима
  aria2.

*27*::

  Если Magnet-ссылка была плохой.

*28*::

  Если был задан плохой/неопознанный параметр или неожиданный аргумент к нему.

*29*::

  Если удаленный сервер не смог обработать запрос из-за временной перегрузки
  или регламентных работ.

*30*::

  Если aria2 не смогла проанализировать JSON-RPC-запрос.

[NOTE]
Ошибка, произошедшая в завершенной загрузке, не будет передана как код
завершения.

ОКРУЖЕНИЕ
---------
aria2 распознает следующие переменные окружения.

http_proxy [\\http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]::
  Указать прокси-сервер для использования в HTTP. Заменяет значение http-proxy
  в конфигурационном файле. Параметр *<<aria2_optref_http_proxy,
  --http-proxy>>* в командной строке заменяет эту переменную.

https_proxy [\\http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]::
  Указать прокси-сервер для использования в HTTPS. Заменяет значение
  https-proxy в конфигурационном файле. Параметр *<<aria2_optref_https_proxy,
  --https-proxy>>* в командной строке заменяет эту переменную.

ftp_proxy [\\http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]::
  Указать прокси-сервер для использования в FTP. Заменяет значение ftp-proxy в
  конфигурационном файле. Параметр *<<aria2_optref_ftp_proxy, --ftp-proxy>>* в
  командной строке заменяет эту переменную.

all_proxy [\\http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]::
  Указать прокси-сервер для использования, если не указан конкретный протокол
  для прокси. Заменяет значение all-proxy в конфигурационном файле. Параметр
  *<<aria2_optref_all_proxy, --all-proxy>>* в командной строке заменяет эту
  переменную.

[NOTE]

Не смотря на то, что aria2 допускает ftp:// и https:// схемы прокси в URI,
она просто предполагает, что определен http:// и не меняет своего поведения,
основанного на определенной схеме.

no_proxy [ДОМЕН,...]::

  Указать, разделенные запятыми, имена хостов, доменов и сетевых адресов с
  CIDR-блоком, или без него, для которых прокси использоваться не
  будет. Заменяет значение no-proxy в конфигурационном файле. Параметр
  *<<aria2_optref_no_proxy, --no-proxy>>* в командной строке заменяет эту
  переменную.

ФАЙЛЫ
-----
aria2.conf
~~~~~~~~~~

По умолчанию, aria2 анализирует '$HOME/.aria2/aria2.conf' как
конфигурационный файл. Вы можете указать путь к конфигурационному файлу в
параметре *<<aria2_optref_conf_path, --conf-path>>*. Если вы не хотите
использовать конфигурационный файл, используйте параметр
*<<aria2_optref_no_conf, --no-conf>>*.

Конфигурационный файл - это текстовый файл, содержащий один параметр в
строке. В каждой строке, вы можете указать пары имя-значение в формате:
ИМЯ=ЗНАЧЕНИЕ, где имя - это длинный параметр командной строки, без префикса
"--". Вы можете использовать тот же синтаксис, что и для параметра командной
строки. Строки начинающиеся с "#" рассматриваются как комментарии.

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

dht.dat
~~~~~~~~

By default, the routing table of IPv4 DHT is saved to the path
'$HOME/.aria2/dht.dat' and the routing table of IPv6 DHT is saved to
the path '$HOME/.aria2/dht6.dat'.

Netrc
~~~~~

Поддержка Netrc включена по умолчанию для HTTP(S)/FTP. Для отключения
поддержки netrc, укажите параметр *<<aria2_optref_no_netrc, -n>>*. Ваш файл
.netrc должен иметь соответствующие права (600).

Если имя машины (machine) начинается с ".", то aria2 выполняет доменное
сопоставление вместо точного соответствия. Это расширение aria2. Пример
доменного сопоставления, представьте себе следующие содержимое .netrc:

-------------------------------------------------
machine .example.org login myid password mypasswd
-------------------------------------------------

Домен "aria2.example.org" сопоставляется с ".example.org" и используется
'myid' и 'mypasswd'.

Примеры некоторых доменных сопоставлений: домен "example.net" не сопоставим
с ".example.org". Домен "example.org" не сопоставим ".example.org" из-за
предшествующей ".". Если вы хотите соответствия "example.org", то точно
укажите - "example.org".

Контрольный файл
~~~~~~~~~~~~~~~~

aria2 использует контрольный файл для отслеживания прогресса
загрузки. Контрольный файл размещается в том же каталоге, что и загружаемый
файл, и имеет имя, как у загружаемого файла с добавлением
".aria2". Например, если file.zip загружаемый файл, тогда контрольный файл
будет file.zip.aria2. (Существует исключение для этого именования. При
загрузке торрента с множеством файлов, контрольный файл будет в "корневом
каталоге" с именем торрента и добавлением ".aria2". Имя "корневого каталога"
- значение ключа "name" в "info" внутри torrent-файла.)

Обычно контрольный файл удаляется после завершения загрузки. Если aria2
решает, что загрузка не может быть возобновлена (например, когда загружается
файл с HTTP-сервера, который не поддерживает возобновление), контрольный
файл не создается.

Обычно, если вы потеряете контрольный файл, вы не сможете возобновить
загрузку. Но если у вас есть torrent или metalink файлы с контрольными
суммами блоков данных, вы сможете возобновить загрузку без контрольного
файла, указав параметр -V в командной строке aria2c.

Входной файл
~~~~~~~~~~~~

Входной файл может содержать список URI для загрузки aria2. Вы можете
указать несколько URI для одного объекта, разделяя URI, в одной строке,
табуляцией.

Каждая строка рассматривается, как аргумент командой строки. Следовательно,
на них влияют параметры *<<aria2_optref_force_sequential, -Z>>* и
*<<aria2_optref_parameterized_uri, -P>>*.

Строка, которая начинается с "#" обрабатывается как комментарий и
пропускается.

Кроме того, следующие параметры могут быть определены после каждой строки с
URI. Эти дополнительные строки должны начинаться с пробела(ов).

* *<<aria2_optref_all_proxy, all-proxy>>*
* *<<aria2_optref_all_proxy_passwd, all-proxy-passwd>>*
* *<<aria2_optref_all_proxy_user, all-proxy-user>>*
* *<<aria2_optref_allow_overwrite, allow-overwrite>>*
* *<<aria2_optref_allow_piece_length_change, allow-piece-length-change>>*
* *<<aria2_optref_always_resume, always-resume>>*
* *<<aria2_optref_async_dns, async-dns>>*
* *<<aria2_optref_auto_file_renaming, auto-file-renaming>>*
* *<<aria2_optref_bt_enable_lpd, bt-enable-lpd>>*
* *<<aria2_optref_bt_exclude_tracker, bt-exclude-tracker>>*
* *<<aria2_optref_bt_external_ip, bt-external-ip>>*
* *<<aria2_optref_bt_hash_check_seed, bt-hash-check-seed>>*
* *<<aria2_optref_bt_max_open_files, bt-max-open-files>>*
* *<<aria2_optref_bt_max_peers, bt-max-peers>>*
* *<<aria2_optref_bt_metadata_only, bt-metadata-only>>*
* *<<aria2_optref_bt_min_crypto_level, bt-min-crypto-level>>*
* *<<aria2_optref_bt_prioritize_piece, bt-prioritize-piece>>*
* *<<aria2_optref_bt_request_peer_speed_limit, bt-request-peer-speed-limit>>*
* *<<aria2_optref_bt_require_crypto, bt-require-crypto>>*
* *<<aria2_optref_bt_save_metadata, bt-save-metadata>>*
* *<<aria2_optref_bt_seed_unverified, bt-seed-unverified>>*
* *<<aria2_optref_bt_stop_timeout, bt-stop-timeout>>*
* *<<aria2_optref_bt_tracker, bt-tracker>>*
* *<<aria2_optref_bt_tracker_connect_timeout, bt-tracker-connect-timeout>>*
* *<<aria2_optref_bt_tracker_interval, bt-tracker-interval>>*
* *<<aria2_optref_bt_tracker_timeout, bt-tracker-timeout>>*
* *<<aria2_optref_check_integrity, check-integrity>>*
* *<<aria2_optref_conditional_get, conditional-get>>*
* *<<aria2_optref_connect_timeout, connect-timeout>>*
* *<<aria2_optref_continue, continue>>*
* *<<aria2_optref_dir, dir>>*
* *<<aria2_optref_dry_run, dry-run>>*
* *<<aria2_optref_enable_async_dns6, enable-async-dns6>>*
* *<<aria2_optref_enable_http_keep_alive, enable-http-keep-alive>>*
* *<<aria2_optref_enable_http_pipelining, enable-http-pipelining>>*
* *<<aria2_optref_enable_peer_exchange, enable-peer-exchange>>*
* *<<aria2_optref_file_allocation, file-allocation>>*
* *<<aria2_optref_follow_metalink, follow-metalink>>*
* *<<aria2_optref_follow_torrent, follow-torrent>>*
* *<<aria2_optref_ftp_passwd, ftp-passwd>>*
* *<<aria2_optref_ftp_pasv, ftp-pasv>>*
* *<<aria2_optref_ftp_proxy, ftp-proxy>>*
* *<<aria2_optref_ftp_proxy_passwd, ftp-proxy-passwd>>*
* *<<aria2_optref_ftp_proxy_user, ftp-proxy-user>>*
* *<<aria2_optref_ftp_reuse_connection, ftp-reuse-connection>>*
* *<<aria2_optref_ftp_type, ftp-type>>*
* *<<aria2_optref_ftp_user, ftp-user>>*
* *<<aria2_optref_header, header>>*
* *<<aria2_optref_http_accept_gzip, http-accept-gzip>>*
* *<<aria2_optref_http_auth_challenge, http-auth-challenge>>*
* *<<aria2_optref_http_no_cache, http-no-cache>>*
* *<<aria2_optref_http_passwd, http-passwd>>*
* *<<aria2_optref_http_proxy, http-proxy>>*
* *<<aria2_optref_http_proxy_passwd, http-proxy-passwd>>*
* *<<aria2_optref_http_proxy_user, http-proxy-user>>*
* *<<aria2_optref_http_user, http-user>>*
* *<<aria2_optref_https_proxy, https-proxy>>*
* *<<aria2_optref_https_proxy_passwd, https-proxy-passwd>>*
* *<<aria2_optref_https_proxy_user, https-proxy-user>>*
* *<<aria2_optref_index_out, index-out>>*
* *<<aria2_optref_lowest_speed_limit, lowest-speed-limit>>*
* *<<aria2_optref_max_connection_per_server, max-connection-per-server>>*
* *<<aria2_optref_max_download_limit, max-download-limit>>*
* *<<aria2_optref_max_file_not_found, max-file-not-found>>*
* *<<aria2_optref_max_resume_failure_tries, max-resume-failure-tries>>*
* *<<aria2_optref_max_tries, max-tries>>*
* *<<aria2_optref_max_upload_limit, max-upload-limit>>*
* *<<aria2_optref_metalink_enable_unique_protocol, metalink-enable-unique-protocol>>*
* *<<aria2_optref_metalink_language, metalink-language>>*
* *<<aria2_optref_metalink_location, metalink-location>>*
* *<<aria2_optref_metalink_os, metalink-os>>*
* *<<aria2_optref_metalink_preferred_protocol, metalink-preferred-protocol>>*
* *<<aria2_optref_metalink_version, metalink-version>>*
* *<<aria2_optref_min_split_size, min-split-size>>*
* *<<aria2_optref_no_file_allocation_limit, no-file-allocation-limit>>*
* *<<aria2_optref_no_netrc, no-netrc>>*
* *<<aria2_optref_no_proxy, no-proxy>>*
* *<<aria2_optref_out, out>>*
* *<<aria2_optref_parameterized_uri, parameterized-uri>>*
* *<<aria2_optref_proxy_method, proxy-method>>*
* *<<aria2_optref_realtime_chunk_checksum, realtime-chunk-checksum>>*
* *<<aria2_optref_referer, referer>>*
* *<<aria2_optref_remote_time, remote-time>>*
* *<<aria2_optref_remove_control_file, remove-control-file>>*
* *<<aria2_optref_reuse_uri, reuse-uri>>*
* *<<aria2_optref_seed_ratio, seed-ratio>>*
* *<<aria2_optref_seed_time, seed-time>>*
* *<<aria2_optref_select_file, select-file>>*
* *<<aria2_optref_split, split>>*
* *<<aria2_optref_timeout, timeout>>*
* *<<aria2_optref_use_head, use-head>>*
* *<<aria2_optref_user_agent, user-agent>>*
* *<<aria2_optref_retry_wait, retry-wait>>*
* *<<aria2_optref_metalink_base_uri, metalink-base-uri>>*
* *<<aria2_optref_pause, pause>>*
* *<<aria2_optref_stream_piece_selector, stream-piece-selector>>*
* *<<aria2_optref_hash_check_only, hash-check-only>>*
* *<<aria2_optref_checksum, checksum>>*
* *<<aria2_optref_piece_length, piece_length>>*
* *<<aria2_optref_uri_selector, uri-selector>>*

Эти параметры имеют точно такой же смысл, что параметры командной строки, но
это применимо только к URI, к которым они принадлежат. Обратите внимание,
что параметры во входном файле не должны иметь префикс "--".

Например, такое содержимое uri.txt

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://server/file.iso http://mirror/file.iso
  dir=/iso_images
  out=file.img
http://foo/bar
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Если aria2 выполняется с параметрами *<<aria2_optref_input_file, -i>>*
uri.txt *<<aria2_optref_dir, -d>>* /tmp, а загрузка происходит с
\http://server/file.iso и \http://mirror/file.iso, то 'file.iso' сохранится
как '/iso_images/file.img'. Файл 'bar' загрузится с http://foo/bar и
сохранится как '/tmp/bar'.

В некоторых случаях, параметр *<<aria2_optref_out, out>>* не имеет никакого
эффекта. Смотрите примечание по ограничениям параметра *<<aria2_optref_out,
--out>>*.

Профиль функционирования сервера
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Этот раздел описывает формат профиля функционирования сервера. Это открытый
текстовый файл, каждая строка которого имеет несколько пар ИМЯ=ЗНАЧЕНИЕ,
разделенных запятыми. В настоящее время распознаются следующие ИМЕНА:

host::
  Хост-имя сервера. Обязательно.

protocol::
  Протокол для этого профиля, такие как ftp, http. Обязательно.

dl_speed::
  Средняя скорость загрузки, которая наблюдалась при предыдущей загрузке, в
  байт/секунду. Обязательно.

sc_avg_speed::
  Средняя скорость загрузки, которая наблюдалась при предыдущей загрузке, в
  байт/секунду. Это значение обновляется, только если загрузка произведена при
  одном соединении и только с использованием
  AdaptiveURISelector. Необязательно.

mc_avg_speed::
  Средняя скорость загрузки, которая наблюдалась при предыдущей загрузке, в
  байт/секунду. Это значение обновляется, только если загрузка произведена при
  нескольких соединениях и только с использованием
  AdaptiveURISelector. Необязательно.

counter::
  Сколько раз использовался сервер. В настоящее время это значение
  используется только при AdaptiveURISelector. Необязательно.

last_updated::
  Время связи, в GMT, с этим сервером, указывается в секундах, начиная с
  00:00:00 1 Января, 1970, UTC. Обязательно.

status::
  ERROR, когда сервер не доступен из-за неисправности или тайм-аута. Иначе -
  OK.

Эти поля должны быть в одной строке. Последовательность полей не имеет
значения. Вы можете размещать пары, отличные от перечисленных выше; они
будут просто игнорироваться.

Например, следующим образом:
--------------------------------------------------------------------------------
host=localhost, protocol=http, dl_speed=32000, last_updated=1222491640, status=OK
host=localhost, protocol=ftp, dl_speed=0, last_updated=1222491632, status=ERROR
--------------------------------------------------------------------------------

RPC-ИНТЕРФЕЙС
-------------

aria2 обеспечивает JSON-RPC и XML-RPC, они в основном имеют одинаковые
функции.

Путь для запроса к JSON-RPC-интерфейсу - '/jsonrpc'. Путь для запроса к
XML-RPC-интерфейсу - '/rpc'.

JSON-RPC реализован на основе
http://groups.google.com/group/json-rpc/web/json-rpc-2-0[JSON-RPC 2.0
Спецификация (2010-03-26)] с поддержкой HTTP POST и GET (JSONP).

JSON-RPC-интерфейс не поддерживает уведомления. Он так же не поддерживает
числа с плавающей точкой. Символы должны быть в кодировке UTF-8.

В следующем документе о JSON-RPC, описана структура JSON-объекта.

Терминология
~~~~~~~~~~~~

GID::

  GID (или gid) - это ключ, для управления каждой загрузкой. Каждая загрузка
  имеет уникальный GID. В настоящее время GID представлен как целое число, но
  обрабатывается как не целое число, т.к. он может быть изменен на другой тип
  в будущих версиях. Обратите внимание, что GID существует в локальной сессии
  и не сохраняется при завершении работы aria2.

Методы
~~~~~~

Весь код в примерах написан на Python2.7.

[[aria2_rpc_aria2_addUri]]
*aria2.addUri* ('uris[, options[, position]]')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод добавляет новый HTTP(S)/FTP/BitTorrent Magnet URI. Параметр
'uris' имеет тип массив, элемент которого имеет тип строка и содержит
URI. Для BitTorrent Magnet URI, 'uris' должен содержать только один элемент,
и он должен быть BitTorrent Magnet URI. URI в параметре 'uris' должны
указывать на один и тот же файл. Если вы смешивайте другие URI, указывающие
на другой файл, то aria2 не сообщит об этом, но и загрузка может неудачно
завершаться. Параметр 'options' имеет тип структура, элементы которой
являются парой имя и значение. Смотрите ниже *<<aria2_rpc_options,
Параметры>>* для более подробной информации. Если параметр 'position' задан
как целое число, начиная с 0, то новая загрузка будет вставлена на позицию
'position' в очередь ожидания. Если параметр 'position' не задан или больше
чем размер очереди, то загрузка будет добавлена в конец очереди. Этот метод
возвращает GID зарегистрированной загрузки.

Пример JSON-RPC
+++++++++++++++

Следующий пример добавляет \http://example.org/file в aria2:

------------------------------------------------------------------
>>> import urllib2, json
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.addUri',
...                       'params':[['http://example.org/file']]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> c.read()
'{"id":"qwer","jsonrpc":"2.0","result":"1"}'
------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример добавляет \http://example.org/file в aria2:

----------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addUri(['http://example.org/file'])
'1'
----------------------------------------------------------

Следующий пример добавляет два источника и некоторые параметры:

--------------------------------------------------------------------------
>>> s.aria2.addUri(['http://example.org/file', 'http://mirror/file'],
                    dict(dir="/tmp"))
'2'
--------------------------------------------------------------------------

Следующий пример добавляет загрузку и вставляет ее перед ожидающими
загрузками:

---------------------------------------------------------------
>>> s.aria2.addUri(['http://example.org/file'], {}, 0)
'3'
---------------------------------------------------------------

[[aria2_rpc_aria2_addTorrent]]
*aria2.addTorrent* ('torrent[, uris[, options[, position]]]')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод добавляет BitTorrent-загрузку путем загрузки .torrent-файла. Если
вы хотите добавить BitTorrent Magnet URI, взамен используйте метод
*<<aria2_rpc_aria2_addUri, aria2.addUri>>*. Параметр 'torrent' имеет тип
base64, с содержанием Base64-кодировки 
.в .torrent-файле. Параметр 'uris' имеет тип массив, элемент которого имеет тип строка и содержит URI.
Параметр 'uris' используется для Web-сидирования. Для однофайловых
торрентов, URI может быть завершенным, который указывает на ресурс, или же
если заканчиваться символом /, тогда будет добавлено имя из
torrent-файла. Для многофайловых торентов, имя и путь в торренте будут
добавлены из URI для каждого файла. Параметр 'options' имеет тип структура,
элементы которой являются парой имя и значение. Смотрите ниже
*<<aria2_rpc_options, Параметры>>* для более подробной информации. Если
параметр 'position' задан как целое число, начиная с 0, то новая загрузка
будет вставлена на позицию 'position' в очередь ожидания. Если параметр
'position' не задан или больше чем размер очереди, то загрузка будет
добавлена в конец очереди. Этот метод возвращает GID зарегистрированной
загрузки. Загруженные данные сохраняются в файл с именем шестнадцатеричной
строки SHA-1-хэша этих данных плюс ".torrent", в каталог указанный в
параметре *<<aria2_optref_dir, --dir>>*. Например, имя файла
0a3893293e27ac0490424c06de4d09242215f0a6.torrent. Если этот файл существует,
то он будет перезаписан. Если файл не может быть успешно сохранен, то
загрузки, добавленные этим методом, не сохраняются при помощи параметра
*<<aria2_optref_save_session, --save-session>>*.

Пример JSON-RPC
+++++++++++++++

Следующий пример добавляет локальный файл file.torrent в aria2:

---------------------------------------------------------------------------
>>> import urllib2, json, base64
>>> torrent = base64.b64encode(open('file.torrent').read())
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'asdf',
...                       'method':'aria2.addTorrent', 'params':[torrent]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> c.read()
'{"id":"asdf","jsonrpc":"2.0","result":"6"}'
---------------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример добавляет локальный файл file.torrent в aria2:

---------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addTorrent(xmlrpclib.Binary(open('file.torrent').read()))
'6'
---------------------------------------------------------------------

[[aria2_rpc_aria2_addMetalink]]
*aria2.addMetalink* ('metalink[, options[, position]]')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод добавляет Metalink-загрузку путем загрузки
.metalink-файла. Параметр 'metalink' имеет тип base64, с содержанием
Base64-кодировки в .metalink-файле. Параметр 'options' имеет тип структура,
элементы которой являются парой имя-значение. Смотрите ниже
*<<aria2_rpc_options, Параметры>>* для более подробной информации. Если
параметр 'position' задан как целое число, начиная с 0, то новая загрузка
будет вставлена на позицию 'position' в очередь ожидания. Если параметр
'position' не задан или больше чем размер очереди, то загрузка будет
добавлена в конец очереди. Этот метод возвращает GID зарегистрированной
загрузки. Загруженные данные сохраняются в файл с именем шестнадцатеричной
строки SHA-1-хэша этих данных плюс ".metalink", в каталог указанный в
параметре *<<aria2_optref_dir, --dir>>*. Например, имя файла
0a3893293e27ac0490424c06de4d09242215f0a6.metalink. Если этот файл
существует, то он будет перезаписан. Если файл не может быть успешно
сохранен, то загрузки, добавленные этим методом, не сохраняются при помощи
параметра *<<aria2_optref_save_session, --save-session>>*.

Пример JSON-RPC
+++++++++++++++

Следующий пример добавляет локальный файл file.meta4 в aria2:

-----------------------------------------------------------------------------
>>> import urllib2, json, base64
>>> metalink = base64.b64encode(open('file.meta4').read())
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.addMetalink', 'params':[metalink]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> c.read()
'{"id":"qwer","jsonrpc":"2.0","result":["8"]}'
-----------------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример добавляет локальный файл file.meta4 в aria2:

--------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addMetalink(xmlrpclib.Binary(open('file.meta4').read()))
['8']
--------------------------------------------------------------------

[[aria2_rpc_aria2_remove]]
*aria2.remove* ('gid')
^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод удаляет загрузку, которая обозначена 'gid'. Параметр 'gid' имеет
тип строка. Если указана загрузка, которая загружается в данный момент, то
сначала она остановится. Статус удаления станет "removed" (удаленно). Этот
метод возвращает GID удаленной загрузки.

Пример JSON-RPC
+++++++++++++++

Следующий пример удаляет загрузку, GID которой "3":

-----------------------------------------------------------------------------
>>> import urllib2, json
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.remove', 'params':['3']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> c.read()
'{"id":"qwer","jsonrpc":"2.0","result":"3"}'
-----------------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример удаляет загрузку, GID которой "3":

--------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.remove('3')
'3'
--------------------------------------------------------------------

[[aria2_rpc_aria2_forceRemove]]
*aria2.forceRemove* ('gid')
^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод удаляет загрузку, которая обозначена 'gid'. Метод действует
подобно *<<aria2_rpc_aria2_remove, aria2.remove>>*, за исключением того, что
метод удаляет загрузку без каких-либо действий, которые требует времени,
например связь с BitTorrent-трекером.

[[aria2_rpc_aria2_pause]]
*aria2.pause* ('gid')
^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод приостанавливает загрузку, которая обозначена 'gid'. Параметр
'gid' имеет тип строки. Статус приостановки станет "paused"
(приостановлено). Если загрузка активна, то загрузка переместится на первую
позицию в очередь ожидания. Пока статус "paused", загрузка не начнется. Для
смены статуса на "waiting", используйте метод *<<aria2_rpc_aria2_unpause,
aria2.unpause>>*. Этот метод возвращает GID приостановленной загрузки.

[[aria2_rpc_aria2_pauseAll]]
*aria2.pauseAll* ()
^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод эквивалентен по вызову *<<aria2_rpc_aria2_pause, aria2.pause>>*,
для каждой активной/ожидающей закачки. Этот метод возвращает "OK", в случае
успеха.

[[aria2_rpc_aria2_forcePause]]
*aria2.forcePause* ('pid')
^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод приостанавливает загрузку, которая обозначена 'gid'. Метод
действует подобно *<<aria2_rpc_aria2_pause, aria2.pause>>*, за исключением
того, что метод приостанавливает загрузку без каких-либо действий, которые
требует времени, например связь с BitTorrent-трекером.

[[aria2_rpc_aria2_forcePauseAll]]
*aria2.forcePauseAll* ()
^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод эквивалентен по вызову *<<aria2_rpc_aria2_forcePause,
aria2.forcePause>>*, для каждой активной/ожидающей закачки. Этот метод
возвращает "OK", в случае успеха.

[[aria2_rpc_aria2_unpause]]
*aria2.unpause* ('gid')
^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод изменяет статус загрузки, которая обозначена 'gid', с "paused" на
"waiting". Это позволяет перезапускать загрузку. Значение ключа 'gid' имеет
тип строки. Этот метод возвращает GID, снятой с паузы, загрузки.

[[aria2_rpc_aria2_unpauseAll]]
*aria2.unpauseAll* ()
^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод эквивалентен по вызову *<<aria2_rpc_aria2_unpause,
aria2.unpause>>*, для каждой активной/ожидающей закачки. Этот метод
возвращает "OK", в случае успеха.

[[aria2_rpc_aria2_tellStatus]]
*aria2.tellStatus* ('gid[, keys]')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает состояние загрузки, которая обозначена 'gid'. Параметр
'gid' имеет тип строка. Параметр 'keys' имеет тип массив строк. Если 'keys'
указан, то ответ содержит определенные значения в массиве 'keys'. Если
'keys' пустой или не указан, то ответ содержит все значения. Это полезно,
если вы хотите использовать определенные параметры, чтобы исключить
множество пересылок. Например, *<<aria2_rpc_aria2_tellStatus,
aria2.tellStatus>>*("1", ["gid", "status"]) возвратит 'gid' и
'status'. Ответ имеет тип структура и содержит следующие поля. Поле имеет
тип строка.

gid::

  GID этой загрузки.

status::

  "active" - загружаемая/сидируемая в данный момент. "waiting" - ожидающая в
  очереди; загрузка не началась. "paused" - приостановленная. "error" -
  остановленная, т.к. произошла ошибка. "complete" - остановленная и
  завершенная загрузка. "removed" - удаленная пользователем загрузка.

totalLength::

  Общий объем загрузки в байтах.

completedLength::

  Загруженный объем загрузки в байтах.

uploadLength::

  Выгруженный объем загрузки в байтах.

bitfield::

  Шестнадцатеричное представление процесса загрузки. Старший бит соответствует
  блоку с индексом 0. Бит устанавливается, если блок доступен и не
  устанавливается, если блок отсутствует. Запасные биты в конце
  устанавливаются в 0. Если загрузка еще не начался, этот значение не будет
  включено в ответ.

downloadSpeed::

  Скорость загрузки в байт/сек.

uploadSpeed::

  Скорость выгрузки в байт/сек.

infoHash::

  Информация о хэше (InfoHash). Только для BitTorrent.

numSeeders::

  Количество сидов, к которым подключен клиент. Только для BitTorrent.

pieceLength::

  Размер блока в байтах.

numPieces::

  Количество блоков.

connections::

  Количество пиров/серверов, к которым подключен клиент.

errorCode::

  Последний код ошибки, которая произошла при загрузке. Значение имеет тип
  строки. Коды ошибок определены в разделе *<<_коды_завершения, КОДЫ
  ЗАВЕРШЕНИЯ>>*. Это значение доступно только для остановленных/завершенных
  загрузок.

followedBy::

  Список с GID, которые сгенерированы в результате запуска этой
  загрузки. Например, когда aria2 загружает Metalink-файл, то это генерирует
  загрузки, описанные в нем (см. параметр *<<aria2_optref_follow_metalink,
  --follow-metalink>>*). Это значение полезно для отслеживания автоматически
  сгенерированных загрузок. Если таких загрузок нет, то значение не будет
  включено в ответ.

belongsTo::

  GID родительской загрузки. Некоторые загрузки являются частью другой
  загрузки. Например, если файл в Metalink содержит BitTorrent-ответ, загрузка
  .torrent будет частью этого файла. Если эта загрузка не имеет родительской
  загрузки, то значение не будет включено в ответ.

dir::

  Каталог для сохранения файлов. Этот параметр не доступен для остановленных
  загрузок.

files::

  Возвращает список файлов. Элемент списка - это структура, такая же, что и в
  методе *<<aria2_rpc_aria2_getFiles, aria2.getFiles>>*.


bittorrent::

  Структура, в которой содержится информация, извлеченная из
  .torrent-файла. Только для BitTorrent. Содержит следующие поля.

  announceList;;

    Список списков URI анонса. Если .torrent-файл содержит анонс, а не
    список-анонс, то анонс конвертируется в формат списка-анонса.

  comment;;

    Комментарий по торренту. Используется comment.utf-8, если доступно.

  creationDate;;

    Время создания торрента. Значение является целым числом, с начала века,
    измеряется в секундах.

  mode;;

    Файловый режим торрента. Значение одно из двух: 'single' (одиночный) или
    'multi' (множественный).

  info;;

    Структура, которая содержит данные из раздела Info. Она содержит следующие
    поля.

    name:::

      имя в разделе info. Используется name.utf-8, если доступно.

Пример JSON-RPC
+++++++++++++++

Следующий пример получает информацию о загрузке, GID которой "1":

---------------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.tellStatus', 'params':['1']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'bitfield': u'0000000000',
             u'completedLength': u'901120',
             u'connections': u'1',
             u'dir': u'/downloads',
             u'downloadSpeed': u'15158',
             u'files': [{u'index': u'1',
                         u'length': u'34896138',
                         u'completedLength': u'34896138',
                         u'path': u'/downloads/file',
                         u'selected': u'true',
                         u'uris': [{u'status': u'used',
                                    u'uri': u'http://example.org/file'}]}],
             u'gid': u'1',
             u'numPieces': u'34',
             u'pieceLength': u'1048576',
             u'status': u'active',
             u'totalLength': u'34896138',
             u'uploadLength': u'0',
             u'uploadSpeed': u'0'}}
---------------------------------------------------------------------------

Следующий пример получает информацию об определенных полях, который вас
интересуют:

--------------------------------------------------------------------------
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.tellStatus',
...                       'params':['1', ['gid',
...                                       'totalLength',
...                                       'completedLength']]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'completedLength': u'5701632',
             u'gid': u'1',
             u'totalLength': u'34896138'}}
--------------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример получает информацию о загрузке, GID которой "1":

--------------------------------------------------------------------
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.tellStatus('1')
>>> pprint(r)
{'bitfield': 'ffff80',
 'completedLength': '34896138',
 'connections': '0',
 'dir': '/downloads',
 'downloadSpeed': '0',
 'errorCode': '0',
 'files': [{'index': '1',
            'length': '34896138',
            'completedLength': '34896138',
            'path': '/downloads/file',
            'selected': 'true',
            'uris': [{'status': 'used',
                      'uri': 'http://example.org/file'}]}],
 'gid': '1',
 'numPieces': '17',
 'pieceLength': '2097152',
 'status': 'complete',
 'totalLength': '34896138',
 'uploadLength': '0',
 'uploadSpeed': '0'}
--------------------------------------------------------------------

Следующий пример получает информацию об определенных полях, который вас
интересуют:

--------------------------------------------------------------------------
>>> r = s.aria2.tellStatus('1', ['gid', 'totalLength', 'completedLength'])
>>> pprint(r)
{'completedLength': '34896138', 'gid': '1', 'totalLength': '34896138'}
--------------------------------------------------------------------------

[[aria2_rpc_aria2_getUris]]
*aria2.getUris* ('gid')
^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает URI, используемые в загрузке, которая обозначена
'gid'. Параметр 'gid' имеет тип строка. Ответ имеет тип массив, а элемент -
тип структура и содержит следующие поля. Поле имеет тип строка.

uri::

  URI

status::

  'used', если URI уже использован. 'waiting', если URI ожидает в очереди.

Пример JSON-RPC
+++++++++++++++

--------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getUris', 'params':['1']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [{u'status': u'used',
              u'uri': u'http://example.org/file'}]}
--------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

--------------------------------------------------------------------
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getUris('1')
>>> pprint(r)
[{'status': 'used', 'uri': 'http://example.org/file'}]
--------------------------------------------------------------------

[[aria2_rpc_aria2_getFiles]]
*aria2.getFiles* ('gid')
^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает список файлов загрузки, которая обозначена
'gid'. Параметр 'gid' имеет тип строка. Ответ имеет тип массив, а элемент -
тип структура и содержит следующие поля. Поле имеет тип строка.

index::

  Индекс файла. Начинается с 1. Последовательность файлов такая же, что и в
  многофайловом торренте.

path::

  Путь к файлу.

length::

  Размер файла в байта.

completedLength::

  Загруженный объем файла в байтах. Обратите внимание, что вполне возможно,
  что сумма completedLength меньше чем в методе *<<aria2_rpc_aria2_tellStatus,
  aria2.tellStatus>>*.  Это потому, что completedLength в
  *<<aria2_rpc_aria2_getFiles, aria2.getFiles>>* считаются только завершенные
  блоки. С другой стороны, completedLength в *<<aria2_rpc_aria2_tellStatus,
  aria2.tellStatus>>* учитывает частично завершенные блоки.

selected::

  "true" - если этот файл выбран параметром *<<aria2_optref_select_file,
  --select-file>>*. Если параметр *<<aria2_optref_select_file,
  --select-file>>* не указан или это однофайловый торрент или загрузка не
  торрент, то это значение всегда будет "true". Иначе "false".

uris::

  Возвращает список URI для этого файла. Элемент списка такая же структура,
  что используется в методе *<<aria2_rpc_aria2_getUris, aria2.getUris>>*.

Пример JSON-RPC
+++++++++++++++

---------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getFiles', 'params':['1']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [{u'index': u'1',
              u'length': u'34896138',
              u'completedLength': u'34896138',
              u'path': u'/downloads/file',
              u'selected': u'true',
              u'uris': [{u'status': u'used',
                         u'uri': u'http://example.org/file'}]}]}
---------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

--------------------------------------------------------------------------
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getFiles('1')
>>> pprint(r)
[{'index': '1',
  'length': '34896138',
  'completedLength': '34896138',
  'path': '/downloads/file',
  'selected': 'true',
  'uris': [{'status': 'used',
            'uri': 'http://example.org/file'}]}]
--------------------------------------------------------------------------

[[aria2_rpc_aria2_getPeers]]
*aria2.getPeers* ('gid')
^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает список пиров загрузки, которая обозначена
'gid'. Параметр 'gid' имеет тип строка. Этот метод только для
BitTorrent. Ответ имеет тип массив, а элемент - тип структура и содержит
следующие поля. Поле имеет тип строка.

peerId::

  Закодированное ID пира.

ip::

  IP-адрес пира.

port::

  Номер порта пира.

bitfield::

  Шестнадцатеричное представление процесса загрузки. Старший бит соответствует
  блоку с индексом 0. Бит устанавливается, если блок доступен и не
  устанавливается, если блок отсутствует. Запасные биты в конце
  устанавливаются в 0.

amChoking::

  "true" - если этот клиент блокирует пира. Иначе "false".

peerChoking::

  "true" - если пир блокирует этого клиента. Иначе "false".

downloadSpeed::

  Скорость загрузки (байт/сек), с которой этот клиент получает от пира.

uploadSpeed::

  Скорость выгрузки (байт/сек), с которой этот клиент отдает пиру.

seeder::

  "true" - если этот клиент является сидом. Иначе "false".

Пример JSON-RPC
+++++++++++++++

-----------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getPeers', 'params':['1']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [{u'amChoking': u'true',
              u'bitfield': u'ffffffffffffffffffffffffffffffffffffffff',
              u'downloadSpeed': u'10602',
              u'ip': u'10.0.0.9',
              u'peerChoking': u'false',
              u'peerId': u'aria2%2F1%2E10%2E5%2D%87%2A%EDz%2F%F7%E6',
              u'port': u'6881',
              u'seeder': u'true',
              u'uploadSpeed': u'0'},
             {u'amChoking': u'false',
              u'bitfield': u'ffffeff0fffffffbfffffff9fffffcfff7f4ffff',
              u'downloadSpeed': u'8654',
              u'ip': u'10.0.0.30',
              u'peerChoking': u'false',
              u'peerId': u'bittorrent client758',
              u'port': u'37842',
              u'seeder': u'false',
              u'uploadSpeed': u'6890'}]}
-----------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

--------------------------------------------------------------------------
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getPeers('1')
>>> pprint(r)
[{'amChoking': 'true',
  'bitfield': 'ffffffffffffffffffffffffffffffffffffffff',
  'downloadSpeed': '10602',
  'ip': '10.0.0.9',
  'peerChoking': 'false',
  'peerId': 'aria2%2F1%2E10%2E5%2D%87%2A%EDz%2F%F7%E6',
  'port': '6881',
  'seeder': 'true',
  'uploadSpeed': '0'},
 {'amChoking': 'false',
  'bitfield': 'ffffeff0fffffffbfffffff9fffffcfff7f4ffff',
  'downloadSpeed': '8654',
  'ip': '10.0.0.30',
  'peerChoking': 'false',
  'peerId': 'bittorrent client758',
  'port': '37842',
  'seeder': 'false,
  'uploadSpeed': '6890'}]
--------------------------------------------------------------------------

[[aria2_rpc_aria2_getServers]]
*aria2.getServers* ('gid')
^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает текущие подключенные HTTP(S)/FTP-серверы загрузки,
которая обозначена 'gid'. Параметр 'gid' имеет тип строка. Ответ имеет тип
массив, а элемент - тип структура и содержит следующие поля. Поле имеет тип
строка.

index::

  Индекс файла. Начинается с 1. Последовательность файлов такая же, что и в
  многофайловом торренте.

servers::

  Список структур, которые содержат следующие поля.

  uri;;

    Первоначально добавленный URI.

  currentUri;;

    Это URI в настоящее время используется для загрузки. Если происходит
    перенаправление, currentUri и uri могут отличаться.

  downloadSpeed;;

    Скорость загрузки (байт/сек)

Пример JSON-RPC
+++++++++++++++

-----------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getServers', 'params':['1']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': [{u'index': u'1',
              u'servers': [{u'currentUri': u'http://example.org/file',
                            u'downloadSpeed': u'10467',
                            u'uri': u'http://example.org/file'}]}]}
-----------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

--------------------------------------------------------------------
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getServers('1')
>>> pprint(r)
[{'index': '1',
  'servers': [{'currentUri': 'http://example.org/dl/file',
               'downloadSpeed': '20285',
               'uri': 'http://example.org/file'}]}]
--------------------------------------------------------------------

[[aria2_rpc_aria2_tellActive]]
*aria2.tellActive* ('[keys]')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает список активных загрузок. Ответ имеет тип массив и его
элемент такая же структура, которая возвращается методом
*<<aria2_rpc_aria2_tellStatus, aria2.tellStatus>>*. За разъяснениями о
параметре 'keys', обратитесь к методу *<<aria2_rpc_aria2_tellStatus,
aria2.tellStatus>>*.

[[aria2_rpc_aria2_tellWaiting]]
*aria2.tellWaiting* ('offset, num, [keys]')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает список ожидающих загрузок, включая приостановленные
загрузки. 'offset' имеет целочисленный тип и указывает смещение, начиная от
ожидающей загрузки. 'num' имеет целочисленный тип и указывает число
возвращаемых загрузок. За разъяснениями о параметре 'keys', обратитесь к
методу *<<aria2_rpc_aria2_tellStatus, aria2.tellStatus>>*.

Если смещение положительное целое число, то этот метод возвращает загрузки в
диапазоне ['offset', 'offset'+'num').

'offset' может быть отрицательным целым числом. 'offset' == -1 указывает на
последнею загрузку, которая ожидает в очереди, а 'offset' == -2 указывает на
загрузку перед последней, и так далее. Загрузки в ответе находятся в
обратном порядке.

Например, допустим, что есть три загрузки "A","B" и "C", в этом порядке,
которые ожидают. aria2.tellWaiting(0, 1) возвратит
["A"]. aria2.tellWaiting(1, 2) возвратит ["B", "C"]. aria2.tellWaiting(-1,
2) возвратит ["C", "B"].

Ответ имеет тип массив и его элемент такая же структура, которая
возвращается методом *<<aria2_rpc_aria2_tellStatus, aria2.tellStatus>>*.

[[aria2_rpc_aria2_tellStopped]]
*aria2.tellStopped* ('offset, num, [keys]')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает список остановленных загрузок. 'offset' имеет
целочисленный тип и указывает смещение, начиная с самой старой
загрузки. 'num' имеет целочисленный тип и указывает число возвращаемых
загрузок. За разъяснениями о параметре 'keys', обратитесь к методу
*<<aria2_rpc_aria2_tellStatus, aria2.tellStatus>>*.

'offset' и 'num' имеют такую же семантику, как и в методе
*<<aria2_rpc_aria2_tellWaiting, aria2.tellWaiting>>*.

Ответ имеет тип массив и его элемент такая же структура, которая
возвращается методом *<<aria2_rpc_aria2_tellStatus, aria2.tellStatus>>*.

[[aria2_rpc_aria2_changePosition]]
*aria2.changePosition* ('gid, pos, how')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод меняет позицию загрузки, которая обозначена 'gid'. 'pos' имеет
целочисленный тип. 'how' имеет тип строка. Если 'how' - "POS_SET", то это
переместит загрузку на позицию, относительно начала очереди. Если 'how' -
"POS_CUR", это переместит загрузку на позицию, относительно текущей
позиции. Если 'how' - "POS_END", это переместит загрузку на позицию,
относительно конца очереди. Если целевая позиция меньше чем 0 или за
пределами конца очереди, это переместит загрузку в начало или конец очереди
соответственно. Ответ имеет целочисленный тип и является целевой позицией.

Например, если GID#1 размещается на позиции 3, aria2.changePosition(1, -1,
POS_CUR) изменит его позицию на 2. Дополнительно aria2.changePosition(1, 0,
POS_SET) изменит его позицию на 0 (начало очереди).

Пример JSON-RPC
+++++++++++++++

Следующий пример перемещает загрузку, GID которой "3", в начало очереди
ожидания:

-----------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.changePosition',
...                       'params':['3', 0, 'POS_SET']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': 0}
-----------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример перемещает загрузку, GID которой "3", в начало очереди
ожидания:

--------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.changePosition('3', 0, 'POS_SET')
0
--------------------------------------------------------------------

[[aria2_rpc_aria2_changeUri]]
*aria2.changeUri* ('gid, fileIndex, delUris, addUris[, position]')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод удаляет URI в 'delUris' из загрузки и добавляет URI в 'addUris' к
загрузке, которая обозначена 'gid'. 'delUris' и 'addUris' являются списком
строк. Загрузка может содержать несколько файлов и URI прилагаются к каждому
файлу. 'fileIndex' используется, чтобы выбрать файл для удаления/подключения
заданных URI. 'fileIndex' начинается с 1. 'position' используется для
указания, куда будут вставлены URI в существующем списке ожидающих
URI. 'position' начинается с 0. Когда 'position' пропущено, URI добавляются
в конец списка. Этот метод сначала выполняет удаление, а потом
добавление. 'position' это позиция после URI, которые будут удалены, а не
позиция, когда метод вызывается. При удалении URI, если одинаковые URI
существуют в загрузке, только один из них будет удален, для каждого URI в
'delUris'. Другими словами, есть три URI "http://example.org/aria2" и вы
хотите удалить их все, вы должны указать (по крайней мере) 3
"http://example.org/aria2" в 'delUris'. Этот метод возвращает список,
который содержит 2 целых числа. Первое - количество удаленных URI. Второе -
количество добавленных URI.

Пример JSON-RPC
+++++++++++++++

Следующий пример добавляет 1 URI \http://example.org/file к файлу с индексом
"1", принадлежащий загрузке, GID которой "2":

------------------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.changeUri',
...                       'params':['2', 1, [], ['http://example.org/file']]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [0, 1]}
------------------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример добавляет 1 URI \http://example.org/file к файлу с индексом
"1", принадлежащий загрузке, GID которой "2":

--------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.changeUri('2', 1, [], ['http://example.org/file'])
[0, 1]
--------------------------------------------------------------------

[[aria2_rpc_aria2_getOption]]
*aria2.getOption* ('gid')
^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает параметры загрузки, которая обозначена 'gid'. Ответ
имеет тип структура. Ее поля - это название параметра. Поле имеет тип
строка.

Пример JSON-RPC
+++++++++++++++

Следующий пример получает параметры загрузки, GID которой "1":

----------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getOption', 'params':['1']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'allow-overwrite': u'false',
             u'allow-piece-length-change': u'false',
             u'always-resume': u'true',
             u'async-dns': u'true',
 ...
----------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример получает параметры загрузки, GID которой "1":

--------------------------------------------------------------------
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getOption('1')
>>> pprint(r)
{'allow-overwrite': 'false',
 'allow-piece-length-change': 'false',
 'always-resume': 'true',
 'async-dns': 'true',
 ....
--------------------------------------------------------------------

[[aria2_rpc_aria2_changeOption]]
*aria2.changeOption* ('gid, options')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод изменяет динамически параметры загрузки, которая обозначена
'gid'. 'gid' имеет тип строка. 'options' имеет тип структура. Доступны
следующие параметры для активных загрузок:

* *<<aria2_optref_bt_max_peers, bt-max-peers>>*
* *<<aria2_optref_bt_request_peer_speed_limit, bt-request-peer-speed-limit>>*
* *<<aria2_optref_max_download_limit, max-download-limit>>*
* *<<aria2_optref_max_upload_limit, max-upload-limit>>*

Для ожидающих или приостановленных загрузок, в дополнение к выше
перечисленным параметрам, доступны параметры, перечисленные в подразделе
*<<_входной_файл, Входной файл>>*, исключая следующие параметры:
*<<aria2_optref_dry_run, dry-run>>*, *<<aria2_optref_metalink_base_uri,
metalink-base-uri>>*, *<<aria2_optref_parameterized_uri,
parameterized-uri>>*, *<<aria2_optref_pause, pause>>* и
*<<aria2_optref_piece_length, piece_length>>*. Этот метод возвращает "OK", в
случае успеха.

Пример JSON-RPC
+++++++++++++++

Следующий пример устанавливает параметр *<<aria2_optref_max_download_limit,
max-download-limit>>* в "20K" для загрузки, GID которой "1":

------------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.changeOption',
...                       'params':['1', {'max-download-limit':'10K'}]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': u'OK'}
------------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример устанавливает параметр *<<aria2_optref_max_download_limit,
max-download-limit>>* в "20K" для загрузки, GID которой "1":

--------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.changeOption('1', {'max-download-limit':'20K'})
'OK'
--------------------------------------------------------------------

[[aria2_rpc_aria2_getGlobalOption]]
*aria2.getGlobalOption* ()
^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает глобальные параметры. Ответ имеет тип структура. Ее
поля - это название параметра. Поле имеет тип строка. Так как глобальные
параметры используются в качестве шаблона для вновь добавляемой загрузки,
ответ содержит поля возвращаемые методом *<<aria2_rpc_aria2_getOption,
aria2.getOption>>*.

[[aria2_rpc_aria2_changeGlobalOption]]
*aria2.changeGlobalOption* ('options')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод изменяет динамически глобальные параметры. 'options' имеет тип
структура. Доступны следующие параметры:

* *<<aria2_optref_download_result, download-result>>*
* *<<aria2_optref_log, log>>*
* *<<aria2_optref_log_level, log-level>>*
* *<<aria2_optref_max_concurrent_downloads, max-concurrent-downloads>>*
* *<<aria2_optref_max_download_result, max-download-result>>*
* *<<aria2_optref_max_overall_download_limit, max-overall-download-limit>>*
* *<<aria2_optref_max_overall_upload_limit, max-overall-upload-limit>>*
* *<<aria2_optref_save_cookies, save-cookies>>*
* *<<aria2_optref_save_session, save-session>>*
* *<<aria2_optref_server_stat_of, server-stat-of>>*

В дополнение к ним, параметры перечисленные в подразделе *<<_входной_файл,
Входной файл>>*, исключая следующие параметры: *<<aria2_optref_checksum,
checksum>>*, *<<aria2_optref_index_out, index-out>>*, *<<aria2_optref_out,
out>>*, *<<aria2_optref_pause, pause>>* и *<<aria2_optref_select_file,
select-file>>*.

Используя параметр *<<aria2_optref_log,log>>*, вы можете динамически
начинать вести журнал событий или изменять файл журнала событий. Чтобы
остановить ведение журнала событий, задайте пустую строку ("") в качестве
значения параметра. Обратите внимание, что файл журнала событий всегда
открыт в режиме добавления. Этот метод возвращает "OK", в случае успеха.

[[aria2_rpc_aria2_getGlobalStat]]
*aria2.getGlobalStat* ()
^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает глобальную статистику по скорости загрузки и скорости
отдачи. Ответ имеет тип структура и содержит следующие поля. Поле имеет тип
строка.

downloadSpeed::

  Общая скорость загрузки (байт/сек).

uploadSpeed::

  Общая скорость отдачи (байт/сек).

numActive::

  Количество активных загрузок.

numWaiting::

  Количество ожидающих загрузок.

numStopped::

  Количество остановленных загрузок.

Пример JSON-RPC
+++++++++++++++

----------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getGlobalStat'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'downloadSpeed': u'21846',
             u'numActive': u'2',
             u'numStopped': u'0',
             u'numWaiting': u'0',
             u'uploadSpeed': u'0'}}
----------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

----------------------------------------------------------------------
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getGlobalStat()
>>> pprint(r)
{'downloadSpeed': '23136',
 'numActive': '2',
 'numStopped': '0',
 'numWaiting': '0',
 'uploadSpeed': '0'}
----------------------------------------------------------------------

[[aria2_rpc_aria2_purgeDownloadResult]]
*aria2.purgeDownloadResult* ()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод очищает, для освобождения памяти, завершенные/ошибка/удаленные
загрузки. Метод возвращает "OK".

[[aria2_rpc_aria2_removeDownloadResult]]
*aria2.removeDownloadResult* ('gid')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод удаляет из памяти завершенную/ошибка/удаленную загрузку, которая
обозначена 'gid'. Метод возвращает "OK", в случае успеха.

Пример JSON-RPC
+++++++++++++++

Следующий пример удаляет результат загрузки, GID которой "1":

------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.removeDownloadResult',
...                       'params':['1']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': u'OK'}
------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

Следующий пример удаляет результат загрузки, GID которой "1":

--------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.removeDownloadResult('1')
'OK'
--------------------------------------------------------------------

[[aria2_rpc_aria2_getVersion]]
*aria2.getVersion* ()
^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает версию программы и список включенных
возможностей. Ответ имеет тип структура и содержит следующие поля.

version::

  Номер версии программы в строке.

enabledFeatures::

  Список включенных возможностей. Каждое имя возможности имеет тип строка.

Пример JSON-RPC
+++++++++++++++

------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getVersion'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'enabledFeatures': [u'Async DNS',
                                  u'BitTorrent',
                                  u'Firefox3 Cookie',
                                  u'GZip',
                                  u'HTTPS',
                                  u'Message Digest',
                                  u'Metalink',
                                  u'XML-RPC'],
             u'version': u'1.11.0'}}
------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

--------------------------------------------------------------------
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getVersion()
>>> pprint(r)
{'enabledFeatures': ['Async DNS',
                     'BitTorrent',
                     'Firefox3 Cookie',
                     'GZip',
                     'HTTPS',
                     'Message Digest',
                     'Metalink',
                     'XML-RPC'],
 'version': '1.11.0'}
--------------------------------------------------------------------

[[aria2_rpc_aria2_getSessionInfo]]
*aria2.getSessionInfo* ()
^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод возвращает информацию о сессии. Ответ имеет тип структура и
содержит следующие поля.

sessionId::

  ID сессии, которое генерируется каждый раз, при запуске aria2.

Пример JSON-RPC
+++++++++++++++

------------------------------------------------------------------------
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'aria2.getSessionInfo'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
 u'jsonrpc': u'2.0',
 u'result': {u'sessionId': u'cd6a3bc6a1de28eb5bfa181e5f6b916d44af31a9'}}
------------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

--------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.getSessionInfo()
{'sessionId': 'cd6a3bc6a1de28eb5bfa181e5f6b916d44af31a9'}
--------------------------------------------------------------------

[[aria2_rpc_aria2_shutdown]]
*aria2.shutdown* ()
^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод закрывает aria2. Метод возвращает "OK".

[[aria2_rpc_aria2_forceShutdown]]
*aria2.forceShutdown* ()
^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод закрывает aria2. Метод действует подобно
*<<aria2_rpc_aria2_shutdown, aria2.shutdown>>*, за исключением того, что
метод выполняется без каких-либо действий, которые требует времени, связь с
BitTorrent-трекером пропускается. Метод возвращает "OK".

[[aria2_rpc_system_multicall]]
*system.multicall* ('methods')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Описание
++++++++

Этот метод объединяет несколько вызовов методов в один запрос. 'methods'
имеет тип массив, а элемент является структурой. Структура содержит два
поля: "methodName" и "params". "methodName" - это имя вызываемого метода, а
"params" - содержит параметры к методу. Метод возвращает массив
ответов. Элемент массива будет одним из двух: массивом из одного элемента,
который содержит возвращаемое значение, для каждого вызываемого метода или
структурой с ошибками в полях, если вызов объединенного метода завершился
неудачно.

Пример JSON-RPC
+++++++++++++++

В следующем примере мы добавляем 2 загрузки. Первая -
\http://example.org/file и вторая - один file.torrent:

---------------------------------------------------------------------------------------------------
>>> import urllib2, json, base64
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
...                       'method':'system.multicall',
...                       'params':[[{'methodName':'aria2.addUri',
...                                   'params':[['http://example.org']]},
...                                  {'methodName':'aria2.addTorrent',
...                                   'params':[base64.b64encode(open('file.torrent').read())]}]]})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': [[u'1'], [u'2']]}
---------------------------------------------------------------------------------------------------

JSON-RPC также поддерживает пакетный запрос, который описывается в
спецификации JSON-RPC 2.0:

----------------------------------------------------------------------------------------
>>> jsonreq = json.dumps([{'jsonrpc':'2.0', 'id':'qwer',
...                        'method':'aria2.addUri',
...                        'params':[['http://example.org']]},
...                       {'jsonrpc':'2.0', 'id':'asdf',
...                        'method':'aria2.addTorrent',
...                        'params':[base64.b64encode(open('file.torrent').read())]}])
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
[{u'id': u'qwer', u'jsonrpc': u'2.0', u'result': u'1'},
 {u'id': u'asdf', u'jsonrpc': u'2.0', u'result': u'2'}]
----------------------------------------------------------------------------------------

Пример XML-RPC
++++++++++++++

В следующем примере мы добавляем 2 загрузки. Первая -
\http://example.org/file и вторая - один file.torrent:

----------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> mc = xmlrpclib.MultiCall(s)
>>> mc.aria2.addUri(['http://example.org/file'])
>>> mc.aria2.addTorrent(xmlrpclib.Binary(open('file.torrent').read()))
>>> r = mc()
>>> tuple(r)
('2', '3')
----------------------------------------------------------------------

Обработка ошибок
~~~~~~~~~~~~~~~~

В JSON-RPC, aria2 возвращает JSON-объект, который содержит код ошибки в коде
и сообщение об ошибке в сообщении.

В XML-RPC, aria2 возвращает faultCode=1 и сообщение об ошибке в faultString.

[[aria2_rpc_options]]
Параметры
~~~~~~~~~

Те же параметры, что доступны для *<<aria2_optref_input_file,
-i>>*. Смотрите подраздел *<<_входной_файл, Входной файл>>* для полного
списка параметров.

В структуре, имя элемента - это имя параметра (без "--"), а значение
элемента - аргумент в виде строки.

Пример JSON-RPC
^^^^^^^^^^^^^^^

----------------------------------------------
{'split':'1', 'http-proxy':'http://proxy/'}
----------------------------------------------

Пример XML-RPC
^^^^^^^^^^^^^^

-------------------------------------------------
<struct>
  <member>
    <name>split</name>
    <value><string>1</string></value>
  </member>
  <member>
    <name>http-proxy</name>
    <value><string>http://proxy/</string></value>
  </member>
</struct>
-------------------------------------------------

Параметры *<<aria2_optref_header, header>>* и *<<aria2_optref_index_out, index-out>>*
допускают нескольких определений в
командной строке. Поскольку имя должно быть уникальным в структуре
(многие реализации библиотеки XML-RPC использует хэш или словарь
для структуры), одной строки не достаточно. Для преодоления этой
ситуации, они могут взять массив в качестве значения, а также строку.

Пример JSON-RPC
^^^^^^^^^^^^^^^

-------------------------------------------------------------
{'header':['Accept-Language: ja', 'Accept-Charset: utf-8']}
-------------------------------------------------------------

Пример XML-RPC
^^^^^^^^^^^^^^

---------------------------------------------------------------
<struct>
  <member>
    <name>header</name>
    <value>
      <array>
        <data>
          <value><string>Accept-Language: ja</string></value>
          <value><string>Accept-Charset: utf-8</string></value>
        </data>
      </array>
    </value>
  </member>
</struct>
---------------------------------------------------------------

Следующий пример добавляет загрузку с двумя параметрами: dir и
header. Параметр header имеет 2 значения, поэтому используется список:
-------------------------------------------------------------------------
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> opts = dict(dir='/tmp',
...             header=['Accept-Language: ja',
...                     'Accept-Charset: utf-8'])
>>> s.aria2.addUri(['http://example.org/file'], opts)
'1'
--------------------------------------------------------------------------

JSON-RPC используя HTTP GET
~~~~~~~~~~~~~~~~~~~~~~~~~~~

JSON-RPC-интерфейс также поддерживает запрос через HTTP GET. Схема
кодирования в GET параметров основанных на
http://groups.google.com/group/json-rpc/web/json-rpc-over-http[JSON-RPC
через HTTP Спецификация (2008-1-15(RC1))]. Кодирование параметров через GET
следующие:

--------------------------------------------------------------
/jsonrpc?method=METHOD_NAME&id=ID&params=BASE64_ENCODED_PARAMS
--------------------------------------------------------------

'method' и 'id' всегда обрабатывается как JSON-строка и они должны быть в
кодировке UTF-8.

Например, закодированная строка aria2.tellStatus('3') с id='foo' выглядит
так:

---------------------------------------------------------
/jsonrpc?method=aria2.tellStatus&id=foo&params=WyIzIl0%3D
---------------------------------------------------------

Параметр 'params' - это JSON-массив в Base64-кодировке, который обычно
появляется в атрибуте 'params' в JSON-RPC-запросе объекта. В примере выше,
params - ['3'], следовательно:

-------------------------------------------------------------
['3'] --(Base64)--> WyIzIl0= --(Percent Encode)--> WyIzIl0%3D
-------------------------------------------------------------

JSON-RPC-интерфейс поддерживает JSONP. Вы можете определить функцию
обратного вызова в параметре 'jsoncallback'.

-------------------------------------------------------------------------
/jsonrpc?method=aria2.tellStatus&id=foo&params=WyIzIl0%3D&jsoncallback=cb
-------------------------------------------------------------------------

Для пакетного запроса, параметры 'method' и 'id' не должны быть
указаны. Полный запрос должен быть определен в параметре 'params'. Например,
пакетный запрос

-------------------------------------------------------------
[{'jsonrpc':'2.0', 'id':'qwer', 'method':'aria2.getVersion'},
 {'jsonrpc':'2.0', 'id':'asdf', 'method':'aria2.tellActive'}]
-------------------------------------------------------------

должен кодироваться так:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/jsonrpc?params=W3sianNvbnJwYyI6ICIyLjAiLCAiaWQiOiAicXdlciIsICJtZXRob2QiOiAiYXJpYTIuZ2V0VmVyc2lvbiJ9LCB7Impzb25ycGMiOiAiMi4wIiwgImlkIjogImFzZGYiLCAibWV0aG9kIjogImFyaWEyLnRlbGxBY3RpdmUifV0%3D
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Пример кода клиента XML-RPC
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Следующий Ruby-скрипт добавляет 'http://localhost/aria2.tar.bz2', с
параметром *<<aria2_optref_dir, --dir>>*='/downloads', в aria2c, которая
работает на localhost и отображает ответ.

----------------------------------------------
#!/usr/bin/env ruby

require 'xmlrpc/client'
require 'pp'

client=XMLRPC::Client.new2("http://localhost:6800/rpc")

options={ "dir" => "/downloads" }
result=client.call("aria2.addUri", [ "http://localhost/aria2.tar.bz2" ], options)

pp result
----------------------------------------------

Если вы любитель Python, то можете использовать xmlrpclib(для Python3.x,
используйте взамен xmlrpc.client) для взаимодействия с aria2.

----------------------------------------------
import xmlrpclib
from pprint import pprint

s = xmlrpclib.ServerProxy("http://localhost:6800/rpc")
r = s.aria2.addUri(["http://localhost/aria2.tar.bz2"], {"dir":"/downloads"})
pprint(r)
----------------------------------------------

ПРИМЕРЫ
-------

Загрузка по HTTP/FTP
~~~~~~~~~~~~~~~~~~~~
Загрузка файла
^^^^^^^^^^^^^^
--------------------------------
aria2c "http://host/file.zip"
--------------------------------

[NOTE]
Для остановки загрузки, нажмите Ctrl-C. Вы можете возобновить передачу,
запустив aria2c с теми же аргументами в том же каталоге. Вы можете изменить
URI, если они указывают на тот же самый файл.

Загрузка файла с 2-ух разных HTTP-серверов
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------
aria2c "http://host/file.zip" "http://mirror/file.zip"
------------------------------------------------------

Загрузка файла с одно хоста, используя 2 соединения
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------
aria2c -x2 -k1M "http://host/file.zip"
------------------------------------------------------

Загрузка файла с HTTP- и FTP-серверов
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-----------------------------------------------------
aria2c "http://host1/file.zip" "ftp://host2/file.zip"
-----------------------------------------------------

Одновременная загрузка файлов, перечисленных в текстовом файле
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------
aria2c -ifiles.txt -j2
------------------------
[NOTE]
Параметр -j указывает количество параллельных загрузок.

Использование прокси-сервера
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Для HTTP:
----------------------------------------------------------
aria2c --http-proxy="http://proxy:8080" "http://host/file"
----------------------------------------------------------
----------------------------------------------------------
aria2c --http-proxy="http://proxy:8080" --no-proxy="localhost,127.0.0.1,192.168.0.0/16" "http://host/file"
----------------------------------------------------------

Для FTP:
--------------------------------------------------------
aria2c --ftp-proxy="http://proxy:8080" "ftp://host/file"
--------------------------------------------------------

[NOTE]

Смотрите для подробностей *<<aria2_optref_http_proxy, --http-proxy>>*,
*<<aria2_optref_https_proxy, --https-proxy>>*, *<<aria2_optref_ftp_proxy,
--ftp-proxy>>*, *<<aria2_optref_all_proxy, --all-proxy>>* и
*<<aria2_optref_no_proxy, --no-proxy>>*.  Вы можете указать прокси в
переменных окружения. Смотрите раздел *<<_окружение, ОКРУЖЕНИЕ>>*.

Прокси-сервер с авторизацией
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
----------------------------------------------------------------------------
aria2c --http-proxy="http://username:password@proxy:8080" "http://host/file"
----------------------------------------------------------------------------

----------------------------------------------------------------------------
aria2c --http-proxy="http://proxy:8080" --http-proxy-user="username" --http-proxy-passwd="password" "http://host/file"
----------------------------------------------------------------------------

Загрузка Metalink
~~~~~~~~~~~~~~~~~
Загрузка файлов с удаленного Metalink
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--------------------------------------------------------
aria2c --follow-metalink=mem "http://host/file.metalink"
--------------------------------------------------------

Загрузка, используя локальный metalink-файл
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
----------------------------------------------------------
aria2c -p --lowest-speed-limit=4000 file.metalink
----------------------------------------------------------
[NOTE]
Для остановки загрузки, нажмите Ctrl-C. Вы можете возобновить передачу,
запустив aria2c с теми же аргументами в том же каталоге.

Загрузка нескольких локальных metalink-файлов
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
----------------------------------------
aria2c -j2 file1.metalink file2.metalink
----------------------------------------

Загрузка только выбранных файлов, используя индекс
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-------------------------------------------
aria2c --select-file=1-4,8 file.metalink
-------------------------------------------
[NOTE]
Индекс выводится на консоль при использовании параметра -S.

Загрузка файла, используя локальный .metalink-файл с пользовательскими настройками
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------------------------------
aria2c --metalink-location=jp,us --metalink-version=1.1 --metalink-language=en-US file.metalink
------------------------------------------------------------------------------

Загрузка BitTorrent
~~~~~~~~~~~~~~~~~~~
Загрузка файлов из удаленного BitTorrent-файла
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------
aria2c --follow-torrent=mem "http://host/file.torrent"
------------------------------------------------------

Загрузка, используя локальный torrent-файл
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
---------------------------------------------
aria2c --max-upload-limit=40K file.torrent
---------------------------------------------
[NOTE]
--max-upload-limit определяет максимальную скорость отдачи.

[NOTE]
Для остановки загрузки, нажмите Ctrl-C. Вы можете возобновить передачу,
запустив aria2c с теми же аргументами в том же каталоге.

Загрузка, используя BitTorrent Magnet URI
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

------------------------------------------------------------------------------
aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"
------------------------------------------------------------------------------

[NOTE]
Не забывайте заключать BitTorrent Magnet URI, в которой есть символ "&", в
одиночные(') или двойные(") кавычки.

Загрузка 2-х торрентов
^^^^^^^^^^^^^^^^^^^^^^
--------------------------------------
aria2c -j2 file1.torrent file2.torrent
--------------------------------------

Загрузка файла, используя торрент и HTTP/FTP-сервер
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------------
aria2c -Ttest.torrent "http://host1/file" "ftp://host2/file"
------------------------------------------------------------
[NOTE]
Загрузка многофайлового торрента через HTTP/FTP не поддерживается.

Загрузка только выбранных файлов, используя индекс (обычно называют "выборочная загрузка")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
---------------------------------------
aria2c --select-file=1-4,8 file.torrent
---------------------------------------
[NOTE]
Индекс выводится на консоль при использовании параметра -S.

Указание имени выходного файла
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Для указания выходного имени файла в BitTorrent-загрузках, вам нужно узнать
индекс файла в torrent-файле, используя параметр *<<aria2_optref_show_files,
-S>>*. Например, результат выглядит следующим образом:

--------------------------
idx|path/length
===+======================
  1|dist/base-2.6.18.iso
   |99.9MiB
---+----------------------
  2|dist/driver-2.6.18.iso
   |169.0MiB
---+----------------------
--------------------------

Сохраняет 'dist/base-2.6.18.iso' в '/tmp/mydir/base.iso' и
'dist/driver-2.6.18.iso' в '/tmp/dir/driver.iso', при использовании
следующей команды:

-----------------------------------------------------------------------------------------
aria2c --dir=/tmp --index-out=1=mydir/base.iso --index-out=2=dir/driver.iso file.torrent
-----------------------------------------------------------------------------------------

Изменение прослушиваемого порта для входящих соединений от пиров
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
---------------------------------------------------
aria2c --listen-port=7000-7001,8000 file.torrent
---------------------------------------------------
[NOTE]
Т.к. aria2 не настраивает брандмауэр или маршрутизатор для перенаправления
портов, вам решать, как это сделать вручную.

Указать условие остановки программы после завершения загрузки торрента
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-------------------------------------------------------
aria2c --seed-time=120 --seed-ratio=1.0 file.torrent
-------------------------------------------------------

[NOTE]
В приведенном выше примере, программа завершается через 120 минут после
завершения загрузки или при достижении рейтинга сидирования 1.0.

Регулировка скорости отдачи
^^^^^^^^^^^^^^^^^^^^^^^^^^^
----------------------------------------------
aria2c --max-upload-limit=100K file.torrent
---------------------------------------------- 

Включить IPv4 DHT
^^^^^^^^^^^^^^^^^
---------------------------------------------------------
aria2c --enable-dht --dht-listen-port=6881 file.torrent
---------------------------------------------------------
[NOTE]
DHT использует udp-порт. Так как aria2 не настраивает брандмауэр или
маршрутизатор для перенаправления портов, вам решать как это сделать
вручную.

Включить IPv6 DHT
^^^^^^^^^^^^^^^^^
-----------------------------------------------------------------------------------------------------------
aria2c --enable-dht6 --dht-listen-port=6881
--dht-listen-addr6=YOUR_GLOBAL_UNICAST_IPV6_ADDR --enable-async-dns6
-----------------------------------------------------------------------------------------------------------
[NOTE]
Если aria2c не собрана с c-ares, то *<<aria2_optref_enable_async_dns6, --enable-async-dns6>>*
не нужен. aria2 разделяет один и тот же порт между IPv4 и IPv6 DHT.

Добавить и удалить URI трекера
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Удалить все URI анонса трекеров, описанных в file.torrent и
взамен использовать "http://tracker1/announce" и "http://tracker2/announce".

---------------------------------------------------------------------------------------------------------
aria2c --bt-exclude-tracker="*"
--bt-tracker="http://tracker1/announce,http://tracker2/announce"
file.torrent
---------------------------------------------------------------------------------------------------------

Больше расширенных возможностей для HTTP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Загрузить куки
^^^^^^^^^^^^^^
--------------------------------------------------------
aria2c --load-cookies=cookies.txt "http://host/file.zip"
--------------------------------------------------------
[NOTE]
Вы можете использовать без изменения cookie-файл Firefox/Mozilla/Chromium.

Возобновление загрузки, которая начата в браузере или другой программе
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-------------------------------------------------------
aria2c -c -s2 "http://host/partiallydownloadedfile.zip"
-------------------------------------------------------

Клиентский сертификат авторизации для SSL/TLS
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------------------------------------------
aria2c --certificate=/path/to/mycert.pem --private-key=/path/to/mykey.pem https://host/file
------------------------------------------------------------------------------------------
[NOTE]
Указанный в *<<aria2_optref_private_key, --private-key>>* файл должен быть
расшифрован. Режим работы с исходно зашифрованным закрытым ключом не
определен.

Проверить узел при SSL/TLS, используя исходные CA-сертификаты
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------------------------------------------
aria2c --ca-certificate=/path/to/ca-certificates.crt --check-certificate https://host/file
------------------------------------------------------------------------------------------

И еще больше расширенных возможностей
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Регулировка скорости загрузки
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-------------------------------------------------
aria2c --max-download-limit=100K file.metalink
-------------------------------------------------

Исправить поврежденную загрузку
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-----------------------
aria2c -V file.metalink
-----------------------
[NOTE]

При использовании BitTorrent или Metalink с контрольными суммами блоков
данных можно эффективно исправлять поврежденные загрузки.

Отклонить соединение, если скорость загрузки меньше чем определенное значение
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------
aria2c --lowest-speed-limit=10K file.metalink
------------------------------------------------

Поддержка параметризованных URI
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Вы можете определить набор частей:
-----------------------------------------------
aria2c -P "http://{host1,host2,host3}/file.iso"
-----------------------------------------------

Вы можете определить числовую последовательность:
---------------------------------------------
aria2c -Z -P "http://host/image[000-100].png"
---------------------------------------------

[NOTE]
Параметр -Z необходим, если все URI не указывают на один и тот же файл, как
в примере указанном выше.

Вы можете определить шаг счетчика:
-------------------------------------------
aria2c -Z -P "http://host/image[A-Z:2].png"
-------------------------------------------

Проверка контрольной суммы
^^^^^^^^^^^^^^^^^^^^^^^^^^

----------------------------------------------------------------------------------------
aria2c --checksum=sha-1=0192ba11326fe2298c8cb4de616f4d4140213837 http://example.org/file
----------------------------------------------------------------------------------------

Параллельные загрузки с произвольным числом URI,metalink,torrent
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--------------------------------------------------------------
aria2c -j3 -Z "http://host/file1" file2.torrent file3.metalink
--------------------------------------------------------------

Шифрование BitTorrent
^^^^^^^^^^^^^^^^^^^^^
Шифровать всю полезную нагрузку используя ARC4:
-------------------------------------------------------------------------
aria2c --bt-min-crypto-level=arc4 --bt-require-crypto=true file.torrent
-------------------------------------------------------------------------

СМОТРИТЕ ТАКЖЕ
--------------
Веб-сайт проекта: http://aria2.sourceforge.net/

Вики aria2: http://sourceforge.net/apps/trac/aria2/wiki

Домашняя страница Metalink: http://www.metalinker.org/

Описание формата Metalink: http://tools.ietf.org/html/rfc5854

АВТОРСКОЕ ПРАВО
---------------
Авторское право (C) 2006, 2011 Tatsuhiro Tsujikawa

Эта программа является свободным программным обеспечением; вы можете
распространять его и/или изменять его в соответствии с условиями лицензии
GNU General Public License, опубликованной Free Software Foundation; либо
License версии 2, либо (по вашему выбору) любой более поздней версии.

Эта программа распространяется в надежде, что она будет полезной, но БЕЗ
КАКИХ-ЛИБО ГАРАНТИЙ, даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ ЦЕННОСТИ
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. См. GNU General Public License для
более подробной информации.

Вы должны получить копию GNU General Public License вместе с этой
программой; если нет, напишите в Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor, Boston, MA 02110-1301 USA

Кроме того, в качестве особого исключения, владельцы авторских прав дают
разрешение на ссылку части кода этой программы с библиотекой OpenSSL при
определенных условиях, как описано в каждом отдельном исходном файле, а
также распространять эту комбинацию вместе. Вы должны подчиняться GNU
General Public License во всех отношениях для всего используемого кода,
кроме OpenSSL. Если вы измените файл(ы) с этим исключением, вы можете
расширить это исключение для вашей версии файла(ов), но вы не обязаны делать
это. Если вы не хотите сделать это, удалите это заявление об исключении из
вашей версии. Если вы удалите это заявление об исключении из всех исходных
файлов в программе, то удалить его и здесь.

АВТОР ПЕРЕВОДА
--------------
ITriskTI <ITriskTI@gmail.com>

Если вы нашли ошибку, неточность в переводе или считаете, что переведено
неправильно, тогда, пожалуйста, сообщите мне на e-mail.

ПРИМЕЧАНИЕ
----------
Эта страница руководства может содержать не обязательно самую последнюю информацию.
Если есть некоторые противоречия между этой страницей руководства и фактическим
программным обеспечением, пожалуйста, обращайтесь к английской версии страницы
руководства.
