|
@@ -0,0 +1,4011 @@
|
|
|
+aria2c(1)
|
|
|
+=========
|
|
|
+
|
|
|
+ОБЗОР
|
|
|
+-----
|
|
|
+**aria2c** [<ПАРАМЕТРЫ>] [<URI>|<MAGNET-ССЫЛКА>|<TORRENT-ФАЙЛ>|<METALINK-ФАЙЛ>] ...
|
|
|
+
|
|
|
+ОПИСАНИЕ
|
|
|
+--------
|
|
|
+
|
|
|
+aria2 - это утилита для загрузки файлов. Поддерживаемые протоколы: HTTP(S),
|
|
|
+FTP, BitTorrent и Metalink. Для загрузки файла, aria2 может использовать
|
|
|
+разные источники/протоколы и пытается максимально использовать пропускную
|
|
|
+способность канала. Есть поддержка загрузки файла по протоколам HTTP(S)/FTP
|
|
|
+и BitTorrent одновременно, пока данные загружаются по HTTP(S)/FTP, они тут
|
|
|
+же могут выгружаться в BitTorrent-рой. Используя контрольные суммы блока
|
|
|
+данных для Metalink, aria2 автоматически проверяет части данных, которые
|
|
|
+загружаются по BitTorrent.
|
|
|
+
|
|
|
+ПАРАМЕТРЫ
|
|
|
+---------
|
|
|
+
|
|
|
+Основные параметры
|
|
|
+~~~~~~~~~~~~~~~~~~
|
|
|
+.. option:: -d, --dir=<DIR>
|
|
|
+
|
|
|
+ Каталог для сохранения загруженных файлов.
|
|
|
+
|
|
|
+.. option:: -i, --input-file=<FILE>
|
|
|
+
|
|
|
+ Загрузить URI, найденные в файле FILE. Вы можете указать несколько URI для одного
|
|
|
+ объекта: разделяйте URI в строке, используя символ TAB (табуляция). Когда
|
|
|
+ указано ``-`` , ввод считывается из stdin (стандартный поток ввода). Дополнительные
|
|
|
+ параметры можно указывать после каждой строки с URI. Эта необязательная строка
|
|
|
+ должна начинаться с одного или нескольких пробелов и содержать один параметр.
|
|
|
+ Смотрите подраздел `Входной файл`_ для детальных пояснений.
|
|
|
+ Также смотрите параметр :option:`--deferred-input`.
|
|
|
+
|
|
|
+.. option:: -l, --log=<LOG>
|
|
|
+
|
|
|
+ Имя файла для журнала событий. Если указан ``-`` , то журнал событий будет
|
|
|
+ записан в stdout (стандартный поток вывода). Если указана пустая
|
|
|
+ строка (""), то журнал событий не будет записан в файл.
|
|
|
+
|
|
|
+.. option:: -j, --max-concurrent-downloads=<N>
|
|
|
+
|
|
|
+ Задать максимальное количество параллельных загрузок для каждого
|
|
|
+ статического (HTTP/FTP) URI, torrent и metalink. Смотрите также
|
|
|
+ параметр :option:`--split <-s>`.
|
|
|
+ По умолчанию: ``5``
|
|
|
+
|
|
|
+.. option:: -V, --check-integrity[=true|false]
|
|
|
+
|
|
|
+ Проверить целостность файла путем подтверждения хэшей блоков или хэша
|
|
|
+ полного файла. Этот параметр влияет лишь на BitTorrent, Metalink
|
|
|
+ или HTTP(S)/FTP загрузки с параметром :option:`--checksum`.
|
|
|
+ Параметр может обнаружить поврежденные части файла и перезагрузить их.
|
|
|
+ Если есть хэш полного файла, то проверка выполняется только, когда файл
|
|
|
+ уже полностью загружен. Момент полной загрузки определяется по размеру файла. Если
|
|
|
+ проверка хэша завершилась неудачно, то файл будет перезагружен с
|
|
|
+ нуля. Если есть хэши блоков и хэш полного файла, то будут
|
|
|
+ использоваться только хэши блоков.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: -c, --continue[=true|false]
|
|
|
+
|
|
|
+ Продолжить загрузку частично загруженного файла.
|
|
|
+ Используйте этот параметр, чтобы возобновить загрузку,
|
|
|
+ начатую в веб-браузере или в другой программе, которая загружает
|
|
|
+ файлы последовательно сначала. Сейчас этот параметр можно
|
|
|
+ использовать только для HTTP(S)/FTP-загрузок.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: -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
|
|
|
+~~~~~~~~~~~~~~~~~~
|
|
|
+.. option:: --all-proxy=<PROXY>
|
|
|
+
|
|
|
+ Использовать указанный прокси-сервер для всех протоколов. Для стирания
|
|
|
+ ранее определенного адреса используйте "". Вы можете отменить эту
|
|
|
+ установку и указать прокси-сервер для отдельного протокола, используя
|
|
|
+ параметры :option:`--http-proxy`,
|
|
|
+ :option:`--https-proxy` и
|
|
|
+ :option:`--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``.
|
|
|
+
|
|
|
+.. option:: --all-proxy-passwd=<PASSWD>
|
|
|
+
|
|
|
+ Задать пароль для параметра :option:`--all-proxy`.
|
|
|
+
|
|
|
+.. option:: --all-proxy-user=<USER>
|
|
|
+
|
|
|
+ Задать пользователя для параметра :option:`--all-proxy`.
|
|
|
+
|
|
|
+.. option:: --checksum=<TYPE>=<DIGEST>
|
|
|
+
|
|
|
+ Задать контрольную сумму. TYPE - тип хэша. Поддерживаемые типы хэшей
|
|
|
+ перечислены в ``Алгоритмы хэширования`` при ``aria2c -v``.
|
|
|
+ DIGEST - шестнадцатеричное значение хэша. Например, указание значения
|
|
|
+ sha-1 хэша выглядит так:
|
|
|
+ ``sha-1=0192ba11326fe2298c8cb4de616f4d4140213838``
|
|
|
+ Этот параметр применим только к HTTP(S)/FTP загрузкам.
|
|
|
+
|
|
|
+.. option:: --connect-timeout=<SEC>
|
|
|
+
|
|
|
+ Задать в соединении время ожидания в секундах для установки
|
|
|
+ подключения к HTTP/FTP/прокси-серверу. После установки
|
|
|
+ подключения этот параметр не имеет значения, и вместо него
|
|
|
+ используется параметр :option:`--timeout <-t>`.
|
|
|
+ По умолчанию: ``60``
|
|
|
+
|
|
|
+.. option:: --dry-run[=true|false]
|
|
|
+
|
|
|
+ Если задано ``true`` , aria2 только проверяет, является ли удаленный
|
|
|
+ файл доступным и не загружает данные. Этот параметр влияет на
|
|
|
+ HTTP/FTP-загрузку. BitTorrent-загрузки отменяются, если указано
|
|
|
+ ``true``.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --lowest-speed-limit=<SPEED>
|
|
|
+
|
|
|
+ Закрывать соединение, если скорость загрузки меньше чем или равна
|
|
|
+ значению SPEED (байт в секунду). ``0`` означает, что aria2 не имеет
|
|
|
+ нижнего ограничения скорости. Вы можете добавить ``K`` или ``M``
|
|
|
+ (1K = 1024, 1M = 1024K). Этот параметр не влияет на
|
|
|
+ BitTorrent-загрузки.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: -x, --max-connection-per-server=<NUM>
|
|
|
+
|
|
|
+ Максимально количество соединений с одним сервером для каждой
|
|
|
+ загрузки.
|
|
|
+ По умолчанию: ``1``
|
|
|
+
|
|
|
+.. option:: --max-file-not-found=<NUM>
|
|
|
+
|
|
|
+ Если aria2 получает статус "file not found" (файл не найден) с
|
|
|
+ удаленных HTTP/FTP-серверов NUM раз без получения, хотя бы одного байта,
|
|
|
+ тогда принудительно отказывается от загрузки. Укажите ``0`` , чтобы
|
|
|
+ отключить этот параметр. Этот параметр действенен только, когда
|
|
|
+ используются HTTP/FTP-серверы.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: -m, --max-tries=<N>
|
|
|
+
|
|
|
+ Задать количество попыток. ``0`` означает неограниченно.
|
|
|
+ Смотрите также :option:`--retry-wait`.
|
|
|
+ По умолчанию: ``5``
|
|
|
+
|
|
|
+.. option:: -k, --min-split-size=<SIZE>
|
|
|
+
|
|
|
+ aria2 не разбивает на части меньше чем 2*SIZE байт. Например,
|
|
|
+ нужно загрузить файл размером 20МиБ. Если SIZE задать 10M, то
|
|
|
+ aria2 может разбить файл на части в 2-ух диапазонах [0-10МиБ) и
|
|
|
+ [10МиБ-20МиБ) и загрузить его, используя 2 источника
|
|
|
+ (если :option:`--split <-s>` >= 2, конечно же).
|
|
|
+ Если SIZE задать 15M, т.к. 2*15M > 20MiB, aria2 не разобьет файл
|
|
|
+ на части и загрузит его, используя 1 источник. Вы можете
|
|
|
+ добавить ``K`` или ``M`` (1K = 1024, 1M = 1024K). Возможные значения:
|
|
|
+ ``1M`` -``1024M``.
|
|
|
+ По умолчанию: ``20M``
|
|
|
+
|
|
|
+.. option:: -n, --no-netrc[=true|false]
|
|
|
+
|
|
|
+ Отключить поддержку netrc. Поддержка netrc по умолчанию
|
|
|
+ включена.
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ Файл netrc считывается только при запуске, если :option:`--no-netrc <-n>` задан как ``false``. Так что если :option:`--no-netrc <-n>` задан как ``true`` при загрузке, то netrc недоступен на
|
|
|
+ протяжении всей сессии. Вы не сможете получить доступ к netrc, даже если
|
|
|
+ отправите :option:`--no-netrc=false, <-n>` используя
|
|
|
+ :func:`aria2.changeGlobalOption`.
|
|
|
+
|
|
|
+.. option:: --no-proxy=<DOMAINS>
|
|
|
+
|
|
|
+ Укажите через запятую имена хостов, домены и сетевые адреса
|
|
|
+ с CIDR-блоком, или без него, для которых не будет использоваться прокси.
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ CIDR-блок (метод IP-адресации, например 192.168.0.20/24) работает с IPv4- и
|
|
|
+ IPv6-адресами. Текущая реализация не разрешает имена хостов в URI для
|
|
|
+ сравнения сетевых адресов указанных в
|
|
|
+ :option:`--no-proxy`. Таким образом, это эффективно, только если в URI есть
|
|
|
+ IP-адреса.
|
|
|
+
|
|
|
+.. option:: -o, --out=<FILE>
|
|
|
+
|
|
|
+ Сохранить загруженный файл под указанным именем. Если используется
|
|
|
+ параметр :option:`--force-sequential <-Z>`, то данный параметр
|
|
|
+ игнорируется.
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ В Metalink или BitTorrent загрузках вы не можете указать имя файла. Имя
|
|
|
+ файла указывается здесь, только когда используются URI и aria2 с командной
|
|
|
+ строкой без параметров :option:`--input-file <-i>`,
|
|
|
+ :option:`--force-sequential <-Z>`. Например:
|
|
|
+
|
|
|
+ .. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -o myfile.zip "http://mirror1/file.zip" "http://mirror2/file.zip"
|
|
|
+
|
|
|
+.. option:: --proxy-method=<METHOD>
|
|
|
+
|
|
|
+ Задать метод для использования в прокси-запросах. METHOD один
|
|
|
+ из двух: ``get`` или ``tunnel``. HTTPS-загрузки всегда используют ``tunnel`` ,
|
|
|
+ не обращая внимания на этот параметр.
|
|
|
+ По умолчанию: ``get``
|
|
|
+
|
|
|
+.. option:: -R, --remote-time[=true|false]
|
|
|
+
|
|
|
+ Извлекать временную метку файла с удаленного HTTP/FTP-сервера и,
|
|
|
+ если это доступно, применить ее к локальному файлу.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --reuse-uri[=true|false]
|
|
|
+
|
|
|
+ Повторно использовать уже использованные URI, если
|
|
|
+ не осталось неиспользованных URI.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --retry-wait=<SEC>
|
|
|
+
|
|
|
+ Задать в секундах интервал ожидания между повторными попытками.
|
|
|
+ При SEC > 0, если HTTP-сервер возвращает ответ 503, aria2 будет
|
|
|
+ снова пытаться загрузить.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: --server-stat-of=<FILE>
|
|
|
+
|
|
|
+ Указать имя файла, в который сохраняется профиль функционирования
|
|
|
+ сервера. Вы можете загрузить сохраненные данные, используя параметр
|
|
|
+ :option:`--server-stat-if`. Формат файла
|
|
|
+ смотрите ниже в подразделе
|
|
|
+ `Профиль функционирования сервера`_.
|
|
|
+
|
|
|
+.. option:: --server-stat-if=<FILE>
|
|
|
+
|
|
|
+ Указать имя файла для загрузки профиля функционирования сервера.
|
|
|
+ Загруженные данные будут использованы в некоторых URI селекторах, таких
|
|
|
+ как ``feedback``. Смотрите также параметр
|
|
|
+ :option:`--uri-selector`. Формат файла смотрите
|
|
|
+ ниже в подразделе
|
|
|
+ `Профиль функционирования сервера`_.
|
|
|
+
|
|
|
+.. option:: --server-stat-timeout=<SEC>
|
|
|
+
|
|
|
+ Указывает время ожидания в секундах, для того, чтобы сделать
|
|
|
+ недействительным профиль функционирования сервера, с тех пор,
|
|
|
+ как состоялся последний контакт с ним.
|
|
|
+ По умолчанию: ``86400`` (24 часа)
|
|
|
+
|
|
|
+.. option:: -s, --split=<N>
|
|
|
+
|
|
|
+ Загружать файл, используя N соединений. Если задано более чем N URI,
|
|
|
+ будут использоваться первые N URI, а оставшиеся URI будут в резерве.
|
|
|
+ Если задано менее чем N URI, то URI будут использованы более одного раза,
|
|
|
+ так чтобы были задействованы все N соединений одновременно. Количество
|
|
|
+ соединений к одному и тому же хосту ограничивается параметром
|
|
|
+ :option:`--max-connection-per-server <-x>`.
|
|
|
+ Смотрите также параметр :option:`--min-split-size <-k>`.
|
|
|
+ По умолчанию: ``5``
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ Некоторые Metalink регламентируют количество серверов для соединения. aria2
|
|
|
+ строго соблюдает это. Это значит, что если Metalink определяет атрибут
|
|
|
+ maxconnections меньше чем N, то aria2 использует значение атрибута
|
|
|
+ maxconnections вместо N.
|
|
|
+
|
|
|
+.. option:: --stream-piece-selector=<SELECTOR>
|
|
|
+
|
|
|
+ Указать алгоритм выбора блока, который используется в HTTP/FTP-загрузке.
|
|
|
+ Блок - означает сегмент фиксированной длины, который загружается
|
|
|
+ параллельно, в разделенной на части, загрузке. Если задано ``default`` ,
|
|
|
+ то aria2 выберет блок так, чтобы это уменьшило количество установленных
|
|
|
+ подключений. Это разумное поведение по умолчанию, поскольку установка
|
|
|
+ подключения очень затратная операция. Если задано ``inorder`` , то aria2
|
|
|
+ выберет блок, который имеет минимальный индекс. Index=0 означает первый
|
|
|
+ из файла. Это будет полезно при просмотре фильма, в то время как он
|
|
|
+ загружается. Параметр
|
|
|
+ :option:`--enable-http-pipelining` может
|
|
|
+ быть полезен для снижения накладных расходов при повторном подключении.
|
|
|
+ Обратите внимание, что aria2 принимает на обработку параметр
|
|
|
+ :option:`--min-split-size <-k>`, так что необходимо
|
|
|
+ будет указать разумное значение параметра
|
|
|
+ :option:`--min-split-size <-k>`.
|
|
|
+ Если задано ``geom`` , то aria2 вначале выберет блок с минимальным
|
|
|
+ индексом, как при ``inorder`` , однако она сохранит
|
|
|
+ экспоненциально большую область от ранее выбранного блока.
|
|
|
+ Это уменьшит количество установленных подключений и в то же
|
|
|
+ время это позволит в первую очередь загрузить начало файла.
|
|
|
+ Это будет полезно при просмотре фильма, в то время как он
|
|
|
+ загружается.
|
|
|
+ По умолчанию: ``default``
|
|
|
+
|
|
|
+.. option:: -t, --timeout=<SEC>
|
|
|
+
|
|
|
+ Задать время ожидания в секундах.
|
|
|
+ По умолчанию: ``60``
|
|
|
+
|
|
|
+.. option:: --uri-selector=<SELECTOR>
|
|
|
+
|
|
|
+ Указать алгоритм выбора URI. Возможные значения: ``inorder`` , ``feedback``
|
|
|
+ и ``adaptive``. Если задано ``inorder`` , то URI проверяются в порядке
|
|
|
+ представления в списке URI. Если задано ``feedback`` , aria2 использует
|
|
|
+ скорость загрузки, которая наблюдалась в предыдущих загрузках, и выбирает
|
|
|
+ самый быстрый сервер в списке URI. Это также эффективно исключает мертвые
|
|
|
+ зеркала. Наблюдаемая скорость загрузки является частью профиля
|
|
|
+ функционирования сервера, упомянутой в параметрах
|
|
|
+ :option:`--server-stat-of` и
|
|
|
+ :option:`--server-stat-if`. Если задано ``adaptive`` ,
|
|
|
+ выбирается одно из лучших зеркал для первого и резервного соединений.
|
|
|
+ Дополнительно, возвращаются зеркала, которые пока не были проверены, и,
|
|
|
+ если каждое из них уже проверено, возвращаются зеркала, которые должны
|
|
|
+ быть проверены снова. Иначе зеркала больше не выбираются.
|
|
|
+ Подобно ``feedback`` , используются профиль функционирования сервера.
|
|
|
+ По умолчанию: ``feedback``
|
|
|
+
|
|
|
+Специфические параметры HTTP
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+.. option:: --ca-certificate=<FILE>
|
|
|
+
|
|
|
+ Использовать сертификат авторизации в FILE для проверки узлов.
|
|
|
+ Сертификат должен быть в PEM-формате и содержать многоразовые
|
|
|
+ CA-сертификаты. Используйте параметр
|
|
|
+ :option:`--check-certificate`, чтобы
|
|
|
+ разрешить проверку.
|
|
|
+
|
|
|
+.. option:: --certificate=<FILE>
|
|
|
+
|
|
|
+ Использовать клиентский сертификат в FILE. Сертификат
|
|
|
+ должен быть в PEM-формате. Вы можете использовать
|
|
|
+ параметр :option:`--private-key`,
|
|
|
+ чтобы указать закрытый ключ.
|
|
|
+
|
|
|
+.. option:: --check-certificate[=true|false]
|
|
|
+
|
|
|
+ Проверять каждый из используемых сертификатов, которые
|
|
|
+ указаны в параметре :option:`--ca-certificate`.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --http-accept-gzip[=true|false]
|
|
|
+
|
|
|
+ Посылать ``Accept: deflate, gzip`` в запросе-заголовке и добавлять в ответ,
|
|
|
+ если удаленный сервер ответит ``Content-Encoding: gzip`` или
|
|
|
+ ``Content-Encoding: deflate``.
|
|
|
+ По умолчанию: 'false
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ Некоторые серверы отвечают ``Content-Encoding: gzip`` для файлов, которые сами
|
|
|
+ по себе сжаты (gzipped). aria2 добавляет их, так или иначе, из-за заголовка
|
|
|
+ ответа.
|
|
|
+
|
|
|
+.. option:: --http-auth-challenge[=true|false]
|
|
|
+
|
|
|
+ Отправлять заголовок HTTP-авторизации только тогда, когда он запрошен
|
|
|
+ с сервера. Если задано ``false`` , тогда заголовок авторизации всегда
|
|
|
+ отправляется на сервер. Существует исключение: если имя пользователя
|
|
|
+ и пароль являются встроенными в URI, то заголовок авторизации всегда
|
|
|
+ отправляется на сервер, независимо от этого параметра.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --http-no-cache[=true|false]
|
|
|
+
|
|
|
+ Отправлять заголовок Cache-Control: no-cache и Pragma: no-cache,
|
|
|
+ чтобы избежать кэширования содержимого. Если задано ``false`` , то эти
|
|
|
+ заголовки не посылаются, и вы можете добавить любую директиву к
|
|
|
+ заголовку Cache-Control с помощью параметра
|
|
|
+ :option:`--header`.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --http-user=<USER>
|
|
|
+
|
|
|
+ Задать пользователя для HTTP. Влияет на все URI.
|
|
|
+
|
|
|
+.. option:: --http-passwd=<PASSWD>
|
|
|
+
|
|
|
+ Задать пароль для HTTP. Влияет на все URI.
|
|
|
+
|
|
|
+.. option:: --http-proxy=<PROXY>
|
|
|
+
|
|
|
+ Использовать указанный прокси-сервер для HTTP. Ранее указанный адрес
|
|
|
+ можно стереть, указав "". Смотрите также параметр
|
|
|
+ :option:`--all-proxy`. Влияет на все URI.
|
|
|
+ Формат PROXY - ``[http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]``.
|
|
|
+
|
|
|
+.. option:: --http-proxy-passwd=<PASSWD>
|
|
|
+
|
|
|
+ Задать пароль для параметра :option:`--http-proxy`.
|
|
|
+
|
|
|
+.. option:: --http-proxy-user=<USER>
|
|
|
+
|
|
|
+ Задать пользователя для параметра :option:`--http-proxy`.
|
|
|
+
|
|
|
+.. option:: --https-proxy=<PROXY>
|
|
|
+
|
|
|
+ Использовать указанный прокси-сервер для HTTPS. Ранее указанный
|
|
|
+ адрес можно стереть, указав "". Смотрите также параметр
|
|
|
+ :option:`--all-proxy`. Влияет на все URI.
|
|
|
+ Формат PROXY - ``[http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]``.
|
|
|
+
|
|
|
+.. option:: --https-proxy-passwd=<PASSWD>
|
|
|
+
|
|
|
+ Задать пароль для параметра :option:`--https-proxy`.
|
|
|
+
|
|
|
+.. option:: --https-proxy-user=<USER>
|
|
|
+
|
|
|
+ Задать пользователя для параметра :option:`--https-proxy`.
|
|
|
+
|
|
|
+.. option:: --private-key=<FILE>
|
|
|
+
|
|
|
+ Использовать закрытый ключ в FILE. Закрытый ключ должен
|
|
|
+ быть дешифрованным и в PEM-формате. Режим работы с исходно
|
|
|
+ зашифрованным закрытым ключом не определен. Смотрите также
|
|
|
+ параметр :option:`--certificate`.
|
|
|
+
|
|
|
+.. option:: --referer=<REFERER>
|
|
|
+
|
|
|
+ Задать источника запроса. Влияет на все URI.
|
|
|
+
|
|
|
+.. option:: --enable-http-keep-alive[=true|false]
|
|
|
+
|
|
|
+ Включить HTTP/1.1 постоянное соединение.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --enable-http-pipelining[=true|false]
|
|
|
+
|
|
|
+ Включить конвейерную обработку HTTP/1.1.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ С точки зрения производительности, как правило, нет преимущества от
|
|
|
+ включения этого параметра.
|
|
|
+
|
|
|
+.. option:: --header=<HEADER>
|
|
|
+
|
|
|
+ Добавлять HEADER к HTTP запросу-заголовку. Вы можете использовать
|
|
|
+ этот параметр повторно, чтоб указать более одного заголовка:
|
|
|
+
|
|
|
+ .. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --header="X-A: b78" --header="X-B: 9J1" "http://host/file"
|
|
|
+
|
|
|
+.. option:: --load-cookies=<FILE>
|
|
|
+
|
|
|
+ Загружать куки-файл из FILE, используя форматы Firefox3 (SQLite3),
|
|
|
+ Chromium/Google Chrome (SQLite3) и Mozilla/Firefox(1.x/2.x)/Netscape.
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ Если aria2 собрана без libsqlite3, то форматы куки-файлов Firefox3 и
|
|
|
+ Chromium/Google Chrome не поддерживаются.
|
|
|
+
|
|
|
+.. option:: --save-cookies=<FILE>
|
|
|
+
|
|
|
+ Сохранить куки в FILE формате Mozilla/Firefox(1.x/2.x)/Netscape.
|
|
|
+ Если FILE уже существует, то он будет перезаписан. Куки-сессия также
|
|
|
+ сохранится, и значение ее окончания будет трактоваться как 0.
|
|
|
+ Возможные значения: ``/путь/к/файлу``
|
|
|
+
|
|
|
+.. option:: --use-head[=true|false]
|
|
|
+
|
|
|
+ Использовать метод HEAD для первого запроса к HTTP серверу.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+
|
|
|
+.. option:: -U, --user-agent=<USER_AGENT>
|
|
|
+
|
|
|
+ Задать клиентское приложение для HTTP(S)-загрузок.
|
|
|
+ По умолчанию: ``aria2/$VERSION`` , $VERSION заменяется на версию пакета.
|
|
|
+
|
|
|
+Специфические параметры FTP
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+.. option:: --ftp-user=<USER>
|
|
|
+
|
|
|
+ Задать пользователя для FTP.
|
|
|
+ Влияет на все URI.
|
|
|
+ По умолчанию: ``anonymous``
|
|
|
+
|
|
|
+.. option:: --ftp-passwd=<PASSWD>
|
|
|
+
|
|
|
+ Задать пароль для FTP. Влияет на все URI. Если имя пользователя
|
|
|
+ встроено, но пароль отсутствует в URI, то aria2 пытается использовать
|
|
|
+ пароль из .netrc. Если пароль найден в .netrc, то он используется.
|
|
|
+ Если нет, используется пароль, указанный в этом параметре.
|
|
|
+ По умолчанию: ``ARIA2USER@``
|
|
|
+
|
|
|
+.. option:: -p, --ftp-pasv[=true|false]
|
|
|
+
|
|
|
+ Использовать пассивный режим FTP. Если задано ``false`` ,
|
|
|
+ то будет использован активный режим.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --ftp-proxy=<PROXY>
|
|
|
+
|
|
|
+ Использовать указанный прокси-сервер для FTP. Ранее указанный адрес
|
|
|
+ можно стереть, указав "". Смотрите также параметр
|
|
|
+ :option:`--all-proxy`. Влияет на все URI.
|
|
|
+ Формат PROXY - ``[http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]``
|
|
|
+
|
|
|
+.. option:: --ftp-proxy-passwd=<PASSWD>
|
|
|
+
|
|
|
+ Задать пароль для параметра :option:`--ftp-proxy`.
|
|
|
+
|
|
|
+.. option:: --ftp-proxy-user=<USER>
|
|
|
+
|
|
|
+ Задать пользователя для параметра :option:`--ftp-proxy`.
|
|
|
+
|
|
|
+.. option:: --ftp-type=<TYPE>
|
|
|
+
|
|
|
+ Задать тип передачи для FTP. TYPE может быть один из
|
|
|
+ двух: ``binary`` или ``ascii``.
|
|
|
+ По умолчанию: ``binary``
|
|
|
+
|
|
|
+.. option:: --ftp-reuse-connection[=true|false]
|
|
|
+
|
|
|
+ Повторно использовать FTP соединение.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+Параметры BitTorrent/Metalink
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+.. option:: --select-file=<INDEX>...
|
|
|
+
|
|
|
+ Задать файл для загрузки по заданному индексу. Вы можете найти
|
|
|
+ индекс файла, используя параметр :option:`--show-files <-S>`.
|
|
|
+ Составной индекс можно указать, используя ``,``, например: ``3,6``.
|
|
|
+ Вы можете также использовать ``-``, чтобы указать диапазон: ``1-5``.
|
|
|
+ ``,`` и ``-`` могут быть использованы вместе: ``1-5,8,9``.
|
|
|
+ Когда используется с параметром -M, индекс может сильно зависеть
|
|
|
+ от запроса (смотрите параметры *--metalink-\**).
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ В многофайловом торренте, смежные файлы, указанные в этом параметре также
|
|
|
+ могут быть загружены. Это не ошибка, а особенность утилиты. Одиночный блок
|
|
|
+ данных может включать несколько файлов или часть файла, и aria2 запишет блок
|
|
|
+ данных соответствующего файла.
|
|
|
+
|
|
|
+.. option:: -S, --show-files[=true|false]
|
|
|
+
|
|
|
+ Вывести список файлов из .torrent, .meta4 или .metalink и
|
|
|
+ выйти. Для файла .torrent будет выведена более детальная
|
|
|
+ информация (информация по хэшу, размер блока и др.).
|
|
|
+
|
|
|
+Специфические параметры BitTorrent
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+
|
|
|
+.. option:: --bt-enable-lpd[=true|false]
|
|
|
+
|
|
|
+ Включить поиск локальных пиров. Если в torrent-файле установлен
|
|
|
+ приватный признак, то aria2 не будет использовать эту возможность,
|
|
|
+ даже если задано ``true``.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --bt-exclude-tracker=<URI>[,...]
|
|
|
+
|
|
|
+ Разделенный запятыми список URI анонса BitTorrent-трекера,
|
|
|
+ которые будут исключены. Вы можете использовать специальное
|
|
|
+ значение ``*``, которое соответствует всем URI, таким образом,
|
|
|
+ исключаются все URI анонса. При указании ``*`` в оболочке
|
|
|
+ командной строке, не забывайте, экранировать или брать в кавычки.
|
|
|
+ Смотрите также параметр :option:`--bt-tracker`.
|
|
|
+
|
|
|
+.. option:: --bt-external-ip=<IPADDRESS>
|
|
|
+
|
|
|
+ Указать внешний IP-адрес BitTorrent-трекера для отчета.
|
|
|
+ Не смотря на то, что эта функция названа ``external`` (``внешний``),
|
|
|
+ она может принимать любой IP-адрес. IPADDRESS должен быть числовым
|
|
|
+ IP-адресом.
|
|
|
+
|
|
|
+.. option:: --bt-hash-check-seed[=true|false]
|
|
|
+
|
|
|
+ Если задано ``true`` , то после проверки хэша с использованием параметра
|
|
|
+ :option:`--check-integrity <-V>`, и когда файл
|
|
|
+ загружен полностью, продолжается раздача файла. Если вы хотите
|
|
|
+ проверить файл и загрузить его только если он поврежден или не загружен
|
|
|
+ полностью, то задайте этот параметр как ``false``. Этот параметр влияет
|
|
|
+ лишь на BitTorrent-загрузки.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --bt-lpd-interface=<INTERFACE>
|
|
|
+
|
|
|
+ Использовать для поиска локальных пиров заданный интерфейс. Если этот
|
|
|
+ параметр не указан, используется интерфейс по умолчанию. Можно указать
|
|
|
+ имя интерфейса и IP-адрес. Возможные значения: интерфейс, IP-адрес.
|
|
|
+
|
|
|
+.. option:: --bt-max-open-files=<NUM>
|
|
|
+
|
|
|
+ Указать максимальное количество файлов для открытия в каждой
|
|
|
+ BitTorrent-загрузке.
|
|
|
+ По умолчанию: ``100``
|
|
|
+
|
|
|
+.. option:: --bt-max-peers=<NUM>
|
|
|
+
|
|
|
+ Указать максимальное количество узлов для каждого торрента.
|
|
|
+ ``0`` означает неограниченно. Смотрите также параметр
|
|
|
+ :option:`--bt-request-peer-speed-limit`.
|
|
|
+ По умолчанию: ``55``
|
|
|
+
|
|
|
+.. option:: --bt-metadata-only[=true|false]
|
|
|
+
|
|
|
+ Загрузить только метаданные. Файл(ы), описывающий метаданные не
|
|
|
+ должен быть загружен. Этот параметр эффективен, только если
|
|
|
+ используется BitTorrent Magnet-ссылка. Смотрите также параметр
|
|
|
+ :option:`--bt-save-metadata`.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --bt-min-crypto-level=plain|arc4
|
|
|
+
|
|
|
+ Задать минимальный уровень метода шифрования. Если узел поддерживает
|
|
|
+ несколько методов шифрования, aria2 выбирает наименьший, который
|
|
|
+ удовлетворяет заданный уровень.
|
|
|
+ По умолчанию: ``plain``
|
|
|
+
|
|
|
+.. option:: --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.
|
|
|
+
|
|
|
+.. option:: --bt-remove-unselected-file[=true|false]
|
|
|
+
|
|
|
+ Удалить невыбранные файлы, когда завершена загрузка в
|
|
|
+ BitTorrent. Для выбора файлов используйте параметр
|
|
|
+ :option:`--select-file`. Если не
|
|
|
+ использовался этот параметр, то предполагается, что все файлы
|
|
|
+ выбраны. Пожалуйста, используйте этот параметр внимательно,
|
|
|
+ так как это фактически удалит файлы с вашего диска.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --bt-require-crypto[=true|false]
|
|
|
+
|
|
|
+ Если задано ``true`` , aria2 не принимает и не устанавливает соединение с
|
|
|
+ унаследованным BitTorrent handshake-сообщением (рукопожатие)
|
|
|
+ (BitTorrent протокол). Таким образом, aria2 всегда использует обфускацию
|
|
|
+ handshake-сообщения.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --bt-request-peer-speed-limit=<SPEED>
|
|
|
+
|
|
|
+ Если итоговая скорость загрузки каждого торрента, ниже чем SPEED,
|
|
|
+ aria2 временно увеличивает количество узлов, пытаясь увеличить
|
|
|
+ скорость загрузки. Настройка этого параметра с выбранной вами
|
|
|
+ скоростью загрузки может, в некоторых случаях, увеличить вашу
|
|
|
+ скорость загрузки. Вы можете добавить ``K`` или ``M`` (1K = 1024, 1M = 1024K).
|
|
|
+ По умолчанию: ``50K``
|
|
|
+
|
|
|
+.. option:: --bt-save-metadata[=true|false]
|
|
|
+
|
|
|
+ Сохранить метаданные как файл .torrent. Этот параметр
|
|
|
+ эффективен только если используется BitTorrent Magnet-ссылка.
|
|
|
+ Имя файла шестнадцатеричное представление хэша с расширением
|
|
|
+ .torrent. Файл сохранится в каталог, в тот же самый, куда
|
|
|
+ сохранится загружаемый файл. Если тот же самый файл уже
|
|
|
+ существует, метаданные не сохранятся. Смотрите также параметр
|
|
|
+ :option:`--bt-metadata-only`.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --bt-seed-unverified[=true|false]
|
|
|
+
|
|
|
+ Раздавать первоначально загруженные файлы без проверки хэшей блоков.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --bt-stop-timeout=<SEC>
|
|
|
+
|
|
|
+ Остановить BitTorrent загрузку, если скорость загрузки равна 0 на
|
|
|
+ протяжении SEC секунд. Если задано ``0`` , то эта возможность не будет
|
|
|
+ использоваться.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: --bt-tracker=<URI>[,...]
|
|
|
+
|
|
|
+ Разделенный запятыми список дополнительных URI анонса
|
|
|
+ BitTorrent-трекеров. На эти URI не действует параметр
|
|
|
+ :option:`--bt-exclude-tracker`,
|
|
|
+ потому что они добавляются после URI, указанных в параметре
|
|
|
+ :option:`--bt-exclude-tracker`,
|
|
|
+ которые исключаются.
|
|
|
+
|
|
|
+.. option:: --bt-tracker-connect-timeout=<SEC>
|
|
|
+
|
|
|
+ Задать время ожидания в секундах для установки соединения с трекером.
|
|
|
+ После установки соединения, это параметр станет не действительным,
|
|
|
+ а вместо него будет использован
|
|
|
+ :option:`--bt-tracker-timeout`.
|
|
|
+ По умолчанию: ``60``
|
|
|
+
|
|
|
+.. option:: --bt-tracker-interval=<SEC>
|
|
|
+
|
|
|
+ Задать интервал в секундах между запросами трекера. Это полностью
|
|
|
+ отменяет значение интервала и aria2 использует только это значение
|
|
|
+ и игнорирует минимальный интервал и значение интервала в ответе
|
|
|
+ трекера. Если задан ``0`` , aria2 определяет интервал, основываясь на
|
|
|
+ ответе трекера и прогрессе загрузки.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: --bt-tracker-timeout=<SEC>
|
|
|
+
|
|
|
+ Задать время ожидания в секундах.
|
|
|
+ По умолчанию: ``60``
|
|
|
+
|
|
|
+.. option:: --dht-entry-point=<HOST>:<PORT>
|
|
|
+
|
|
|
+ Задать хост и порт, как точку входа в IPv4 DHT сеть.
|
|
|
+
|
|
|
+.. option:: --dht-entry-point6=<HOST>:<PORT>
|
|
|
+
|
|
|
+ Задать хост и порт, как точку входа в IPv6 DHT сеть.
|
|
|
+
|
|
|
+.. option:: --dht-file-path=<PATH>
|
|
|
+
|
|
|
+ Заменять файл таблицы маршрутизации IPv4 DHT на PATH.
|
|
|
+ По умолчанию: ``$HOME/.aria2/dht.dat``
|
|
|
+
|
|
|
+.. option:: --dht-file-path6=<PATH>
|
|
|
+
|
|
|
+ Заменять файл таблицы маршрутизации IPv6 DHT на PATH.
|
|
|
+ По умолчанию: ``$HOME/.aria2/dht.dat``
|
|
|
+
|
|
|
+.. option:: --dht-listen-addr6=<ADDR>
|
|
|
+
|
|
|
+ Указать адрес привязки сокета для IPv6 DHT. Он должен быть глобальным
|
|
|
+ IPv6 unicast-адресом хоста.
|
|
|
+
|
|
|
+.. option:: --dht-listen-port=<PORT>...
|
|
|
+
|
|
|
+ Задать прослушиваемый UDP-порт для обоих IPv4 и IPv6 DHT. Несколько портов можно
|
|
|
+ указать через ``,``, например: ``6881,6885``. Вы также можете использовать ``-``
|
|
|
+ чтобы указать диапазон: ``6881-6999``. ``,`` и ``-`` могут быть использованы
|
|
|
+ вместе.
|
|
|
+ По умолчанию: ``6881-6999``
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ Удостоверьтесь, что указанные порты открыты для входящего UDP-трафика.
|
|
|
+
|
|
|
+.. option:: --dht-message-timeout=<SEC>
|
|
|
+
|
|
|
+ Задать время ожидания в секундах.
|
|
|
+ По умолчанию: ``10``
|
|
|
+
|
|
|
+.. option:: --enable-dht[=true|false]
|
|
|
+
|
|
|
+ Включить IPv4 DHT функциональность. Если в torrent-файле задан
|
|
|
+ приватный признак, aria2 не будет использовать DHT для загрузки,
|
|
|
+ даже если установлен ``true``.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --enable-dht6[=true|false]
|
|
|
+
|
|
|
+ Включить IPv6 DHT функциональность. Если в torrent-файле задан
|
|
|
+ приватный признак, aria2 не будет использовать DHT для загрузки,
|
|
|
+ даже если установлен ``true``. Используйте параметр
|
|
|
+ :option:`--dht-listen-port` для указания
|
|
|
+ прослушиваемого порта. Смотрите также параметр
|
|
|
+ :option:`--dht-listen-addr6`.
|
|
|
+
|
|
|
+.. option:: --enable-peer-exchange[=true|false]
|
|
|
+
|
|
|
+ Включить расширение BitTorrent-протокола для обмена списками участников.
|
|
|
+ Если в torrent-файле задан приватный признак, то эта возможность будет
|
|
|
+ отключена, даже если установлен ``true``.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --follow-torrent=true|false|mem
|
|
|
+
|
|
|
+ Если указать ``true`` или ``mem`` , тогда загруженный файл, расширение
|
|
|
+ которого - ``.torrent`` или mime-тип - ``application/x-bittorrent``,
|
|
|
+ aria2 анализирует как torrent-файл и загружает файлы, указанные в нем.
|
|
|
+ Если указано ``mem`` , тогда torrent-файл не записывается на диск,
|
|
|
+ а содержится в памяти. Если указано ``false`` , действия, упомянутые
|
|
|
+ выше, не совершаются.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: -O, --index-out=<INDEX>=<PATH>
|
|
|
+
|
|
|
+ Задать путь к файлу PATH с индексом INDEX. Вы можете найти индекс файла,
|
|
|
+ используя параметр :option:`--show-files <-S>`. PATH
|
|
|
+ является относительным путем к тому, который указан в параметре
|
|
|
+ :option:`--dir <-d>`. Вы можете использовать этот параметр
|
|
|
+ много раз. Используйте этот параметр, когда хотите указать имена
|
|
|
+ выходных файлов для BitTorrent-загрузок.
|
|
|
+
|
|
|
+.. option:: --listen-port=<PORT>...
|
|
|
+
|
|
|
+ Задать номер TCP-порта для BitTorrent-загрузок. Несколько портов можно
|
|
|
+ указать, используя ``,``, например: ``6881,6885``. Вы также можете
|
|
|
+ использовать ``-``, чтобы указать диапазон: ``6881-6999``. ``,`` и ``-``
|
|
|
+ могут быть использованы вместе: ``6881-6889,6999``.
|
|
|
+ По умолчанию: ``6881-6999``
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ Удостоверьтесь, что указанные порты открыты для входящего TCP-трафика.
|
|
|
+
|
|
|
+.. option:: --max-overall-upload-limit=<SPEED>
|
|
|
+
|
|
|
+ Задать максимальную общую скорость отдачи в байтах/сек.
|
|
|
+ ``0`` значит неограниченно. Вы можете добавить
|
|
|
+ ``K`` или ``M`` (1K = 1024, 1M = 1024K). Чтобы ограничить скорость
|
|
|
+ отдачи для узла торрента, используйте параметр
|
|
|
+ :option:`--max-upload-limit <-u>`.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: -u, --max-upload-limit=<SPEED>
|
|
|
+
|
|
|
+ Задать максимальную скорость отдачи каждого узла торрента в байтах/сек.
|
|
|
+ ``0`` значит неограниченно. Вы можете добавить
|
|
|
+ ``K`` или ``M`` (1K = 1024, 1M = 1024K). Чтобы ограничить
|
|
|
+ общую скорость отдачи, используйте параметр
|
|
|
+ :option:`--max-overall-upload-limit`.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: --peer-id-prefix=<PEER_ID_PREFIX>
|
|
|
+
|
|
|
+ Указать префикс для ID узла. ID узла в BitTorrent
|
|
|
+ имеет размер 20 байт. Если будет указано более 20 байт,
|
|
|
+ то только первые 20 будут использоваться, если будет
|
|
|
+ указано меньше 20, то они будут дополнены случайными
|
|
|
+ данными до 20 байт.
|
|
|
+ По умолчанию: ``aria2/$VERSION`` , $VERSION заменяется на версию пакета.
|
|
|
+
|
|
|
+.. option:: --seed-ratio=<RATIO>
|
|
|
+
|
|
|
+ Указать рейтинг. Сидировать завершенные торренты, пока рейтинг
|
|
|
+ не станет больше RATIO. Очень рекомендуется указать тут равный
|
|
|
+ или больший ``1.0``. Указать ``0.0`` , если вы планируете сидировать
|
|
|
+ независимо от рейтинга. Если указан параметр
|
|
|
+ :option:`--seed-time` вместе с этим
|
|
|
+ параметром, сидирование закончится тогда, когда хотя бы одно
|
|
|
+ условие будет удовлетворено.
|
|
|
+ По умолчанию: ``1.0``
|
|
|
+
|
|
|
+.. option:: --seed-time=<MINUTES>
|
|
|
+
|
|
|
+ Указать время сидирования (раздачи) в минутах.
|
|
|
+ Смотрите также параметр :option:`--seed-ratio`.
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ Указанный :option:`--seed-time=0 <--seed-time>` отключает
|
|
|
+ сидирование после завершения загрузки.
|
|
|
+
|
|
|
+.. option:: -T, --torrent-file=<TORRENT_FILE>
|
|
|
+
|
|
|
+ Путь к файлу .torrent. Вы не обязаны использовать этот параметр, т.к.
|
|
|
+ файл .torrent можно указать без :option:`--torrent-file <-T>`.
|
|
|
+
|
|
|
+Специфические параметры Metalink
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+.. option:: --follow-metalink=true|false|mem
|
|
|
+
|
|
|
+ Если указано ``true`` или ``mem`` и когда загруженный файл имеет расширение
|
|
|
+ ``.meta4`` или ``.metalink``, или mime-тип ``application/metalink4+xml``
|
|
|
+ или ``application/metalink+xml``, aria2 считает его metalink-файлом и
|
|
|
+ загружает упомянутые в нем файлы. Если указано ``mem`` , то metalink-файл
|
|
|
+ не сохраняется на диск, а просто хранится в памяти. Если указано ``false`` ,
|
|
|
+ то вышеприведенная операция не производится.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --metalink-base-uri=<URI>
|
|
|
+
|
|
|
+ Указать основной URI для разрешения относительных URI в элементе
|
|
|
+ metalink:url и metalink:metaurl в metalink-файле, сохраненном на
|
|
|
+ локальном диске. Если URI указывает на каталог, то URI должен
|
|
|
+ заканчиваться на ``/``.
|
|
|
+
|
|
|
+.. option:: -M, --metalink-file=<METALINK_FILE>
|
|
|
+
|
|
|
+ Путь к файлу .meta4 и .metalink. Читает ввод из stdin, если в качестве
|
|
|
+ имени файла указано ``-``. Вы не обязаны использовать этот параметр,
|
|
|
+ т.к. файлы .metalink можно указать без :option:`--metalink-file <-M>`.
|
|
|
+
|
|
|
+.. option:: --metalink-language=<LANGUAGE>
|
|
|
+
|
|
|
+ Язык файла для загрузки.
|
|
|
+
|
|
|
+.. option:: --metalink-location=<LOCATION>[,...]
|
|
|
+
|
|
|
+ Местонахождение предпочитаемого сервера. Список, разделенный запятыми,
|
|
|
+ допустимых местонахождений, например, ``jp,us``.
|
|
|
+
|
|
|
+.. option:: --metalink-os=<OS>
|
|
|
+
|
|
|
+ Целевая операционная система файла для загрузки.
|
|
|
+
|
|
|
+.. option:: --metalink-version=<VERSION>
|
|
|
+
|
|
|
+ Версия файла для загрузки.
|
|
|
+
|
|
|
+.. option:: --metalink-preferred-protocol=<PROTO>
|
|
|
+
|
|
|
+ Указать предпочитаемый протокол. Возможные значения: ``http`` , ``https`` , ``ftp``
|
|
|
+ и ``none``. Указать ``none`` для отключения этой возможности.
|
|
|
+ По умолчанию: ``none``
|
|
|
+
|
|
|
+.. option:: --metalink-enable-unique-protocol[=true|false]
|
|
|
+
|
|
|
+ Если задано ``true`` , а в metalink-файле доступно несколько
|
|
|
+ протоколов, то aria2 использует один из них. Используйте параметр
|
|
|
+ :option:`--metalink-preferred-protocol`,
|
|
|
+ чтобы указать предпочитаемый протокол.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+Параметры RPC
|
|
|
+~~~~~~~~~~~~~
|
|
|
+
|
|
|
+.. option:: --enable-rpc[=true|false]
|
|
|
+
|
|
|
+ Включить JSON-RPC/XML-RPC-сервер. Настоятельно рекомендуется указать
|
|
|
+ имя пользователя и пароль, используя параметры
|
|
|
+ :option:`--rpc-user` и :option:`--rpc-passwd`.
|
|
|
+ Смотрите также параметр :option:`--rpc-listen-port`.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --pause[=true|false]
|
|
|
+
|
|
|
+ Приостановка загрузки после добавления. Этот параметр действенен
|
|
|
+ только, когда задан :option:`--enable-rpc=true. <--enable-rpc>`
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+
|
|
|
+.. option:: --rpc-allow-origin-all[=true|false]
|
|
|
+
|
|
|
+ Добавить заголовок Access-Control-Allow-Origin со значением ``*`` в RPC-ответе.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --rpc-listen-all[=true|false]
|
|
|
+
|
|
|
+ Слушать входящие JSON-RPC/XML-RPC-запросы на всех сетевых интерфейсах.
|
|
|
+ Если указано ``false`` , слушать только на локальном петлевом
|
|
|
+ интерфейсе (loopback).
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --rpc-listen-port=<PORT>
|
|
|
+
|
|
|
+ Указать номер порта, для прослушивания JSON-RPC/XML-RPC-сервером.
|
|
|
+ Возможные значения: ``1024`` -``65535``.
|
|
|
+ По умолчанию: ``6800``
|
|
|
+
|
|
|
+.. option:: --rpc-max-request-size=<SIZE>
|
|
|
+
|
|
|
+ Задать максимальный размер JSON-RPC/XML-RPC-запроса.
|
|
|
+ Если aria2 выявит запрос с размером большим, чем SIZE байт,
|
|
|
+ тогда соединение будет отклонено.
|
|
|
+ По умолчанию: ``2M``
|
|
|
+
|
|
|
+.. option:: --rpc-passwd=<PASSWD>
|
|
|
+
|
|
|
+ Задать JSON-RPC/XML-RPC пароль.
|
|
|
+
|
|
|
+.. option:: --rpc-user=<USER>
|
|
|
+
|
|
|
+ Задать JSON-RPC/XML-RPC пользователя.
|
|
|
+
|
|
|
+Дополнительные параметры
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+.. option:: --allow-overwrite[=true|false]
|
|
|
+
|
|
|
+ Повторно запустить загрузку с нуля, если соответствующий контрольный
|
|
|
+ файл отсутствует. Смотрите также параметр
|
|
|
+ :option:`--auto-file-renaming`.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --allow-piece-length-change[=true|false]
|
|
|
+
|
|
|
+ Если задано ``false`` , aria2 прерывает загрузку, когда длина блока
|
|
|
+ отлична от той, которая находится в контрольном файле. Если задано
|
|
|
+ ``true`` , вы можете продолжать, однако некоторый прогресс загрузки
|
|
|
+ будет потерян.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --always-resume[=true|false]
|
|
|
+
|
|
|
+ Всегда возобновлять загрузку. Если задано ``true`` , aria2 всегда пытается
|
|
|
+ возобновить загрузку и если это не возможно, прерывает ее.
|
|
|
+ Если задано ``false`` , тогда для всех заданных URI не поддерживается
|
|
|
+ возобновление загрузки, или aria2 столкнется с невозможностью
|
|
|
+ возобновления загрузки URI ``N`` -ое количество раз
|
|
|
+ (значение ``N`` указывается в параметре
|
|
|
+
|
|
|
+ то aria2 будет загружать файл с нуля. Смотрите параметр
|
|
|
+ :option:`--max-resume-failure-tries`.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --async-dns[=true|false]
|
|
|
+
|
|
|
+ Включить асинхронный DNS.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --async-dns-server=<IPADDRESS>[,...]
|
|
|
+
|
|
|
+ Разделенный запятыми список адресов DNS-серверов, которые используют
|
|
|
+ асинхронный DNS-преобразователь. Обычно асинхронный DNS-преобразователь
|
|
|
+ читает адреса DNS-серверов из ``/etc/resolv.conf``. Когда используется
|
|
|
+ этот параметр, то используются DNS-серверы, указанные в параметре вместо
|
|
|
+ указанных в ``/etc/resolv.conf``. Вы можете указать оба IPv4 и IPv6 адреса.
|
|
|
+ Этот параметр полезен, когда в системе нет ``/etc/resolv.conf`` и у
|
|
|
+ пользователя нет прав на его создание.
|
|
|
+
|
|
|
+.. option:: --auto-file-renaming[=true|false]
|
|
|
+
|
|
|
+ Переименовать файл, если такой уже существует.
|
|
|
+ Этот параметр работает только для HTTP(S)/FTP-загрузок.
|
|
|
+ К имени файла будет добавлена точка и число от 1 до 9999.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --auto-save-interval=<SEC>
|
|
|
+
|
|
|
+ Сохранять контрольный файл (\*.aria2) каждые SEC секунд.
|
|
|
+ Если задано ``0`` , тогда контрольный файл не сохраняется на
|
|
|
+ протяжении загрузки. aria2 сохраняет контрольный файл тогда,
|
|
|
+ когда останавливается, не смотря на значение.
|
|
|
+ Возможные значения: от ``0`` до ``600``.
|
|
|
+ По умолчанию: ``60``
|
|
|
+
|
|
|
+.. option:: --conditional-get[=true|false]
|
|
|
+
|
|
|
+ Загружать файл только когда локальный файл старше, чем удаленный.
|
|
|
+ Эта функция работает только для HTTP(S)-загрузок. Это не работает,
|
|
|
+ если размер файла указан в Metalink. Это также игнорирует заголовок
|
|
|
+ Content-Disposition. Если контрольный файл существует, то этот
|
|
|
+ параметр игнорируется. Эта функция использует заголовок
|
|
|
+ If-Modified-Since, как условие для получения только нового файла.
|
|
|
+ При получении времени модификации локального файла, используется
|
|
|
+ указанное пользователем имя файла
|
|
|
+ (см. параметр :option:`--out <-o>`) или часть имени файла в
|
|
|
+ URI, если :option:`--out <-o>` не указан. Для перезаписи
|
|
|
+ существующего файла необходим параметр
|
|
|
+ :option:`--allow-overwrite`.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --conf-path=<PATH>
|
|
|
+
|
|
|
+ Сменить путь к файлу конфигурации на PATH.
|
|
|
+ По умолчанию: ``$HOME/.aria2/aria2.conf``
|
|
|
+
|
|
|
+.. option:: -D, --daemon[=true|false]
|
|
|
+
|
|
|
+ Запустить как демон (фоновый процесс). Текущий рабочий каталог
|
|
|
+ будет заменен на ``/`` , а стандартный ввод, стандартный вывод,
|
|
|
+ стандартный вывод ошибок будут перенаправлены на ``/dev/null``.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --deferred-input[=true|false]
|
|
|
+
|
|
|
+ Если задано ``true`` , aria2 при запуске не считывает все URI и параметры
|
|
|
+ из файла, указанного в параметре :option:`--input-file <-i>`, а
|
|
|
+ считывает их позже отдельно, когда это нужно. Это может сократить
|
|
|
+ использование памяти, если во входном файле содержится много URI для
|
|
|
+ загрузки. Если задано ``false`` , aria2 при запуске считывает все URI
|
|
|
+ и параметры.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --disable-ipv6[=true|false]
|
|
|
+
|
|
|
+ Отключить IPv6. Это полезно, если вы используете поврежденный DNS
|
|
|
+ и хотите избежать ужасно медленного поиска AAAA-записи.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --download-result=<OPT>
|
|
|
+
|
|
|
+ Этот параметр изменяет формат сообщения ``Результаты загрузки``. Если OPT
|
|
|
+ задан как ``default`` , то отображается GID, статус, средняя скорость загрузки и
|
|
|
+ путь/URI. Если загружается множество файлов, то отобразиться путь/URI первого
|
|
|
+ запрашиваемого файла, а остальные пропускаются. Если OPT задан как ``full`` ,
|
|
|
+ то отображается GID, статус, средняя скорость загрузки, процент прогресса и
|
|
|
+ путь/URI. Процент прогресса и путь/URI отобразиться для каждого
|
|
|
+ запрашиваемого файла в отдельной строке.
|
|
|
+ По умолчанию: ``default``
|
|
|
+
|
|
|
+.. option:: --enable-async-dns6[=true|false]
|
|
|
+
|
|
|
+ Включить IPv6 разрешение имен в асинхронном DNS-преобразователе.
|
|
|
+ Этот параметр будет игнорироваться, если
|
|
|
+ :option:`--async-dns=false. <--async-dns>`
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --event-poll=<POLL>
|
|
|
+
|
|
|
+ Указать метод опроса событий. Возможные значения: ``epoll`` , ``kqueue`` ,
|
|
|
+ ``port`` , ``poll`` и ``select``. Каждый метод ``epoll`` , ``kqueue`` , ``port`` и
|
|
|
+ ``poll`` доступен, если система поддерживает его. ``epoll`` доступен в
|
|
|
+ современных дистрибутивах Linux. ``kqueue`` доступен в различных
|
|
|
+ \*BSD-системах, включая Mac OS X. ``port`` доступен в Open Solaris.
|
|
|
+ Значение по умолчанию может изменяться в зависимости от системы,
|
|
|
+ которую вы используете.
|
|
|
+
|
|
|
+.. option:: --file-allocation=<METHOD>
|
|
|
+
|
|
|
+ Указать метод резервирования места для файла. ``none`` не происходит
|
|
|
+ предварительное резервирование места для файла. ``prealloc`` - предварительное
|
|
|
+ резервирование места для файла перед началом загрузки. Это может
|
|
|
+ продолжаться некоторое время, в зависимости от размера файла. Если вы
|
|
|
+ используете новые файловые системы, наподобие ext4 (с поддержкой экстентов),
|
|
|
+ btrfs, xfs или NTFS (только сборка MinGW) тогда лучше выбрать ``falloc``.
|
|
|
+ Так как они резервируют место под большие (на несколько Гигабайт) файлы
|
|
|
+ почти мгновенно. Не используйте ``falloc`` вместе с наследными файловыми
|
|
|
+ системами, такими как ext3 и FAT32, потому что это будет продолжаться
|
|
|
+ почти столько же времени, как и ``prealloc`` , а также полностью заблокирует
|
|
|
+ aria2, пока не закончится резервирование места. ``falloc`` может быть
|
|
|
+ недоступным, если ваша система не содержит функцию :manpage:`posix_fallocate(3)`.
|
|
|
+ Возможные значения: ``none`` , ``prealloc`` , ``falloc``.
|
|
|
+ По умолчанию: ``prealloc``
|
|
|
+
|
|
|
+.. option:: --hash-check-only[=true|false]
|
|
|
+
|
|
|
+ Если задано ``true`` , то после проверки хэша, используя параметр
|
|
|
+ :option:`--check-integrity <-V>`,
|
|
|
+ загрузка прервётся, в любом случае загрузка завершится.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --human-readable[=true|false]
|
|
|
+
|
|
|
+ Выводить на консоль размеры и скорость в удобочитаемом формате
|
|
|
+ (например, 1.2Ки, 3.4Ми).
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --interface=<INTERFACE>
|
|
|
+
|
|
|
+ Привязать сокеты к заданному интерфейсу. Вы можете указать имя
|
|
|
+ интерфейса, IP-адрес и имя хоста. Возможные значения: имя
|
|
|
+ интерфейса (например, eth0), IP-адрес (например, 192.168.0.12),
|
|
|
+ имя хоста (например, myhost).
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ Если интерфейс имеет несколько адресов, то настоятельно рекомендуется
|
|
|
+ указать IP-адрес явно. Смотрите также
|
|
|
+ :option:`--disable-ipv6`. Если ваша система не имеет :manpage:`getifaddrs(3)`, это параметр не
|
|
|
+ принимает имя интерфейса.
|
|
|
+
|
|
|
+.. option:: --max-download-result=<NUM>
|
|
|
+
|
|
|
+ Задать максимальное количество результатов загрузок, которые находятся
|
|
|
+ в памяти. Результаты загрузок - завершенные/ошибка/удаленные загрузки.
|
|
|
+ Результаты загрузок хранятся FIFO очереди, в которой может хранится NUM
|
|
|
+ результатов загрузок. Когда очередь заполнена и появляется новый
|
|
|
+ результат загрузки, то старейший результат загрузки удаляется из начала
|
|
|
+ очереди, а новый добавляется в конец. Указание большого числа в этом
|
|
|
+ параметре может привести к высокому потреблению памяти после тысяч
|
|
|
+ загрузок. Значение 0 отключит сохранение результата загрузки.
|
|
|
+ По умолчанию: ``1000``
|
|
|
+
|
|
|
+.. option:: --max-resume-failure-tries=<N>
|
|
|
+
|
|
|
+ Если параметр :option:`--always-resume=false, <--always-resume>` aria2
|
|
|
+ загрузит файл с нуля, при обнаружении ``N`` -го URI, не поддерживающего
|
|
|
+ возобновление. Если ``N`` =``0`` , то aria2 загрузит файл с нуля, когда все
|
|
|
+ URI не поддерживают возобновление. Смотрите параметр
|
|
|
+ :option:`--always-resume`.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: --log-level=<LEVEL>
|
|
|
+
|
|
|
+ Задать уровень вывода журнала событий. LEVEL может
|
|
|
+ быть: ``debug`` , ``info`` , ``notice`` , ``warn`` или ``error``.
|
|
|
+ По умолчанию: ``debug``
|
|
|
+
|
|
|
+.. option:: --on-bt-download-complete=<COMMAND>
|
|
|
+
|
|
|
+ Для BitTorrent, в :option:`--on-download-complete`
|
|
|
+ указывается команда, которая вызывается после завершение загрузки и окончания
|
|
|
+ сидирования. С другой стороны, этот параметр определяет команду, которая
|
|
|
+ будет выполнена после завершения загрузки, но до сидирования.
|
|
|
+ Смотрите раздел `Перехват сообщения`_ для более подробной
|
|
|
+ информации о COMMAND. Возможные значения: ``/путь/к/команде``
|
|
|
+
|
|
|
+.. option:: --on-download-complete=<COMMAND>
|
|
|
+
|
|
|
+ Задать команду, которая будет выполнена после завершения загрузки.
|
|
|
+ Смотрите раздел `Перехват сообщения`_ для более
|
|
|
+ подробной информации о COMMAND. Смотрите также параметр
|
|
|
+ :option:`--on-download-stop`.
|
|
|
+ Возможные значения: ``/путь/к/команде``
|
|
|
+
|
|
|
+.. option:: --on-download-error=<COMMAND>
|
|
|
+
|
|
|
+ Задать команду, которая будет выполнена после того, как загрузка будет
|
|
|
+ прервана из-за ошибки. Смотрите раздел `Перехват сообщения`_
|
|
|
+ для более подробной информации о COMMAND. Смотрите также параметр
|
|
|
+ :option:`--on-download-stop`. Возможные
|
|
|
+ значения: ``/путь/к/команде``
|
|
|
+
|
|
|
+.. option:: --on-download-pause=<COMMAND>
|
|
|
+
|
|
|
+ Задать команду, которая будет выполнена после того, как
|
|
|
+ загрузка будет приостановлена. Смотрите раздел
|
|
|
+ `Перехват сообщения`_ для более подробной
|
|
|
+ информации о COMMAND. Возможные значения: ``/путь/к/команде``
|
|
|
+
|
|
|
+.. option:: --on-download-start=<COMMAND>
|
|
|
+
|
|
|
+ Задать команду, которая будет выполнена после того, как
|
|
|
+ началась загрузка. Смотрите раздел `Перехват сообщения`_
|
|
|
+ для более подробной информации о COMMAND. Возможные
|
|
|
+ значения: ``/путь/к/команде``
|
|
|
+
|
|
|
+.. option:: --on-download-stop=<COMMAND>
|
|
|
+
|
|
|
+ Задать команду, которая будет выполнена после того, как загрузка
|
|
|
+ остановлена. Вы можете изменить команду, которая будет выполнятся
|
|
|
+ при определенном результате загрузки, используя параметры
|
|
|
+ :option:`--on-download-complete` и :option:`--on-download-error`.
|
|
|
+ Если они указаны, то команда, определенная в этом параметре не
|
|
|
+ будет выполнятся. Смотрите раздел `Перехват сообщения`_
|
|
|
+ для более подробной информации о COMMAND. Возможные
|
|
|
+ значения: ``/путь/к/команде``
|
|
|
+
|
|
|
+.. option:: --piece-length=<LENGTH>
|
|
|
+
|
|
|
+ Задать длину блока для HTTP/FTP-загрузок. Это является границей, когда
|
|
|
+ aria2 разделяет файл на части. Все разделения происходят многократно по
|
|
|
+ этой длине. Этот параметр будет игнорироваться при BitTorrent-загрузках.
|
|
|
+ Также будет игнорироваться, если Metalink-файл содержит хэши блоков.
|
|
|
+ По умолчанию: ``1M``
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ Возможный вариант использования параметра
|
|
|
+ :option:`--piece-length` - изменение диапазона запроса в одном конвейерном
|
|
|
+ HTTP-запросе. Для включения конвейерной обработки HTTP используйте
|
|
|
+ :option:`--enable-http-pipelining`.
|
|
|
+
|
|
|
+.. option:: --show-console-readout[=true|false]
|
|
|
+
|
|
|
+ Показывать консольный вывод.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: --summary-interval=<SEC>
|
|
|
+
|
|
|
+ Задать интервал в секундах до вывода сообщения о прогрессе
|
|
|
+ загрузки. Установка ``0`` запрещает вывод.
|
|
|
+ По умолчанию: ``60``
|
|
|
+
|
|
|
+ .. note::
|
|
|
+
|
|
|
+ В загрузках многофайлового торрента, по определенным смежным файлам также,
|
|
|
+ которые размещены в части одного блока.
|
|
|
+
|
|
|
+.. option:: -Z, --force-sequential[=true|false]
|
|
|
+
|
|
|
+ Получить URI в последовательности командной строки и загрузить каждое
|
|
|
+ URI в отдельной сессии, как в обычных утилитах загрузки командной
|
|
|
+ строки.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --max-overall-download-limit=<SPEED>
|
|
|
+
|
|
|
+ Задать максимальную общую скорость загрузки в байтах/сек. ``0`` значит
|
|
|
+ неограниченно. Вы можете добавить ``K`` или ``M`` (1K = 1024, 1M = 1024K).
|
|
|
+ Чтобы ограничить скорость загрузки для узла, используйте параметр
|
|
|
+ :option:`--max-download-limit`.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: --max-download-limit=<SPEED>
|
|
|
+
|
|
|
+ Установить максимальную скорость каждого узла загрузки в байтах/сек. ``0``
|
|
|
+ значит неограниченно. Вы можете добавить ``K`` или ``M`` (1K = 1024, 1M = 1024K).
|
|
|
+ Чтобы ограничить общую скорость загрузки, используйте параметр
|
|
|
+ :option:`--max-overall-download-limit`.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: --no-conf[=true|false]
|
|
|
+
|
|
|
+ Отключить загрузку файла aria2.conf.
|
|
|
+
|
|
|
+.. option:: --no-file-allocation-limit=<SIZE>
|
|
|
+
|
|
|
+ Не резервируется место для файлов, размер которых меньше SIZE.
|
|
|
+ Вы можете добавить ``K`` или ``M`` (1K = 1024, 1M = 1024K).
|
|
|
+ По умолчанию: ``5M``
|
|
|
+
|
|
|
+.. option:: -P, --parameterized-uri[=true|false]
|
|
|
+
|
|
|
+ Включить поддержку параметризованных URI. Вы можете указать набор
|
|
|
+ частей: ``http://{sv1,sv2,sv3}/foo.iso``. Также вы можете указать
|
|
|
+ числовую последовательность с шагом
|
|
|
+ счетчика: ``http://host/image[000-100:2].img``. Шагом счетчика
|
|
|
+ можно пренебречь. Если все URI не указывают на такой же файл, как
|
|
|
+ во втором приведенном выше примере, то необходим параметр -Z.
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: -q, --quiet[=true|false]
|
|
|
+
|
|
|
+ Сделать aria2 молчаливой (без консольного вывода).
|
|
|
+ По умолчанию: ``false``
|
|
|
+
|
|
|
+.. option:: --realtime-chunk-checksum[=true|false]
|
|
|
+
|
|
|
+ Подтверждать правильность блока данных путем вычисления контрольной суммы
|
|
|
+ во время загрузки файла, если предусмотрена контрольная сумма блоков.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+
|
|
|
+.. option:: --remove-control-file[=true|false]
|
|
|
+
|
|
|
+ Удалять контрольный файл перед загрузкой. При использовании с
|
|
|
+ :option:`--allow-overwrite=true <--allow-overwrite>` файл
|
|
|
+ всегда загружается с нуля. Это может понадобиться пользователям
|
|
|
+ за прокси-сервером, не поддерживающим возобновление загрузки.
|
|
|
+
|
|
|
+.. option:: --save-session=<FILE>
|
|
|
+
|
|
|
+ Сохранять ошибочные/незаконченные загрузки в FILE при выходе. Вы можете
|
|
|
+ передать этот выходной файл aria2c с параметром :option:`--input-file <-i>` при перезапуске. Обратите внимание, что
|
|
|
+ загрузки, добавленные через RPC-методы
|
|
|
+ :func:`aria2.addTorrent`, :func:`aria2.addMetalink`
|
|
|
+ и чьи метаданные не могут быть сохранены как файл, не будут сохраняться.
|
|
|
+ Загрузки, удаленные с использованием :func:`aria2.remove` и
|
|
|
+ :func:`aria2.forceRemove` не будут сохранены.
|
|
|
+
|
|
|
+.. option:: --stop=<SEC>
|
|
|
+
|
|
|
+ Останавливать программу после того как пройдет
|
|
|
+ SEC секунд. Если задано ``0`` , эта возможность будет
|
|
|
+ отключена.
|
|
|
+ По умолчанию: ``0``
|
|
|
+
|
|
|
+.. option:: --stop-with-process=<PID>
|
|
|
+
|
|
|
+ Остановить приложение, когда процесс с идентификационный номером PID
|
|
|
+ не работает. Это полезно, если процесс aria2 запущен из родительского
|
|
|
+ процесса. Родительский процесс может запустить aria2 со своим
|
|
|
+ идентификационным номером и когда он (процесс) завершиться по какой-то
|
|
|
+ причине, aria2 может обнаружить это и самостоятельно завершиться.
|
|
|
+
|
|
|
+.. option:: --truncate-console-readout[=true|false]
|
|
|
+
|
|
|
+ Укорачивать консольный вывод, чтобы он поместился в
|
|
|
+ одну строку.
|
|
|
+ По умолчанию: ``true``
|
|
|
+
|
|
|
+.. option:: -v, --version
|
|
|
+
|
|
|
+ Вывести номер версии, информацию об авторских
|
|
|
+ правах, конфигурации и выйти.
|
|
|
+
|
|
|
+Параметры, которые принимают аргументы
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+Параметры, которые имеют значения в квадратных скобках ([]), могут принимать
|
|
|
+дополнительные (необязательные) аргументы. Обычно отсутствие аргумента
|
|
|
+эквивалентно ``true``. Если вы используется короткую форму параметров
|
|
|
+(например, ``-V``) и указываете аргумент, то имя параметра и его аргумент
|
|
|
+должны быть объедены (например, ``-Vfalse``). Если будут вставлены пробелы
|
|
|
+между именем параметра и аргументом, то аргумент будет обрабатываться как
|
|
|
+URI, и это не то, что обычно вы ожидаете.
|
|
|
+
|
|
|
+URI, MAGNET-ССЫЛКА, TORRENT-ФАЙЛ, METALINK-ФАЙЛ
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+
|
|
|
+Вы можете перечислить несколько URI в командной строке. Пока вы не указали
|
|
|
+параметр :option:`--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-подобным менеджером
|
|
|
+загрузки, тогда используйте параметр :option:`--continue <-c>` для
|
|
|
+продолжения передачи.
|
|
|
+
|
|
|
+Перехват сообщения
|
|
|
+~~~~~~~~~~~~~~~~~~
|
|
|
+
|
|
|
+aria2 предоставляет параметры, в которых указываются произвольные команды,
|
|
|
+выполняемые после наступления определенного события. В настоящее время
|
|
|
+доступны следующие параметры:
|
|
|
+:option:`--on-bt-download-complete`,
|
|
|
+:option:`--on-download-pause`,
|
|
|
+:option:`--on-download-complete`.
|
|
|
+:option:`--on-download-start`,
|
|
|
+:option:`--on-download-error`,
|
|
|
+:option:`--on-download-stop`.
|
|
|
+
|
|
|
+aria2 передает 3 аргумента указанной команды, которая выполняется. Это
|
|
|
+аргументы: GID, количество файлов и путь к файлу. Для HTTP-, FTP-загрузок,
|
|
|
+обычно количество файлов - 1. BitTorrent загрузка может содержать множество
|
|
|
+файлов. Если число файлов больше чем один, то путь к файлу будет для
|
|
|
+первого. Другими словами, это значение параметра path в первой структуре,
|
|
|
+определенный параметр которой имеет значение true (истина), в ответе
|
|
|
+RPC-метода :func:`aria2.getFiles`. Если вы хотите
|
|
|
+получить все пути к файлам, то рассмотрите использование
|
|
|
+JSON-RPC/XML-RPC. Обратите внимание, что путь к файлу может меняться в
|
|
|
+процессе загрузки по HTTP из-за перенаправления или заголовка
|
|
|
+Content-Disposition.
|
|
|
+
|
|
|
+Посмотрите пример, как аргументы передаются команде:
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ 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 получила определенное число ошибок "ресурс не найден". Смотрите
|
|
|
+ параметр :option:`--max-file-not-found`.
|
|
|
+
|
|
|
+5
|
|
|
+ Если загрузка прервана, поскольку скорость загрузки была слишком
|
|
|
+ медленной. Смотрите параметр
|
|
|
+ :option:`--lowest-speed-limit`.
|
|
|
+
|
|
|
+6
|
|
|
+ Если произошла проблема с сетью.
|
|
|
+
|
|
|
+7
|
|
|
+ Если были не завершенные загрузки. Эта ошибка только появляется, только если
|
|
|
+ все завершенные загрузки были успешны и были не завершенные загрузки в
|
|
|
+ очереди, когда aria2 завершилась по нажатию :kbd:`Ctrl-C` пользователем или при
|
|
|
+ отправке сигнала TERM или INT.
|
|
|
+
|
|
|
+8
|
|
|
+ Если удаленный сервер не поддерживает возобновление, когда оно было указано
|
|
|
+ как обязательное для завершения загрузки.
|
|
|
+
|
|
|
+9
|
|
|
+ Если было не достаточно доступного места на диске.
|
|
|
+
|
|
|
+10
|
|
|
+ Если размер блока был отличным от указанного контрольном файле
|
|
|
+ .aria2. Смотрите параметр
|
|
|
+ :option:`--allow-piece-length-change`.
|
|
|
+
|
|
|
+11
|
|
|
+ Если aria2 был загружен один и тот же файл в тот момент.
|
|
|
+
|
|
|
+12
|
|
|
+ Если aria2 загрузила торрент с одним и тем же хэшем в этот момент.
|
|
|
+
|
|
|
+13
|
|
|
+ Если файл уже существует. Смотрите параметр
|
|
|
+ :option:`--allow-overwrite`.
|
|
|
+
|
|
|
+14
|
|
|
+ Если не удалось переименование. Смотрите параметр
|
|
|
+ :option:`--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
|
|
|
+ в конфигурационном файле. Параметр
|
|
|
+ :option:`--http-proxy` в командной строке заменяет эту переменную.
|
|
|
+
|
|
|
+``https_proxy [http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]``
|
|
|
+ Указать прокси-сервер для использования в HTTPS. Заменяет значение
|
|
|
+ https-proxy в конфигурационном файле. Параметр
|
|
|
+ :option:`--https-proxy` в командной строке заменяет эту переменную.
|
|
|
+
|
|
|
+``ftp_proxy [http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]``
|
|
|
+ Указать прокси-сервер для использования в FTP. Заменяет значение ftp-proxy в
|
|
|
+ конфигурационном файле. Параметр :option:`--ftp-proxy` в
|
|
|
+ командной строке заменяет эту переменную.
|
|
|
+
|
|
|
+``all_proxy [http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]``
|
|
|
+ Указать прокси-сервер для использования, если не указан конкретный протокол
|
|
|
+ для прокси. Заменяет значение all-proxy в конфигурационном файле. Параметр
|
|
|
+ :option:`--all-proxy` в командной строке заменяет эту
|
|
|
+ переменную.
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Не смотря на то, что aria2 допускает ``ftp://`` и ``https://`` схемы прокси в URI,
|
|
|
+ она просто предполагает, что определен ``http://`` и не меняет своего поведения,
|
|
|
+ основанного на определенной схеме.
|
|
|
+
|
|
|
+``no_proxy [ДОМЕН,...]``
|
|
|
+ Указать, разделенные запятыми, имена хостов, доменов и сетевых адресов с
|
|
|
+ CIDR-блоком, или без него, для которых прокси использоваться не
|
|
|
+ будет. Заменяет значение no-proxy в конфигурационном файле. Параметр
|
|
|
+ :option:`--no-proxy` в командной строке заменяет эту
|
|
|
+ переменную.
|
|
|
+
|
|
|
+ФАЙЛЫ
|
|
|
+-----
|
|
|
+aria2.conf
|
|
|
+~~~~~~~~~~
|
|
|
+
|
|
|
+По умолчанию, aria2 анализирует ``$HOME/.aria2/aria2.conf`` как
|
|
|
+конфигурационный файл. Вы можете указать путь к конфигурационному файлу в
|
|
|
+параметре :option:`--conf-path`. Если вы не хотите
|
|
|
+использовать конфигурационный файл, используйте параметр
|
|
|
+:option:`--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, укажите параметр :option:`--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, в одной строке,
|
|
|
+табуляцией.
|
|
|
+
|
|
|
+Каждая строка рассматривается, как аргумент командой строки. Следовательно,
|
|
|
+на них влияют параметры :option:`--force-sequential <-Z>` и
|
|
|
+:option:`--parameterized-uri <-P>`.
|
|
|
+
|
|
|
+Так как aria2 непосредственно читает URI из входного файла, то они не должны
|
|
|
+быть указаны с одинарными(') или двойными(") кавычками.
|
|
|
+
|
|
|
+Строка, которая начинается с ``#`` обрабатывается как комментарий и
|
|
|
+пропускается.
|
|
|
+
|
|
|
+Кроме того, следующие параметры могут быть определены после каждой строки с
|
|
|
+URI. Эти дополнительные строки должны начинаться с пробела(ов).
|
|
|
+
|
|
|
+.. hlist::
|
|
|
+ :columns: 3
|
|
|
+
|
|
|
+ * :option:`all-proxy <--all-proxy>`
|
|
|
+ * :option:`all-proxy-passwd <--all-proxy-passwd>`
|
|
|
+ * :option:`all-proxy-user <--all-proxy-user>`
|
|
|
+ * :option:`allow-overwrite <--allow-overwrite>`
|
|
|
+ * :option:`allow-piece-length-change <--allow-piece-length-change>`
|
|
|
+ * :option:`always-resume <--always-resume>`
|
|
|
+ * :option:`async-dns <--async-dns>`
|
|
|
+ * :option:`auto-file-renaming <--auto-file-renaming>`
|
|
|
+ * :option:`bt-enable-lpd <--bt-enable-lpd>`
|
|
|
+ * :option:`bt-exclude-tracker <--bt-exclude-tracker>`
|
|
|
+ * :option:`bt-external-ip <--bt-external-ip>`
|
|
|
+ * :option:`bt-hash-check-seed <--bt-hash-check-seed>`
|
|
|
+ * :option:`bt-max-open-files <--bt-max-open-files>`
|
|
|
+ * :option:`bt-max-peers <--bt-max-peers>`
|
|
|
+ * :option:`bt-metadata-only <--bt-metadata-only>`
|
|
|
+ * :option:`bt-min-crypto-level <--bt-min-crypto-level>`
|
|
|
+ * :option:`bt-prioritize-piece <--bt-prioritize-piece>`
|
|
|
+ * :option:`bt-request-peer-speed-limit <--bt-request-peer-speed-limit>`
|
|
|
+ * :option:`bt-require-crypto <--bt-require-crypto>`
|
|
|
+ * :option:`bt-save-metadata <--bt-save-metadata>`
|
|
|
+ * :option:`bt-seed-unverified <--bt-seed-unverified>`
|
|
|
+ * :option:`bt-stop-timeout <--bt-stop-timeout>`
|
|
|
+ * :option:`bt-tracker <--bt-tracker>`
|
|
|
+ * :option:`bt-tracker-connect-timeout <--bt-tracker-connect-timeout>`
|
|
|
+ * :option:`bt-tracker-interval <--bt-tracker-interval>`
|
|
|
+ * :option:`bt-tracker-timeout <--bt-tracker-timeout>`
|
|
|
+ * :option:`bt-remove-unselected-file <--bt-remove-unselected-file>`
|
|
|
+ * :option:`check-integrity <-V>`
|
|
|
+ * :option:`conditional-get <--conditional-get>`
|
|
|
+ * :option:`connect-timeout <--connect-timeout>`
|
|
|
+ * :option:`continue <-c>`
|
|
|
+ * :option:`dir <-d>`
|
|
|
+ * :option:`dry-run <--dry-run>`
|
|
|
+ * :option:`enable-async-dns6 <--enable-async-dns6>`
|
|
|
+ * :option:`enable-http-keep-alive <--enable-http-keep-alive>`
|
|
|
+ * :option:`enable-http-pipelining <--enable-http-pipelining>`
|
|
|
+ * :option:`enable-peer-exchange <--enable-peer-exchange>`
|
|
|
+ * :option:`file-allocation <--file-allocation>`
|
|
|
+ * :option:`follow-metalink <--follow-metalink>`
|
|
|
+ * :option:`follow-torrent <--follow-torrent>`
|
|
|
+ * :option:`ftp-passwd <--ftp-passwd>`
|
|
|
+ * :option:`ftp-pasv <-p>`
|
|
|
+ * :option:`ftp-proxy <--ftp-proxy>`
|
|
|
+ * :option:`ftp-proxy-passwd <--ftp-proxy-passwd>`
|
|
|
+ * :option:`ftp-proxy-user <--ftp-proxy-user>`
|
|
|
+ * :option:`ftp-reuse-connection <--ftp-reuse-connection>`
|
|
|
+ * :option:`ftp-type <--ftp-type>`
|
|
|
+ * :option:`ftp-user <--ftp-user>`
|
|
|
+ * :option:`header <--header>`
|
|
|
+ * :option:`http-accept-gzip <--http-accept-gzip>`
|
|
|
+ * :option:`http-auth-challenge <--http-auth-challenge>`
|
|
|
+ * :option:`http-no-cache <--http-no-cache>`
|
|
|
+ * :option:`http-passwd <--http-passwd>`
|
|
|
+ * :option:`http-proxy <--http-proxy>`
|
|
|
+ * :option:`http-proxy-passwd <--http-proxy-passwd>`
|
|
|
+ * :option:`http-proxy-user <--http-proxy-user>`
|
|
|
+ * :option:`http-user <--http-user>`
|
|
|
+ * :option:`https-proxy <--https-proxy>`
|
|
|
+ * :option:`https-proxy-passwd <--https-proxy-passwd>`
|
|
|
+ * :option:`https-proxy-user <--https-proxy-user>`
|
|
|
+ * :option:`index-out <-O>`
|
|
|
+ * :option:`lowest-speed-limit <--lowest-speed-limit>`
|
|
|
+ * :option:`max-connection-per-server <-x>`
|
|
|
+ * :option:`max-download-limit <--max-download-limit>`
|
|
|
+ * :option:`max-file-not-found <--max-file-not-found>`
|
|
|
+ * :option:`max-resume-failure-tries <--max-resume-failure-tries>`
|
|
|
+ * :option:`max-tries <-m>`
|
|
|
+ * :option:`max-upload-limit <-u>`
|
|
|
+ * :option:`metalink-enable-unique-protocol <--metalink-enable-unique-protocol>`
|
|
|
+ * :option:`metalink-language <--metalink-language>`
|
|
|
+ * :option:`metalink-location <--metalink-location>`
|
|
|
+ * :option:`metalink-os <--metalink-os>`
|
|
|
+ * :option:`metalink-preferred-protocol <--metalink-preferred-protocol>`
|
|
|
+ * :option:`metalink-version <--metalink-version>`
|
|
|
+ * :option:`min-split-size <-k>`
|
|
|
+ * :option:`no-file-allocation-limit <--no-file-allocation-limit>`
|
|
|
+ * :option:`no-netrc <-n>`
|
|
|
+ * :option:`no-proxy <--no-proxy>`
|
|
|
+ * :option:`out <-o>`
|
|
|
+ * :option:`parameterized-uri <-P>`
|
|
|
+ * :option:`proxy-method <--proxy-method>`
|
|
|
+ * :option:`realtime-chunk-checksum <--realtime-chunk-checksum>`
|
|
|
+ * :option:`referer <--referer>`
|
|
|
+ * :option:`remote-time <-R>`
|
|
|
+ * :option:`remove-control-file <--remove-control-file>`
|
|
|
+ * :option:`reuse-uri <--reuse-uri>`
|
|
|
+ * :option:`seed-ratio <--seed-ratio>`
|
|
|
+ * :option:`seed-time <--seed-time>`
|
|
|
+ * :option:`select-file <--select-file>`
|
|
|
+ * :option:`split <-s>`
|
|
|
+ * :option:`timeout <-t>`
|
|
|
+ * :option:`use-head <--use-head>`
|
|
|
+ * :option:`user-agent <-U>`
|
|
|
+ * :option:`retry-wait <--retry-wait>`
|
|
|
+ * :option:`metalink-base-uri <--metalink-base-uri>`
|
|
|
+ * :option:`pause <--pause>`
|
|
|
+ * :option:`stream-piece-selector <--stream-piece-selector>`
|
|
|
+ * :option:`hash-check-only <--hash-check-only>`
|
|
|
+ * :option:`checksum <--checksum>`
|
|
|
+ * :option:`piece-length <--piece-length>`
|
|
|
+ * :option:`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 выполняется с параметрами ``-i uri.txt -d /tmp``,
|
|
|
+а загрузка происходит с
|
|
|
+\http://server/file.iso и \http://mirror/file.iso, то ``file.iso`` сохранится
|
|
|
+как ``/iso_images/file.img``. Файл ``bar`` загрузится с http://foo/bar и
|
|
|
+сохранится как ``/tmp/bar``.
|
|
|
+
|
|
|
+В некоторых случаях, параметр :option:`out <-o>` не имеет никакого
|
|
|
+эффекта. Смотрите примечание по ограничениям параметра
|
|
|
+:option:`--out <-o>`.
|
|
|
+
|
|
|
+Профиль функционирования сервера
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+
|
|
|
+Этот раздел описывает формат профиля функционирования сервера. Это открытый
|
|
|
+текстовый файл, каждая строка которого имеет несколько пар ИМЯ=ЗНАЧЕНИЕ,
|
|
|
+разделенных запятыми. В настоящее время распознаются следующие ИМЕНА:
|
|
|
+
|
|
|
+``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 через HTTP и XML-RPC через HTTP, они в основном
|
|
|
+имеют одинаковые функции. aria2 также обеспечивает JSON-RPC через
|
|
|
+WebSocket. JSON-RPC через WebSocket использует тот же самый метод сигнатур и
|
|
|
+формат ответа как у JSON-RPC через HTTP, но дополнительно имеет сервер,
|
|
|
+инициирующий уведомления. Смотрите подробности в разделе
|
|
|
+`JSON-RPC через WebSocket`_.
|
|
|
+
|
|
|
+Путь запроса к JSON-RPC-интерфейсу (для через HTTP и через WebSocket) -
|
|
|
+``/jsonrpc``. Путь запроса к XML-RPC-интерфейсу - ``/rpc``.
|
|
|
+
|
|
|
+WebSocket URI для JSON-RPC через WebSocket является ``ws://HOST:PORT/jsonrpc``.
|
|
|
+
|
|
|
+Реализованный JSON-RPC основан на спецификации
|
|
|
+JSON-RPC 2.0 <http://jsonrpc.org/specification> и поддерживает HTTP POST и
|
|
|
+GET (JSONP). Использование WebSocket как транспорта является начальным
|
|
|
+расширением aria2.
|
|
|
+
|
|
|
+JSON-RPC-интерфейс не поддерживает уведомления в HTTP, но RPC-сервер будет
|
|
|
+отправлять уведомления в WebSocket. Он также не поддерживает числа с
|
|
|
+плавающей точкой. Символы должны быть в кодировке UTF-8.
|
|
|
+
|
|
|
+В следующем документе о JSON-RPC, описана структура JSON-объекта.
|
|
|
+
|
|
|
+Терминология
|
|
|
+~~~~~~~~~~~~
|
|
|
+
|
|
|
+GID
|
|
|
+ GID (или gid) - это ключ, для управления каждой загрузкой. Каждая загрузка
|
|
|
+ имеет уникальный GID. В настоящее время GID представлен как целое число, но
|
|
|
+ обрабатывается как не целое число, т.к. он может быть изменен на другой тип
|
|
|
+ в будущих версиях. Обратите внимание, что GID существует в локальной сессии
|
|
|
+ и не сохраняется при завершении работы aria2.
|
|
|
+
|
|
|
+Методы
|
|
|
+~~~~~~
|
|
|
+
|
|
|
+Весь код в примерах написан на Python2.7.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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* имеет тип структура, элементы которой
|
|
|
+ являются парой имя и значение. Смотрите ниже :ref:`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'
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.addTorrent(torrent[, uris[, options[, position]]])
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод добавляет BitTorrent-загрузку путем загрузки .torrent-файла. Если
|
|
|
+ вы хотите добавить BitTorrent Magnet URI, взамен используйте метод
|
|
|
+ :func:`aria2.addUri`. Параметр *torrent* имеет тип
|
|
|
+ base64, с содержанием Base64-кодировки
|
|
|
+ .в .torrent-файле. Параметр *uris* имеет тип массив, элемент которого имеет тип строка и содержит URI.
|
|
|
+ Параметр *uris* используется для Web-сидирования. Для однофайловых
|
|
|
+ торрентов, URI может быть завершенным, который указывает на ресурс, или же
|
|
|
+ если заканчиваться символом /, тогда будет добавлено имя из
|
|
|
+ torrent-файла. Для многофайловых торентов, имя и путь в торренте будут
|
|
|
+ добавлены из URI для каждого файла. Параметр *options* имеет тип структура,
|
|
|
+ элементы которой являются парой имя и значение. Смотрите ниже
|
|
|
+ :ref:`rpc_options` для более подробной информации. Если
|
|
|
+ параметр *position* задан как целое число, начиная с 0, то новая загрузка
|
|
|
+ будет вставлена на позицию *position* в очередь ожидания. Если параметр
|
|
|
+ *position* не задан или больше чем размер очереди, то загрузка будет
|
|
|
+ добавлена в конец очереди. Этот метод возвращает GID зарегистрированной
|
|
|
+ загрузки. Загруженные данные сохраняются в файл с именем шестнадцатеричной
|
|
|
+ строки SHA-1-хэша этих данных плюс ".torrent", в каталог указанный в
|
|
|
+ параметре :option:`--dir <-d>`. Например, имя файла
|
|
|
+ 0a3893293e27ac0490424c06de4d09242215f0a6.torrent. Если этот файл существует,
|
|
|
+ то он будет перезаписан. Если файл не может быть успешно сохранен, то
|
|
|
+ загрузки, добавленные этим методом, не сохраняются при помощи параметра
|
|
|
+ :option:`--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'
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.addMetalink(metalink[, options[, position]])
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод добавляет Metalink-загрузку путем загрузки
|
|
|
+ .metalink-файла. Параметр *metalink* имеет тип base64, с содержанием
|
|
|
+ Base64-кодировки в .metalink-файле. Параметр *options* имеет тип структура,
|
|
|
+ элементы которой являются парой имя-значение. Смотрите ниже
|
|
|
+ :ref:`rpc_options` для более подробной информации. Если
|
|
|
+ параметр *position* задан как целое число, начиная с 0, то новая загрузка
|
|
|
+ будет вставлена на позицию *position* в очередь ожидания. Если параметр
|
|
|
+ *position* не задан или больше чем размер очереди, то загрузка будет
|
|
|
+ добавлена в конец очереди. Этот метод возвращает GID зарегистрированной
|
|
|
+ загрузки. Загруженные данные сохраняются в файл с именем шестнадцатеричной
|
|
|
+ строки SHA-1-хэша этих данных плюс ".metalink", в каталог указанный в
|
|
|
+ параметре :option:`--dir <-d>`. Например, имя файла
|
|
|
+ 0a3893293e27ac0490424c06de4d09242215f0a6.metalink. Если этот файл
|
|
|
+ существует, то он будет перезаписан. Если файл не может быть успешно
|
|
|
+ сохранен, то загрузки, добавленные этим методом, не сохраняются при помощи
|
|
|
+ параметра :option:`--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']
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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'
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.forceRemove(gid)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод удаляет загрузку, которая обозначена *gid*. Метод действует
|
|
|
+ подобно :func:`aria2.remove`, за исключением того, что
|
|
|
+ метод удаляет загрузку без каких-либо действий, которые требует времени,
|
|
|
+ например связь с BitTorrent-трекером.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.pause(gid)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод приостанавливает загрузку, которая обозначена *gid*. Параметр
|
|
|
+ *gid* имеет тип строки. Статус приостановки станет ``"paused"``
|
|
|
+ (приостановлено). Если загрузка активна, то загрузка переместится на первую
|
|
|
+ позицию в очередь ожидания. Пока статус ``"paused"``, загрузка не начнется. Для
|
|
|
+ смены статуса на ``"waiting"``, используйте метод
|
|
|
+ :func:`aria2.unpause`. Этот метод возвращает GID приостановленной загрузки.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.pauseAll()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод эквивалентен по вызову :func:`aria2.pause`,
|
|
|
+ для каждой активной/ожидающей закачки. Этот метод возвращает ``"OK"``, в случае
|
|
|
+ успеха.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.forcePause(pid)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод приостанавливает загрузку, которая обозначена *gid*. Метод
|
|
|
+ действует подобно :func:`aria2.pause`, за исключением
|
|
|
+ того, что метод приостанавливает загрузку без каких-либо действий, которые
|
|
|
+ требует времени, например связь с BitTorrent-трекером.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.forcePauseAll()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод эквивалентен по вызову
|
|
|
+ :func:`aria2.forcePause`, для каждой активной/ожидающей закачки. Этот метод
|
|
|
+ возвращает ``"OK"``, в случае успеха.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.unpause(gid)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод изменяет статус загрузки, которая обозначена 'gid', с ``"paused"`` на
|
|
|
+ ``"waiting"``. Это позволяет перезапускать загрузку. Значение ключа *gid* имеет
|
|
|
+ тип строки. Этот метод возвращает GID, снятой с паузы, загрузки.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.unpauseAll()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод эквивалентен по вызову
|
|
|
+ :func:`aria2.unpause`, для каждой активной/ожидающей закачки. Этот метод
|
|
|
+ возвращает ``"OK"``, в случае успеха.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.tellStatus(gid[, keys])
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод возвращает состояние загрузки, которая обозначена *gid*. Параметр
|
|
|
+ *gid* имеет тип строка. Параметр *keys* имеет тип массив строк. Если *keys*
|
|
|
+ указан, то ответ содержит определенные значения в массиве *keys*. Если
|
|
|
+ *keys* пустой или не указан, то ответ содержит все значения. Это полезно,
|
|
|
+ если вы хотите использовать определенные параметры, чтобы исключить
|
|
|
+ множество пересылок. Например,
|
|
|
+ ``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-файл, то это генерирует
|
|
|
+ загрузки, описанные в нем (см. параметр
|
|
|
+ :option:`--follow-metalink`). Это значение полезно для отслеживания автоматически
|
|
|
+ сгенерированных загрузок. Если таких загрузок нет, то значение не будет
|
|
|
+ включено в ответ.
|
|
|
+
|
|
|
+ ``belongsTo``
|
|
|
+ GID родительской загрузки. Некоторые загрузки являются частью другой
|
|
|
+ загрузки. Например, если файл в Metalink содержит BitTorrent-ответ, загрузка
|
|
|
+ .torrent будет частью этого файла. Если эта загрузка не имеет родительской
|
|
|
+ загрузки, то значение не будет включено в ответ.
|
|
|
+
|
|
|
+ ``dir``
|
|
|
+ Каталог для сохранения файлов. Этот параметр не доступен для остановленных
|
|
|
+ загрузок.
|
|
|
+
|
|
|
+ ``files``
|
|
|
+ Возвращает список файлов. Элемент списка - это структура, такая же, что и в
|
|
|
+ методе :func:`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'}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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'}]
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.getFiles(gid)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод возвращает список файлов загрузки, которая обозначена
|
|
|
+ *gid*. Параметр *gid* имеет тип строка. Ответ имеет тип массив, а элемент -
|
|
|
+ тип структура и содержит следующие поля. Поле имеет тип строка.
|
|
|
+
|
|
|
+ ``index``
|
|
|
+ Индекс файла. Начинается с 1. Последовательность файлов такая же, что и в
|
|
|
+ многофайловом торренте.
|
|
|
+
|
|
|
+ ``path``
|
|
|
+ Путь к файлу.
|
|
|
+
|
|
|
+ ``length``
|
|
|
+ Размер файла в байта.
|
|
|
+
|
|
|
+ ``completedLength``
|
|
|
+ Загруженный объем файла в байтах. Обратите внимание, что вполне возможно,
|
|
|
+ что сумма completedLength меньше чем в методе
|
|
|
+ :func:`aria2.tellStatus`. Это потому, что completedLength в
|
|
|
+ :func:`aria2.getFiles` считаются только завершенные
|
|
|
+ блоки. С другой стороны, completedLength в
|
|
|
+ :func:`aria2.tellStatus` учитывает частично завершенные блоки.
|
|
|
+
|
|
|
+ ``selected``
|
|
|
+ ``"true"`` - если этот файл выбран параметром
|
|
|
+ :option:`--select-file`. Если параметр
|
|
|
+ :option:`--select-file` не указан или это однофайловый торрент или загрузка не
|
|
|
+ торрент, то это значение всегда будет ``"true"``. Иначе ``"false"``.
|
|
|
+
|
|
|
+ ``uris``
|
|
|
+ Возвращает список URI для этого файла. Элемент списка такая же структура,
|
|
|
+ что используется в методе :func:`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'}]}]
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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'}]
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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'}]}]
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.tellActive([keys])
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод возвращает список активных загрузок. Ответ имеет тип массив и его
|
|
|
+ элемент такая же структура, которая возвращается методом
|
|
|
+ :func:`aria2.tellStatus`. За разъяснениями о
|
|
|
+ параметре 'keys', обратитесь к методу
|
|
|
+ :func:`aria2.tellStatus`.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.tellWaiting(offset, num, [keys])
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод возвращает список ожидающих загрузок, включая приостановленные
|
|
|
+ загрузки. *offset* имеет целочисленный тип и указывает смещение, начиная от
|
|
|
+ ожидающей загрузки. *num* имеет целочисленный тип и указывает число
|
|
|
+ возвращаемых загрузок. За разъяснениями о параметре 'keys', обратитесь к
|
|
|
+ методу :func:`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"].
|
|
|
+
|
|
|
+ Ответ имеет тип массив и его элемент такая же структура, которая
|
|
|
+ возвращается методом :func:`aria2.tellStatus`.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.tellStopped(offset, num, [keys])
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод возвращает список остановленных загрузок. *offset* имеет
|
|
|
+ целочисленный тип и указывает смещение, начиная с самой старой
|
|
|
+ загрузки. *num* имеет целочисленный тип и указывает число возвращаемых
|
|
|
+ загрузок. За разъяснениями о параметре 'keys', обратитесь к методу
|
|
|
+ :func:`aria2.tellStatus`.
|
|
|
+
|
|
|
+ *offset* и *num* имеют такую же семантику, как и в методе
|
|
|
+ :func:`aria2.tellWaiting`.
|
|
|
+
|
|
|
+ Ответ имеет тип массив и его элемент такая же структура, которая
|
|
|
+ возвращается методом :func:`aria2.tellStatus`.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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]
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.getOption(gid)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод возвращает параметры загрузки, которая обозначена *gid*. Ответ
|
|
|
+ имеет тип структура. Ее поля - это название параметра. Поле имеет тип
|
|
|
+ строка. Обратите внимание, что этот метод не возвращает параметры, которые
|
|
|
+ не имеют значение по умолчанию и не были заданы параметрами командной
|
|
|
+ строки, конфигурационными файлами или RPC-методами.
|
|
|
+
|
|
|
+ **Пример 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',
|
|
|
+ ....
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.changeOption(gid, options)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод изменяет динамически параметры загрузки, которая обозначена
|
|
|
+ *gid*. *gid* имеет тип строка. *options* имеет тип структура. Доступны
|
|
|
+ следующие параметры для активных загрузок:
|
|
|
+
|
|
|
+ * :option:`bt-max-peers <--bt-max-peers>`
|
|
|
+ * :option:`bt-request-peer-speed-limit <--bt-request-peer-speed-limit>`
|
|
|
+ * :option:`bt-remove-unselected-file <--bt-remove-unselected-file>`
|
|
|
+ * :option:`max-download-limit <--max-download-limit>`
|
|
|
+ * :option:`max-upload-limit <-u>`
|
|
|
+
|
|
|
+ Для ожидающих или приостановленных загрузок, в дополнение к выше
|
|
|
+ перечисленным параметрам, доступны параметры, перечисленные в подразделе
|
|
|
+ `Входной файл`_, исключая следующие параметры:
|
|
|
+ :option:`dry-run <--dry-run>`,
|
|
|
+ :option:`metalink-base-uri <--metalink-base-uri>`,
|
|
|
+ :option:`parameterized-uri <-P>`, :option:`pause <--pause>` и
|
|
|
+ :option:`piece-length <--piece-length>`. Этот метод возвращает ``"OK"``, в
|
|
|
+ случае успеха.
|
|
|
+
|
|
|
+ **Пример JSON-RPC**
|
|
|
+
|
|
|
+
|
|
|
+ Следующий пример устанавливает параметр
|
|
|
+ :option:`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**
|
|
|
+
|
|
|
+
|
|
|
+ Следующий пример устанавливает параметр
|
|
|
+ :option:`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'
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.getGlobalOption()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод возвращает глобальные параметры. Ответ имеет тип структура. Ее
|
|
|
+ поля - это название параметра. Поле имеет тип строка. Обратите внимание, что
|
|
|
+ этот метод не возвращает параметры, которые не имеют значение по умолчанию и
|
|
|
+ не были заданы параметрами командной строки, конфигурационными файлами или
|
|
|
+ RPC-методами. Так как глобальные параметры используются в качестве шаблона
|
|
|
+ для вновь добавляемой загрузки, ответ содержит поля возвращаемые методом
|
|
|
+ :func:`aria2.getOption`.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.changeGlobalOption(options)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод изменяет динамически глобальные параметры. *options* имеет тип
|
|
|
+ структура. Доступны следующие параметры:
|
|
|
+
|
|
|
+ * :option:`download-result <--download-result>`
|
|
|
+ * :option:`log <-l>`
|
|
|
+ * :option:`log-level <--log-level>`
|
|
|
+ * :option:`max-concurrent-downloads <-j>`
|
|
|
+ * :option:`max-download-result <--max-download-result>`
|
|
|
+ * :option:`max-overall-download-limit <--max-overall-download-limit>`
|
|
|
+ * :option:`max-overall-upload-limit <--max-overall-upload-limit>`
|
|
|
+ * :option:`save-cookies <--save-cookies>`
|
|
|
+ * :option:`save-session <--save-session>`
|
|
|
+ * :option:`server-stat-of <--server-stat-of>`
|
|
|
+
|
|
|
+ В дополнение к ним, параметры перечисленные в подразделе `Входной файл`_, исключая следующие параметры:
|
|
|
+ :option:`checksum <--checksum>`, :option:`index-out <-O>`,
|
|
|
+ :option:`out <-o>`, :option:`pause <--pause>` и
|
|
|
+ :option:`select-file <--select-file>`.
|
|
|
+
|
|
|
+ Используя параметр :option:`log <-l>`, вы можете динамически
|
|
|
+ начинать вести журнал событий или изменять файл журнала событий. Чтобы
|
|
|
+ остановить ведение журнала событий, задайте пустую строку ("") в качестве
|
|
|
+ значения параметра. Обратите внимание, что файл журнала событий всегда
|
|
|
+ открыт в режиме добавления. Этот метод возвращает ``"OK"``, в случае успеха.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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'}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.purgeDownloadResult()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод очищает, для освобождения памяти, завершенные/ошибка/удаленные
|
|
|
+ загрузки. Метод возвращает ``"OK"``.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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'
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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'}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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'}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.shutdown()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод закрывает aria2. Метод возвращает ``"OK"``.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.forceShutdown()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Этот метод закрывает aria2. Метод действует подобно
|
|
|
+ :func:`aria2.shutdown`, за исключением того, что
|
|
|
+ метод выполняется без каких-либо действий, которые требует времени, связь с
|
|
|
+ BitTorrent-трекером пропускается. Метод возвращает ``"OK"``.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: 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.
|
|
|
+
|
|
|
+.. _rpc_options:
|
|
|
+
|
|
|
+Параметры
|
|
|
+~~~~~~~~~
|
|
|
+
|
|
|
+Такие же параметры, что доступны для
|
|
|
+:option:`--input-file <-i>`. Смотрите подраздел `Входной файл`_ для полного
|
|
|
+списка параметров.
|
|
|
+
|
|
|
+В структуре, имя элемента - это имя параметра (без ``--``), а значение
|
|
|
+элемента - аргумент в виде строки.
|
|
|
+
|
|
|
+Пример JSON-RPC
|
|
|
+^^^^^^^^^^^^^^^
|
|
|
+::
|
|
|
+
|
|
|
+ {'split':'1', 'http-proxy':'http://proxy/'}
|
|
|
+
|
|
|
+
|
|
|
+Пример XML-RPC
|
|
|
+^^^^^^^^^^^^^^
|
|
|
+.. code-block:: xml
|
|
|
+
|
|
|
+ <struct>
|
|
|
+ <member>
|
|
|
+ <name>split</name>
|
|
|
+ <value><string>1</string></value>
|
|
|
+ </member>
|
|
|
+ <member>
|
|
|
+ <name>http-proxy</name>
|
|
|
+ <value><string>http://proxy/</string></value>
|
|
|
+ </member>
|
|
|
+ </struct>
|
|
|
+
|
|
|
+
|
|
|
+Параметры :option:`header <--header>` и :option:`index-out <-O>`
|
|
|
+допускают нескольких определений в
|
|
|
+командной строке. Поскольку имя должно быть уникальным в структуре
|
|
|
+(многие реализации библиотеки XML-RPC использует хэш или словарь
|
|
|
+для структуры), одной строки не достаточно. Для преодоления этой
|
|
|
+ситуации, они могут взять массив в качестве значения, а также строку.
|
|
|
+
|
|
|
+Пример JSON-RPC
|
|
|
+^^^^^^^^^^^^^^^
|
|
|
+::
|
|
|
+
|
|
|
+ {'header':['Accept-Language: ja', 'Accept-Charset: utf-8']}
|
|
|
+
|
|
|
+
|
|
|
+Пример XML-RPC
|
|
|
+^^^^^^^^^^^^^^
|
|
|
+.. code-block:: xml
|
|
|
+
|
|
|
+ <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 параметров основанных на
|
|
|
+JSON-RPC
|
|
|
+через HTTP Спецификация [2008-1-15(RC1)]. Кодирование параметров через GET
|
|
|
+следующие::
|
|
|
+
|
|
|
+ /jsonrpc?method=METHOD_NAME&id=ID¶ms=BASE64_ENCODED_PARAMS
|
|
|
+
|
|
|
+
|
|
|
+``method`` и ``id`` всегда обрабатывается как JSON-строка и они должны быть в
|
|
|
+кодировке UTF-8.
|
|
|
+
|
|
|
+Например, закодированная строка aria2.tellStatus('3') с id='foo' выглядит
|
|
|
+так::
|
|
|
+
|
|
|
+ /jsonrpc?method=aria2.tellStatus&id=foo¶ms=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¶ms=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
|
|
|
+
|
|
|
+
|
|
|
+JSON-RPC через WebSocket
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+
|
|
|
+JSON-RPC через WebSocket использует тот же самый метод сигнатур и формат
|
|
|
+ответа как у JSON-RPC через HTTP. Поддерживаемый WebSocket, версия 13,
|
|
|
+детально описан в :rfc:`6455`.
|
|
|
+
|
|
|
+Для отправки RPC-запроса на RPC-сервер, надо отправлять преобразованную в
|
|
|
+последовательную форму JSON-строку в текстовом фрейме. Ответ от RPC-сервера
|
|
|
+также доставляется в текстовом фрейме.
|
|
|
+
|
|
|
+RPC-сервер отправит уведомление клиенту. Уведомление является
|
|
|
+однонаправленным, поэтому клиент, который получил уведомление, не должен
|
|
|
+отвечать на него. Метод сигнатуры уведомления такой же, как нормальный метод
|
|
|
+запроса, но отсутствует идентификатор ключа. Значение, связанное с ключом
|
|
|
+params, является данными, которые переносит это уведомление. Формат этого
|
|
|
+значения варьируется в зависимости от метода уведомления. Определены
|
|
|
+следующие методы уведомления.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.onDownloadStart(event)
|
|
|
+
|
|
|
+
|
|
|
+ Это уведомление будет оправлено, если загрузка запущена. Параметр *event*
|
|
|
+ имеет тип структура и содержит следующие поля. Поле имеет тип строка.
|
|
|
+
|
|
|
+ ``gid``
|
|
|
+ GID загрузки.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.onDownloadPause(event)
|
|
|
+
|
|
|
+
|
|
|
+ Это уведомление будет оправлено, если загрузка приостановлена. *event* -
|
|
|
+ такая же структура, как параметр *event* в методе
|
|
|
+ :func:`aria2.onDownloadStart`.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.onDownloadStop(event)
|
|
|
+
|
|
|
+
|
|
|
+ Это уведомление будет оправлено, если загрузка остановлена
|
|
|
+ пользователем. *event* - такая же структура, как параметр *event* в методе
|
|
|
+ :func:`aria2.onDownloadStart`.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.onDownloadComplete(event)
|
|
|
+
|
|
|
+
|
|
|
+ Это уведомление будет оправлено, если загрузка завершена. В
|
|
|
+ BitTorrent-загрузках, это уведомление отправляется, когда загрузка завершена
|
|
|
+ и сидирование окончено. *event* - такая же структура, как параметр *event* в
|
|
|
+ методе :func:`aria2.onDownloadStart`.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.onDownloadError(event)
|
|
|
+
|
|
|
+
|
|
|
+ Это уведомление будет оправлено, если загрузка остановлена из-за
|
|
|
+ ошибки. *event* - такая же структура, как параметр *event* в методе
|
|
|
+ :func:`aria2.onDownloadStart`.
|
|
|
+
|
|
|
+
|
|
|
+.. function:: aria2.onBtDownloadComplete(event)
|
|
|
+
|
|
|
+
|
|
|
+ Это уведомление будет оправлено, если загрузка в BitTorrent завершена (но
|
|
|
+ сидирование может быть не окончено). *event* - такая же структура, как
|
|
|
+ параметр *event* в методе
|
|
|
+ :func:`aria2.onDownloadStart`.
|
|
|
+
|
|
|
+Пример кода XML-RPC-клиента
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+
|
|
|
+Следующий Ruby-скрипт добавляет ``http://localhost/aria2.tar.bz2``, с
|
|
|
+параметром :option:`--dir=/downloads, <-d>` в aria2c, которая
|
|
|
+работает на localhost и отображает ответ:
|
|
|
+
|
|
|
+.. code-block:: ruby
|
|
|
+
|
|
|
+ #!/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
|
|
|
+~~~~~~~~~~~~~~~~~~~~
|
|
|
+Загрузка файла
|
|
|
+^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c "http://host/file.zip"
|
|
|
+
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Для остановки загрузки, нажмите :kbd:`Ctrl-C`. Вы можете возобновить передачу,
|
|
|
+ запустив aria2c с теми же аргументами в том же каталоге. Вы можете изменить
|
|
|
+ URI, если они указывают на тот же самый файл.
|
|
|
+
|
|
|
+Загрузка файла с 2-ух разных HTTP-серверов
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c "http://host/file.zip" "http://mirror/file.zip"
|
|
|
+
|
|
|
+
|
|
|
+Загрузка файла с одно хоста, используя 2 соединения
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -x2 -k1M "http://host/file.zip"
|
|
|
+
|
|
|
+
|
|
|
+Загрузка файла с HTTP- и FTP-серверов
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c "http://host1/file.zip" "ftp://host2/file.zip"
|
|
|
+
|
|
|
+
|
|
|
+Одновременная загрузка файлов, перечисленных в текстовом файле
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -ifiles.txt -j2
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Параметр -j указывает количество параллельных загрузок.
|
|
|
+
|
|
|
+Использование прокси-сервера
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+Для HTTP:
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --http-proxy="http://proxy:8080" "http://host/file"
|
|
|
+
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --http-proxy="http://proxy:8080" --no-proxy="localhost,127.0.0.1,192.168.0.0/16" "http://host/file"
|
|
|
+
|
|
|
+
|
|
|
+Для FTP:
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --ftp-proxy="http://proxy:8080" "ftp://host/file"
|
|
|
+
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Смотрите для подробностей :option:`--http-proxy`,
|
|
|
+ :option:`--https-proxy`,
|
|
|
+ :option:`--ftp-proxy`, :option:`--all-proxy` и
|
|
|
+ :option:`--no-proxy`. Вы можете указать прокси в
|
|
|
+ переменных окружения. Смотрите раздел `ОКРУЖЕНИЕ`_.
|
|
|
+
|
|
|
+Прокси-сервер с авторизацией
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --http-proxy="http://username:password@proxy:8080" "http://host/file"
|
|
|
+
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --http-proxy="http://proxy:8080" --http-proxy-user="username" --http-proxy-passwd="password" "http://host/file"
|
|
|
+
|
|
|
+
|
|
|
+Загрузка Metalink
|
|
|
+~~~~~~~~~~~~~~~~~
|
|
|
+Загрузка файлов с удаленного Metalink
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --follow-metalink=mem "http://host/file.metalink"
|
|
|
+
|
|
|
+
|
|
|
+Загрузка, используя локальный metalink-файл
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -p --lowest-speed-limit=4000 file.metalink
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Для остановки загрузки, нажмите :kbd:`Ctrl-C`. Вы можете возобновить передачу,
|
|
|
+ запустив aria2c с теми же аргументами в том же каталоге.
|
|
|
+
|
|
|
+Загрузка нескольких локальных metalink-файлов
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -j2 file1.metalink file2.metalink
|
|
|
+
|
|
|
+
|
|
|
+Загрузка только выбранных файлов, используя индекс
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --select-file=1-4,8 file.metalink
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Индекс выводится на консоль при использовании параметра -S.
|
|
|
+
|
|
|
+Загрузка файла, используя локальный .metalink-файл с пользовательскими настройками
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --metalink-location=jp,us --metalink-version=1.1 --metalink-language=en-US file.metalink
|
|
|
+
|
|
|
+
|
|
|
+Загрузка BitTorrent
|
|
|
+~~~~~~~~~~~~~~~~~~~
|
|
|
+Загрузка файлов из удаленного BitTorrent-файла
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --follow-torrent=mem "http://host/file.torrent"
|
|
|
+
|
|
|
+
|
|
|
+Загрузка, используя локальный torrent-файл
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --max-upload-limit=40K file.torrent
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ --max-upload-limit определяет максимальную скорость отдачи.
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Для остановки загрузки, нажмите :kbd:`Ctrl-C`. Вы можете возобновить передачу,
|
|
|
+ запустив aria2c с теми же аргументами в том же каталоге.
|
|
|
+
|
|
|
+Загрузка, используя BitTorrent Magnet URI
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"
|
|
|
+
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Не забывайте заключать BitTorrent Magnet URI, в которой есть символ ``&``, в
|
|
|
+ одиночные(``'``) или двойные(``"``) кавычки.
|
|
|
+
|
|
|
+Загрузка 2-х торрентов
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -j2 file1.torrent file2.torrent
|
|
|
+
|
|
|
+
|
|
|
+Загрузка файла, используя торрент и HTTP/FTP-сервер
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -Ttest.torrent "http://host1/file" "ftp://host2/file"
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Загрузка многофайлового торрента через HTTP/FTP не поддерживается.
|
|
|
+
|
|
|
+Загрузка только выбранных файлов, используя индекс (обычно называют "выборочная загрузка")
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --select-file=1-4,8 file.torrent
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Индекс выводится на консоль при использовании параметра -S.
|
|
|
+
|
|
|
+Указание имени выходного файла
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+
|
|
|
+Для указания выходного имени файла в BitTorrent-загрузках, вам нужно узнать
|
|
|
+индекс файла в torrent-файле, используя параметр
|
|
|
+:option:`--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', при использовании
|
|
|
+следующей команды:
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --dir=/tmp --index-out=1=mydir/base.iso --index-out=2=dir/driver.iso file.torrent
|
|
|
+
|
|
|
+
|
|
|
+Изменение прослушиваемого порта для входящих соединений от пиров
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --listen-port=7000-7001,8000 file.torrent
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Т.к. aria2 не настраивает брандмауэр или маршрутизатор для перенаправления
|
|
|
+ портов, вам решать, как это сделать вручную.
|
|
|
+
|
|
|
+Указать условие остановки программы после завершения загрузки торрента
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --seed-time=120 --seed-ratio=1.0 file.torrent
|
|
|
+
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ В приведенном выше примере, программа завершается через 120 минут после
|
|
|
+ завершения загрузки или при достижении рейтинга сидирования 1.0.
|
|
|
+
|
|
|
+Регулировка скорости отдачи
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --max-upload-limit=100K file.torrent
|
|
|
+
|
|
|
+
|
|
|
+Включить IPv4 DHT
|
|
|
+^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --enable-dht --dht-listen-port=6881 file.torrent
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ DHT использует udp-порт. Так как aria2 не настраивает брандмауэр или
|
|
|
+ маршрутизатор для перенаправления портов, вам решать как это сделать
|
|
|
+ вручную.
|
|
|
+
|
|
|
+Включить IPv6 DHT
|
|
|
+^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --enable-dht6 --dht-listen-port=6881
|
|
|
+ --dht-listen-addr6=YOUR_GLOBAL_UNICAST_IPV6_ADDR --enable-async-dns6
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Если aria2c не собрана с c-ares, то :option:`--enable-async-dns6`
|
|
|
+ не нужен. aria2 разделяет один и тот же порт между IPv4 и IPv6 DHT.
|
|
|
+
|
|
|
+Добавить и удалить URI трекера
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+
|
|
|
+Удалить все URI анонса трекеров, описанных в file.torrent и
|
|
|
+взамен использовать ``http://tracker1/announce`` и ``http://tracker2/announce``:
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --bt-exclude-tracker="*"
|
|
|
+ --bt-tracker="http://tracker1/announce,http://tracker2/announce"
|
|
|
+ file.torrent
|
|
|
+
|
|
|
+
|
|
|
+Больше расширенных возможностей для HTTP
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+Загрузить куки
|
|
|
+^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --load-cookies=cookies.txt "http://host/file.zip"
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Вы можете использовать без изменения cookie-файл Firefox/Mozilla/Chromium.
|
|
|
+
|
|
|
+Возобновление загрузки, которая начата в браузере или другой программе
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -c -s2 "http://host/partiallydownloadedfile.zip"
|
|
|
+
|
|
|
+
|
|
|
+Клиентский сертификат авторизации для SSL/TLS
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --certificate=/path/to/mycert.pem --private-key=/path/to/mykey.pem https://host/file
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Указанный в :option:`--private-key` файл должен быть
|
|
|
+ расшифрован. Режим работы с исходно зашифрованным закрытым ключом не
|
|
|
+ определен.
|
|
|
+
|
|
|
+Проверить узел при SSL/TLS, используя исходные CA-сертификаты
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --ca-certificate=/path/to/ca-certificates.crt --check-certificate https://host/file
|
|
|
+
|
|
|
+
|
|
|
+И еще больше расширенных возможностей
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
+Регулировка скорости загрузки
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --max-download-limit=100K file.metalink
|
|
|
+
|
|
|
+
|
|
|
+Исправить поврежденную загрузку
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -V file.metalink
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ При использовании BitTorrent или Metalink с контрольными суммами блоков
|
|
|
+ данных можно эффективно исправлять поврежденные загрузки.
|
|
|
+
|
|
|
+Отклонить соединение, если скорость загрузки меньше чем определенное значение
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --lowest-speed-limit=10K file.metalink
|
|
|
+
|
|
|
+
|
|
|
+Поддержка параметризованных URI
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+Вы можете определить набор частей:
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -P "http://{host1,host2,host3}/file.iso"
|
|
|
+
|
|
|
+
|
|
|
+Вы можете определить числовую последовательность:
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -Z -P "http://host/image[000-100].png"
|
|
|
+
|
|
|
+
|
|
|
+.. note::
|
|
|
+
|
|
|
+ Параметр -Z необходим, если все URI не указывают на один и тот же файл, как
|
|
|
+ в примере указанном выше.
|
|
|
+
|
|
|
+Вы можете определить шаг счетчика:
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -Z -P "http://host/image[A-Z:2].png"
|
|
|
+
|
|
|
+
|
|
|
+Проверка контрольной суммы
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c --checksum=sha-1=0192ba11326fe2298c8cb4de616f4d4140213837 http://example.org/file
|
|
|
+
|
|
|
+
|
|
|
+Параллельные загрузки с произвольным числом URI, metalink, torrent
|
|
|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ aria2c -j3 -Z "http://host/file1" file2.torrent file3.metalink
|
|
|
+
|
|
|
+
|
|
|
+Шифрование BitTorrent
|
|
|
+^^^^^^^^^^^^^^^^^^^^^
|
|
|
+Шифровать всю полезную нагрузку используя ARC4:
|
|
|
+
|
|
|
+.. code-block:: console
|
|
|
+
|
|
|
+ $ 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: :rfc:`5854`
|
|
|
+
|
|
|
+АВТОРСКОЕ ПРАВО
|
|
|
+---------------
|
|
|
+Авторское право (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.
|
|
|
+
|
|
|
+ПРИМЕЧАНИЕ
|
|
|
+----------
|
|
|
+Эта страница руководства может содержать не обязательно самую последнюю информацию.
|
|
|
+Если есть некоторые противоречия между этой страницей руководства и фактическим
|
|
|
+программным обеспечением, пожалуйста, обращайтесь к английской версии страницы
|
|
|
+руководства.
|