ПАРАМЕТРЫ
ПРИМЕЧАНИЕ:
Большинство
связанных
с FTP
параметров
применимы
также к SFTP.
Некоторые
параметры
не
являются
эффективными
по
отношению
к SFTP
(например,
--ftp-pasv)
Основные
параметры
- -i,
--input-file=<FILE>
- Загрузить
URI,
перечисленные
в файле FILE. Вы
можете
указать
различные
источники
для одного
объекта,
перечислив
различные
URI в строке,
разделенных
символом TAB
(табуляция).
Дополнительные
параметры
можно
указывать
после
каждой
URI-строки.
Cтроки
параметров
должны
начинаться
с одного
или
нескольких
пробелов
(SPACE или TAB) и
содержать
один
параметр
на строку.
Когда FILE
указан как
-, aria2 будет
считывать
ввод из stdin
(стандартный
поток
ввода).
Входной
файл может
использовать
gzip-сжатие.
Смотрите
подраздел
Входной
файл для
детальных
пояснений.
Также
смотрите
параметр
--deferred-input. Также
смотрите
параметр
--save-session.
- -l,
--log=<LOG>
- Имя файла
для
журнала
событий.
Если
указан -,
то журнал
событий
будет
записан в stdout
(стандартный
поток
вывода).
Если
указана
пустая
строка ("")
или
параметр
пропущен,
то журнал
событий
вообще не
будет
записан на
диск.
- -j,
--max-concurrent-downloads=<N>
- Задать
максимальное
количество
параллельных
загрузок
для
каждого
элемента
очереди.
Смотрите
также
параметр
--split. По
умолчанию:
5
ПРИМЕЧАНИЕ:
--max-concurrent-downloads
ограничивает
количество
элементов,
которые
загружаются
одновременно.
--split и
--min-split-size
влияет на
количество
соединений
внутри
каждого
элемента.
Допустим у
вас есть
такой
входной
файл (см.
параметр
--input-file):
http://example.com/foo
http://example.com/bar
Здесь 2
загружаемых
элемента. aria2
может
загрузить
эти
элементы
одновременно,
если
значение,
заданное в
--max-concurrent-downloads,
больше или
равно 2. В
каждом
загружаемом
элементе,
вы можете
задать
количество
соединений,
используя
--split и/или
--min-split-size.
- -V, --check-integrity
[true|false]
- Проверить
целостность
файла
путем
подтверждения
хэшей
блоков или
хэша
полного
файла. Этот
параметр
влияет
лишь на BitTorrent, Metalink
или HTTP(S)/FTP
загрузки с
параметром
--checksum.
Параметр
может
обнаружить
поврежденные
части
файла и
перезагрузить
их. Если
есть хэш
полного
файла, то
проверка
выполняется
только,
когда файл
уже
полностью
загружен.
Момент
полной
загрузки
определяется
по размеру
файла. Если
проверка
хэша
завершилась
неудачно,
то файл
будет
перезагружен
с нуля.
Если есть
хэши
блоков и
хэш
полного
файла, то
будут
использоваться
только
хэши
блоков. По
умолчанию:
false
- -c, --continue
[true|false]
- Продолжить
загрузку
частично
загруженного
файла.
Используйте
этот
параметр,
чтобы
возобновить
загрузку,
начатую в
веб-браузере
или в
другой
программе,
которая
загружает
файлы
последовательно
сначала.
Сейчас
этот
параметр
можно
использовать
только для
HTTP(S)/FTP-загрузок.
По
умолчанию:
false
- -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/SFTP
- --all-proxy=<PROXY>
- Использовать
указанный
прокси-сервер
для всех
протоколов.
Для отмены
ранее
определенного
адреса
используйте
"". Вы также
можете
отменить
эту
настройку
и указать
прокси-сервер
для
отдельного
протокола,
используя
параметры
--http-proxy, --https-proxy и --ftp-proxy.
Влияет на
все
загрузки.
Формат PROXY -
[http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ].
Смотрите
также
раздел
ОКРУЖЕНИЕ.
ПРИМЕЧАНИЕ:
Если
пользователь
и пароль
вставлены
в 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.
- --checksum=<TYPE>=<DIGEST>
- Задать
контрольную
сумму. TYPE - тип
хэша.
Поддерживаемые
типы хэшей
перечислены
в
Алгоритмы
хэширования
при aria2c -v. DIGEST -
шестнадцатеричное
значение
хэша.
Например,
указание
значения sha-1
хэша
выглядит
так:
sha-1=0192ba11326fe2298c8cb4de616f4d4140213838
Этот
параметр
применим
только к HTTP(S)/FTP
загрузкам.
- --connect-timeout=<SEC>
- Задать в
соединении
время
ожидания в
секундах
для
установки
подключения
к
HTTP/FTP/прокси-серверу.
После
установки
подключения
этот
параметр
не имеет
значения, и
вместо
него
используется
параметр
--timeout. По
умолчанию:
60
- --dry-run
[true|false]
- Если
задано true, aria2
только
проверяет,
является
ли
удаленный
файл
доступным
и не
загружает
данные.
Этот
параметр
влияет на
HTTP/FTP-загрузку.
BitTorrent-загрузки
отменяются,
если
указано true.
По
умолчанию:
false
- --lowest-speed-limit=<SPEED>
- Закрывать
соединение,
если
скорость
загрузки
меньше чем
или равна
значению SPEED
(байт в
секунду). 0
означает,
что aria2 не
имеет
нижнего
ограничения
скорости.
Вы можете
добавить K
или M (1K = 1024, 1M = 1024K).
Этот
параметр
не влияет
на
BitTorrent-загрузки.
По
умолчанию:
0
- --max-file-not-found=<NUM>
- Если aria2
получает
статус "file not
found" (файл не
найден) с
удаленных
HTTP/FTP-серверов
NUM раз без
получения,
хотя бы
одного
байта,
тогда
принудительно
отказывается
от
загрузки.
Укажите 0,
чтобы
отключить
этот
параметр.
Этот
параметр
действенен
только,
когда
используются
HTTP/FTP-серверы.
Количество
повторных
попыток
засчитывается
в --max-tries, таким
образом,
этот
параметр
также
должен
быть
сконфигурирован.
По
умолчанию:
0
- -m,
--max-tries=<N>
- Задать
количество
попыток. 0
означает
неограниченно.
Смотрите
также --retry-wait.
По
умолчанию:
5
- -k,
--min-split-size=<SIZE>
- aria2 не
разбивает
на части
меньше чем
2*SIZE байт.
Например,
нужно
загрузить
файл
размером
20МиБ. Если SIZE
задать 10M, то
aria2 может
разбить
файл на
части в 2-ух
диапазонах
[0-10МиБ) и
[10МиБ-20МиБ) и
загрузить
его,
используя 2
источника
(если --split >= 2,
конечно
же). Если SIZE
задать 15M, т.к.
2*15M > 20MiB, aria2 не
разобьет
файл на
части и
загрузит
его,
используя 1
источник.
Вы можете
добавить K
или M (1K = 1024, 1M = 1024K).
Возможные
значения:
1M -1024M. По
умолчанию:
20M
- --netrc-path=<FILE>
- Указать
путь к
файлу .netrc. По
умолчанию:
$(HOME)/.netrc
ПРИМЕЧАНИЕ:
Права
доступа к
файлу .netrc
должны
быть равны 600.
Иначе, файл
будет
проигнорирован.
- -n, --no-netrc
[true|false]
- Отключить
поддержку
netrc.
Поддержка
netrc по
умолчанию
включена.
ПРИМЕЧАНИЕ:
Файл netrc
считывается
только при
запуске,
если --no-netrc
задан как
false. Так что
если --no-netrc
задан как true
при
загрузке,
то netrc
недоступен
на
протяжении
всей
сессии. Вы
не сможете
получить
доступ к netrc,
даже если
отправите
--no-netrc=false,
используя
aria2.changeGlobalOption().
- --no-proxy=<DOMAINS>
- Укажите
через
запятую
список
имён
хостов,
доменов и
сетевых
адресов с
или без
маски
подсети,
для
которых не
будет
использоваться
прокси.
ПРИМЕЧАНИЕ:
IPv4- и
IPv6-адресация
работает
для
сетевых
адресов с
маской
подсети.
Текущая
реализация
не
разрешает
имена
хостов в URI
для
сравнения
сетевых
адресов
указанных
в --no-proxy. Таким
образом,
это
эффективно,
только
если в URI есть
IP-адреса.
- -o,
--out=<FILE>
- Сохранить
загруженный
файл под
указанным
именем,
относительно
каталога,
заданного
в
параметре
--dir. Данный
параметр
игнорируется,
когда
используется
параметр
--force-sequential.
ПРИМЕЧАНИЕ:
Вы не
можете
указать
имя файла
для Metalink или BitTorrent
загрузок.
Имя файла
указанное
здесь,
используется
только
когда URI
передаются
aria2 с
командной
строкой
непосредственно,
но не при
использовании
параметров
--input-file,
--force-sequential.
Пример:
$ aria2c -o myfile.zip "http://mirror1/file.zip" "http://mirror2/file.zip"
- --proxy-method=<METHOD>
- Задать
метод для
использования
в
прокси-запросах.
METHOD один из
двух: get или
tunnel.
HTTPS-загрузки
всегда
используют
tunnel, не
обращая
внимания
на этот
параметр.
По
умолчанию:
get
- -R, --remote-time
[true|false]
- Извлекать
временную
метку
файла с
удаленного
HTTP/FTP-сервера
и, если это
доступно,
применить
ее к
локальному
файлу. По
умолчанию:
false
- --reuse-uri
[true|false]
- Повторно
использовать
уже
использованные
URI, если не
осталось
неиспользованных
URI. По
умолчанию:
true
- --retry-wait=<SEC>
- Задать в
секундах
интервал
ожидания
между
повторными
попытками.
При SEC > 0`,
если
HTTP-сервер
возвращает
ответ 503, aria2
будет
снова
пытаться
загрузить.
По
умолчанию:
0
- --server-stat-of=<FILE>
- Указать
имя файла,
в который
сохраняется
профиль
функционирования
сервера. Вы
можете
загрузить
сохраненные
данные,
используя
параметр
--server-stat-if. Формат
файла
смотрите
ниже в
подразделе
Профиль
функционирования
сервера.
- --server-stat-if=<FILE>
- Указать
имя файла
для
загрузки
профиля
функционирования
сервера.
Загруженные
данные
будут
использованы
в
некоторых
URI
селекторах,
таких как
feedback.
Смотрите
также
параметр
--uri-selector. Формат
файла
смотрите
ниже в
подразделе
Профиль
функционирования
сервера.
- --server-stat-timeout=<SEC>
- Указывает
время
ожидания в
секундах,
для того,
чтобы
сделать
недействительным
профиль
функционирования
сервера, с
тех пор,
как
состоялся
последний
контакт с
ним. По
умолчанию:
86400 (24 часа)
- -s,
--split=<N>
- Загружать
файл,
используя N
соединений.
Если
задано
более чем N URI,
будут
использоваться
первые N URI, а
оставшиеся
URI будут в
резерве.
Если
задано
менее чем N URI,
то URI будут
использованы
более
одного
раза, так
чтобы были
задействованы
все N
соединений
одновременно.
Количество
соединений
к одному и
тому же
хосту
ограничивается
параметром
--max-connection-per-server.
Смотрите
также
параметр
--min-split-size. По
умолчанию:
5
ПРИМЕЧАНИЕ:
Некоторые
Metalink
регламентируют
количество
серверов
для
соединения.
aria2 строго
соблюдает
это. Это
значит, что
если Metalink
определяет
атрибут maxconnections
меньше чем N,
то aria2
использует
это, более
низкое
значение,
вместо N.
- --stream-piece-selector=<SELECTOR>
- Указать
алгоритм
выбора
блока,
который
используется
в
HTTP/FTP-загрузке.
Блок -
означает
сегмент
фиксированной
длины,
который
загружается
параллельно,
в
разделенной
на части,
загрузке.
Если
задано default,
то aria2
выберет
блок так,
чтобы это
уменьшило
количество
установленных
подключений.
Это
разумное
поведение
по
умолчанию,
поскольку
установка
подключения
очень
затратная
операция.
Если
задано inorder,
то aria2
выберет
блок,
который
имеет
минимальный
индекс. Index=0
означает
первый из
файла. Это
будет
полезно
при
просмотре
фильма, в
то время
как он
загружается.
Параметр
--enable-http-pipelining может
быть
полезен
для
снижения
накладных
расходов
при
повторном
подключении.
Обратите
внимание,
что aria2
принимает
на
обработку
параметр
--min-split-size, так что
необходимо
будет
указать
разумное
значение
параметра
--min-split-size. Если
задано random,
то aria2
выбирает
блоки
случайно.
Как и при inorder
учитывается
параметр
--min-split-size. Если
задано geom,
то aria2
вначале
выберет
блок с
минимальным
индексом,
как при inorder,
однако она
сохранит
экспоненциально
большую
область от
ранее
выбранного
блока. Это
уменьшит
количество
установленных
подключений
и в то же
время это
позволит в
первую
очередь
загрузить
начало
файла. Это
будет
полезно
при
просмотре
фильма, в
то время
как он
загружается.
По
умолчанию:
default
- --uri-selector=<SELECTOR>
- Указать
алгоритм
выбора URI.
Возможные
значения:
inorder, feedback и adaptive.
Если
задано inorder,
то URI
проверяются
в порядке
представления
в списке URI.
Если
задано feedback, aria2
использует
скорость
загрузки,
которая
наблюдалась
в
предыдущих
загрузках,
и выбирает
самый
быстрый
сервер в
списке URI.
Это также
эффективно
исключает
мертвые
зеркала.
Наблюдаемая
скорость
загрузки
является
частью
профиля
функционирования
сервера,
упомянутой
в
параметрах
--server-stat-of и --server-stat-if.
Если
задано adaptive,
выбирается
одно из
лучших
зеркал для
первого и
резервного
соединений.
Дополнительно,
возвращаются
зеркала,
которые
пока не
были
проверены,
и, если
каждое из
них уже
проверено,
возвращаются
зеркала,
которые
должны
быть
проверены
снова.
Иначе
зеркала
больше не
выбираются.
Подобно feedback,
используются
профиль
функционирования
сервера. По
умолчанию:
feedback
Специфические
параметры
HTTP
- --ca-certificate=<FILE>
- Использовать
для
проверки
узлов FILE с
сертификатами
удостоверяющих
центров. FILE
должен
быть в
PEM-формате и
может
содержать
несколько
CA-сертификатов.
Используйте
параметр
--check-certificate, чтобы
включить
проверку.
ПРИМЕЧАНИЕ:
Если вы
при сборке
используете
OpenSSL или
последнею
версию GnuTLS, в
которой
есть
функция
gnutls_certificate_set_x509_system_trust(), и
библиотека
правильно
настроена,
чтобы
найти
хранилище
общесистемных
CA-сертификатов,
то aria2
автоматически
загрузит
эти
сертификаты
при
старте.
ПРИМЕЧАНИЕ:
WinTLS и AppleTLS не
поддерживают
этот
параметр.
Вместо
этого вам
придется
импортировать
сертификат
в
хранилище
доверенных
сертификатов
ОС.
- --certificate=<FILE>
- Использовать
клиентский
сертификат
в FILE.
Сертификат
должен
быть один
из двух: PKCS12 (.p12, .pfx)
или в
PEM-формате.
PKCS12-файлы
должны
содержать
сертификат,
ключ и,
необязательно,
цепочку
дополнительных
сертификатов.
Могут
быть
открыты
PKCS12-файлы
только с
пустым
импортированным
паролем!
При
использовании
PEM, вы также
должны
указать
закрытый
ключ
через --private-key,
ПРИМЕЧАНИЕ:
WinTLS не
поддерживает
PEM-файлы в
данный
момент.
Пользователи
должны
использовать
PKCS12-файлы.
ПРИМЕЧАНИЕ:
AppleTLS
пользователи
должны
использовать
утилиту KeyChain Access
для
импорта
сертификата
клиента и
получения
соответствующего
SHA-1 отпечатка
этого
сертификата
из окна Information.
Для
запуска aria2c
используйте
--certificate=<SHA-1>.
Альтернативные
PKCS12-файлы
также
поддерживаются.
PEM-файлы,
однако, не
поддерживаются.
- --http-accept-gzip
[true|false]
- Посылать
Accept: deflate, gzip в
запросе-заголовке
и
добавлять
в ответ,
если
удаленный
сервер
ответит
Content-Encoding: gzip или
Content-Encoding: deflate. По
умолчанию:
'false
ПРИМЕЧАНИЕ:
Некоторые
серверы
отвечают
Content-Encoding: gzip для
файлов,
которые
сами по
себе сжаты
(gzipped). aria2
добавляет
их, так или
иначе, из-за
заголовка
ответа.
- --http-auth-challenge
[true|false]
- Отправлять
заголовок
HTTP-авторизации
только
тогда,
когда он
запрошен с
сервера.
Если
задано false,
тогда
заголовок
авторизации
всегда
отправляется
на сервер.
Существует
исключение:
если имя
пользователя
и пароль
являются
встроенными
в URI, то
заголовок
авторизации
всегда
отправляется
на сервер,
независимо
от этого
параметра.
По
умолчанию:
false
- --http-no-cache
[true|false]
- Отправлять
заголовок
Cache-Control: no-cache и Pragma: no-cache,
чтобы
избежать
кэширования
содержимого.
Если
задано false,
то эти
заголовки
не
посылаются,
и вы можете
добавить
любую
директиву
к
заголовку
Cache-Control с
помощью
параметра
--header. По
умолчанию:
false
- --http-proxy=<PROXY>
- Использовать
указанный
прокси-сервер
для HTTP. Для
отмены
ранее
определенного
адреса
используйте
"".
Смотрите
также
параметр
--all-proxy. Влияет
на все
HTTP-загрузки.
Формат PROXY -
[http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ].
- --https-proxy=<PROXY>
- Использовать
указанный
прокси-сервер
для HTTPS. Для
отмены
ранее
определенного
адреса
используйте
"".
Смотрите
также
параметр
--all-proxy. Влияет
на все
HTTPS-загрузки.
Формат PROXY -
[http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ].
- --private-key=<FILE>
- Использовать
закрытый
ключ в FILE.
Закрытый
ключ
должен
быть
дешифрованным
и в
PEM-формате.
Режим
работы, с
исходно
зашифрованным
закрытым
ключом, не
определён.
Смотрите
также
параметр
--certificate.
- --referer=<REFERER>
- Задать HTTP
источник
запроса (Referer).
Влияет на
все
HTTP/HTTPS-загрузки.
Если
задано *,
то URI
загрузки
будет
также
использован
как
источник
запроса.
Это может
быть
полезно
при
использовании
вместе с
параметром
--parameterized-uri.
- --enable-http-pipelining
[true|false]
- Включить
конвейерную
обработку
HTTP/1.1. По
умолчанию:
false
ПРИМЕЧАНИЕ:
С точки
зрения
производительности,
как
правило,
нет
преимущества
от
включения
этого
параметра.
- Добавлять
HEADER к HTTP
запросу-заголовку.
Вы можете
использовать
этот
параметр
повторно,
чтоб
указать
более
одного
заголовка:
$ aria2c --header="X-A: b78" --header="X-B: 9J1" "http://host/file"
- --load-cookies=<FILE>
- Загружать
куки-файл
из FILE,
используя
форматы Firefox3
(SQLite3), Chromium/Google Chrome (SQLite3) и
Mozilla/Firefox(1.x/2.x)/Netscape.
ПРИМЕЧАНИЕ:
Если aria2
собрана
без libsqlite3, то
форматы
куки-файлов
Firefox3 и Chromium/Google Chrome не
поддерживаются.
- --save-cookies=<FILE>
- Сохранить
куки в FILE
формате
Mozilla/Firefox(1.x/2.x)/Netscape. Если FILE
уже
существует,
то он будет
перезаписан.
Куки-сессия
также
сохранится,
и значение
ее
окончания
будет
трактоваться
как 0.
Возможные
значения:
/путь/к/файлу
- -U,
--user-agent=<USER_AGENT>
- Задать
клиентское
приложение
для
HTTP(S)-загрузок.
По
умолчанию:
aria2/$VERSION, $VERSION
заменяется
на версию
пакета.
Специфические
параметры
FTP/SFTP
- --ftp-user=<USER>
- Задать
пользователя
для FTP.
Влияет на
все URI. По
умолчанию:
anonymous
- --ftp-passwd=<PASSWD>
- Задать
пароль для
FTP. Влияет на
все URI. Если
имя
пользователя
встроено,
но пароль
отсутствует
в URI, то aria2
пытается
использовать
пароль из .netrc.
Если
пароль
найден в .netrc,
то он
используется.
Если нет,
используется
пароль,
указанный
в этом
параметре.
По
умолчанию:
ARIA2USER@
- -p, --ftp-pasv
[true|false]
- Использовать
пассивный
режим FTP.
Если
задано false,
то будет
использован
активный
режим. По
умолчанию:
true
ПРИМЕЧАНИЕ:
Этот
параметр
игнорируется
для
SFTP-передачи.
- --ftp-proxy=<PROXY>
- Использовать
указанный
прокси-сервер
для FTP. Для
отмены
ранее
определенного
адреса
используйте
"".
Смотрите
также
параметр
--all-proxy. Влияет
на все
FTP-загрузки.
Формат PROXY -
[http://][ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ@]ХОСТ[:ПОРТ]
- --ftp-type=<TYPE>
- Задать тип
передачи
для FTP. TYPE
может быть
один из
двух: binary или
ascii. По
умолчанию:
binary
ПРИМЕЧАНИЕ:
Этот
параметр
игнорируется
для
SFTP-передачи.
- --ssh-host-key-md=<TYPE>=<DIGEST>
- Задать
контрольную
сумму для
публичного
SSH-ключа
хоста. TYPE - тип
хэша.
Поддерживаемые
типы хэшей
- sha-1 или md5. DIGEST -
шестнадцатеричное
значение
хэша.
Например:
sha-1=b030503d4de4539dc7885e6f0f5e256704edf4c3.
Этот
параметр
может быть
использован
для
проверки
публичного
ключа
сервера
при
использовании
SFTP. Если
параметр
не задан
(по
умолчанию),
то никакой
проверки
не
происходит.
Параметры
BitTorrent/Metalink
- --select-file=<INDEX>...
- Задать
файл для
загрузки
по
заданному
индексу. Вы
можете
найти
индекс
файла,
используя
параметр
--show-files.
Составной
индекс
можно
указать,
используя
,,
например:
3,6. Вы
можете
также
использовать
-, чтобы
указать
диапазон:
1-5. , и -
могут быть
использованы
вместе: 1-5,8,9.
Когда
используется
с
параметром
-M, индекс
может
сильно
зависеть
от запроса
(смотрите
параметры
--metalink-*).
ПРИМЕЧАНИЕ:
В
многофайловом
торренте,
смежные
файлы,
указанные
в этом
параметре
также
могут быть
загружены.
Это не
ошибка, а
особенность
утилиты.
Одиночный
блок
данных
может
включать
несколько
файлов или
часть
файла, и aria2
запишет
блок
данных
соответствующего
файла.
- -S, --show-files
[true|false]
- Вывести
список
файлов из
".torrent", ".meta4" или
".metalink" и
завершить
работу. Для
файла .torrent
будет
выведена
более
детальная
информация
(информация
по хэшу,
размер
блока и др.).
Специфические
параметры
BitTorrent
- --bt-detach-seed-only
[true|false]
- Исключить
только
раздачи
при
подсчёте
одновременных
активных
загрузок
(смотрите
параметр
-j). Это
значит, что
если
задано -j3 и
этот
параметр
включён,
активны 3
загрузки и
одна из них
переходит
в режим
сидирования
(раздачи),
то она
исключается
из
количества
активных
загрузок
(таким
образом их
становится
2), и
следующая
ожидающая
в очереди
загрузка
стартует.
Но знайте,
что в
RPC-методе
сидирующий
элемент
всё ещё
признаётся
как
активная
загрузка.
По
умолчанию:
false
- --bt-enable-hook-after-hash-check
[true|false]
- Позволяет
перехватить
команду
вызова
(управление)
после
проверки
хэша (см.
параметр
-V) в
BitTorrent-загрузке.
По
умолчанию,
когда
проверка
хэша
завершилась
удачно,
выполняется
команда
заданная в
--on-bt-download-complete.
Укажите
для этого
параметра
false, чтобы
отключить
это
действие.
По
умолчанию:
true
- --bt-enable-lpd
[true|false]
- Включить
поиск
локальных
пиров. Если
в torrent-файле
установлен
приватный
признак, то
aria2 не будет
использовать
эту
возможность,
даже если
задано true.
По
умолчанию:
false
- --bt-exclude-tracker=<URI>[,...]
- Разделенный
запятыми
список URI
анонса
BitTorrent-трекера,
которые
будут
исключены.
Вы можете
использовать
специальное
значение *,
которое
соответствует
всем URI,
таким
образом,
исключаются
все URI
анонса. При
указании *
в
командной
оболочке,
не
забывайте,
экранировать
или брать в
кавычки.
Смотрите
также
параметр
--bt-tracker.
- --bt-external-ip=<IPADDRESS>
- Указать
внешний
IP-адрес для
использования
в
BitTorrent-загрузке
и DHT. Он может
быть
отправлен
BitTorrent-трекеру.
Для DHT, этот
параметр
должен
быть задан,
чтобы
сообщить,
что
локальный
узел
загружает
конкретный
торрент.
Это
критически
важно,
чтобы
использовать
DHT в частной
сети.
Несмотря
на то, что
эта
функция
названа external
(внешний),
она может
принимать
любой
IP-адрес.
- --bt-force-encryption
[true|false]
- Требовать
шифрование
при помощи
arc4 полезной
нагрузки
BitTorrent-сообщения.
Это
сокращение
--bt-require-crypto --bt-min-crypto-level=arc4.
Этот
параметр
не
изменяет
значения
тех
параметров.
Если
задано true,
то
отвергается
традиционное
BitTorrent-рукопожатие
(handshake), а
используется
только
обфускация
рукопожатия
(handshake) и всегда
шифруется
полезная
нагрузка.
По
умолчанию:
false
- --bt-hash-check-seed
[true|false]
- Если
задано true,
то после
проверки
хэша с
использованием
параметра
--check-integrity, и
когда файл
загружен
полностью,
продолжается
раздача
файла. Если
вы хотите
проверить
файл и
загрузить
его только
если он
поврежден
или не
загружен
полностью,
то задайте
этот
параметр
как false. Этот
параметр
влияет
лишь на
BitTorrent-загрузки.
По
умолчанию:
true
- --bt-load-saved-metadata
[true|false]
- Прежде, чем
получить
метаданные
торрента
из DHT при
загрузке
magnet-ссылки,
сначала
попытаться
считать
файл,
сохранённый
параметром
--bt-save-metadata. Если
попытка
успешна, то
пропустить
загрузку
метаданных
из DHT. По
умолчанию:
false
- --bt-lpd-interface=<INTERFACE>
- Использовать
для поиска
локальных
пиров
заданный
интерфейс.
Если этот
параметр
не указан,
используется
интерфейс
по
умолчанию.
Можно
указать
имя
интерфейса
и IP-адрес.
Возможные
значения:
интерфейс,
IP-адрес.
- --bt-max-open-files=<NUM>
- Указать
глобально
максимальное
количество
файлов для
открытия в
многофайловой
BitTorrent/Metalink-загрузке.
По
умолчанию:
100
- --bt-max-peers=<NUM>
- Указать
максимальное
количество
узлов для
каждого
торрента. 0
означает
неограниченно.
Смотрите
также
параметр
--bt-request-peer-speed-limit. По
умолчанию:
55
- --bt-metadata-only
[true|false]
- Загрузить
только
метаданные.
Файл(ы),
описывающий
метаданные
не должен
быть
загружен.
Этот
параметр
эффективен,
только
если
используется
BitTorrent Magnet-ссылка.
Смотрите
также
параметр
--bt-save-metadata. По
умолчанию:
false
- --bt-min-crypto-level=plain|arc4
- Задать
минимальный
уровень
метода
шифрования.
Если узел
поддерживает
несколько
методов
шифрования,
aria2 выбирает
наименьший,
который
удовлетворяет
заданный
уровень. По
умолчанию:
plain
- --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.
- --bt-remove-unselected-file
[true|false]
- Удалить
невыбранные
файлы,
когда
завершена
загрузка в
BitTorrent. Чтобы
выбрать
файлы,
используйте
параметр
--select-file. Если не
использовался
этот
параметр,
то
предполагается,
что все
файлы
выбраны.
Пожалуйста,
используйте
этот
параметр
внимательно,
так как это
фактически
удалит
файлы с
вашего
диска. По
умолчанию:
false
- --bt-require-crypto
[true|false]
- Если
задано true, aria2
не
принимает
и не
устанавливает
соединение
с
традиционным
BitTorrent-рукопожатием
(handshake) (\19BitTorrent
протокол).
Таким
образом, aria2
всегда
использует
обфускацию
handshake-сообщения.
По
умолчанию:
false
- --bt-request-peer-speed-limit=<SPEED>
- Если
итоговая
скорость
загрузки
каждого
торрента,
ниже чем SPEED, aria2
временно
увеличивает
количество
узлов,
пытаясь
увеличить
скорость
загрузки.
Настройка
этого
параметра
с
выбранной
вами
скоростью
загрузки
может, в
некоторых
случаях,
увеличить
вашу
скорость
загрузки.
Вы можете
добавить K
или M (1K = 1024, 1M = 1024K).
По
умолчанию:
50K
- --bt-save-metadata
[true|false]
- Сохранить
метаданные
как файл
".torrent". Этот
параметр
эффективен
только
если
используется
BitTorrent Magnet-ссылка.
Имя файла
шестнадцатеричное
представление
хэша с
расширением
".torrent". Файл
сохранится
в каталог,
в тот же
самый, куда
сохранится
загружаемый
файл. Если
тот же
самый файл
уже
существует,
метаданные
не
сохранятся.
Смотрите
также
параметр
--bt-metadata-only. По
умолчанию:
false
- --bt-stop-timeout=<SEC>
- Остановить
BitTorrent
загрузку,
если
скорость
загрузки
равна 0 на
протяжении
SEC секунд.
Если
задано 0,
то эта
возможность
не будет
использоваться.
По
умолчанию:
0
- --bt-tracker=<URI>[,...]
- Разделенный
запятыми
список
дополнительных
URI анонса
BitTorrent-трекеров.
На эти URI не
действует
параметр
--bt-exclude-tracker,
потому что
они
добавляются
после URI,
указанных
в
параметре
--bt-exclude-tracker,
которые
исключаются.
- --bt-tracker-connect-timeout=<SEC>
- Задать
время
ожидания в
секундах
для
установки
соединения
с трекером.
После
установки
соединения,
это
параметр
станет
недействительным,
а вместо
него будет
использован
--bt-tracker-timeout. По
умолчанию:
60
- --bt-tracker-interval=<SEC>
- Задать
интервал в
секундах
между
запросами
трекера.
Это
полностью
отменяет
значение
интервала
и aria2
использует
только это
значение и
игнорирует
минимальный
интервал и
значение
интервала
в ответе
трекера.
Если задан
0, aria2
определяет
интервал,
основываясь
на ответе
трекера и
прогрессе
загрузки.
По
умолчанию:
0
- --dht-file-path=<PATH>
- Сменить
путь к
файлу
таблицы
маршрутизации
IPv4 DHT на PATH. По
умолчанию:
$HOME/.aria2/dht.dat если
существует,
иначе
$XDG_CACHE_HOME/aria2/dht.dat.
- --dht-file-path6=<PATH>
- Сменить
путь к
файлу
таблицы
маршрутизации
IPv6 DHT на PATH. По
умолчанию:
$HOME/.aria2/dht6.dat если
существует,
иначе
$XDG_CACHE_HOME/aria2/dht6.dat.
- --dht-listen-port=<PORT>...
- Задать
прослушиваемый
UDP-порт
используя
DHT (IPv4, IPv6) и
UDP-трекер.
Несколько
портов
можно
указать
через ,,
например:
6881,6885. Вы
также
можете
использовать
- чтобы
указать
диапазон:
6881-6999. , и -
могут быть
использованы
вместе. По
умолчанию:
6881-6999
ПРИМЕЧАНИЕ:
Удостоверьтесь,
что
указанные
порты
открыты
для
входящего
UDP-трафика.
- --enable-dht
[true|false]
- Включить
функцию IPv4 DHT.
Это также
включает
поддержку
UDP-трекера.
Если в
torrent-файле
задан
приватный
признак, aria2
не будет
использовать
DHT для
загрузки,
даже если
установлен
true. По
умолчанию:
true
- --enable-dht6
[true|false]
- Включить IPv6 DHT
функциональность.
Если в
torrent-файле
задан
приватный
признак, aria2
не будет
использовать
DHT для
загрузки,
даже если
установлен
true.
Используйте
параметр
--dht-listen-port для
указания
прослушиваемого
порта.
Смотрите
также
параметр
--dht-listen-addr6.
- --enable-peer-exchange
[true|false]
- Включить
расширение
BitTorrent-протокола
для обмена
списками
участников.
Если в
torrent-файле
задан
приватный
признак, то
эта
возможность
будет
отключена,
даже если
установлен
true. По
умолчанию:
true
- --follow-torrent=true|false|mem
- Если
указать true
или mem,
тогда
загруженный
файл,
расширение
которого -
.torrent или mime-тип -
application/x-bittorrent, aria2
анализирует
как torrent-файл и
загружает
файлы,
указанные
в нем. Если
указано mem,
тогда
torrent-файл не
записывается
на диск, а
содержится
в памяти.
Если
указано false,
то файл .torrent
будет
загружен
на диск, но
не будет
проанализирован
как
торрент и
его
содержимое
не будет
загружено.
По
умолчанию:
true
- -O,
--index-out=<INDEX>=<PATH>
- Задать
путь к
файлу PATH с
индексом INDEX.
Вы можете
найти
индекс
файла,
используя
параметр
--show-files. PATH
является
относительным
путем к
тому,
который
указан в
параметре
--dir. Вы
можете
использовать
этот
параметр
много раз.
Используйте
этот
параметр,
когда
хотите
указать
имена
выходных
файлов для
BitTorrent-загрузок.
- --listen-port=<PORT>...
- Задать
номер
TCP-порта для
BitTorrent-загрузок.
Несколько
портов
можно
указать,
используя
,,
например:
6881,6885. Вы
также
можете
использовать
-, чтобы
указать
диапазон:
6881-6999. , и -
могут быть
использованы
вместе: 6881-6889,6999.
По
умолчанию:
6881-6999
ПРИМЕЧАНИЕ:
Удостоверьтесь,
что
указанные
порты
открыты
для
входящего
TCP-трафика.
- --max-overall-upload-limit=<SPEED>
- Задать
максимальную
общую
скорость
отдачи в
байтах/сек.
0 значит
неограниченно.
Вы можете
добавить K
или M (1K = 1024, 1M = 1024K).
Чтобы
ограничить
скорость
отдачи для
узла
торрента,
используйте
параметр
--max-upload-limit. По
умолчанию:
0
- -u,
--max-upload-limit=<SPEED>
- Задать
максимальную
скорость
отдачи
каждого
узла
торрента в
байтах/сек.
0 значит
неограниченно.
Вы можете
добавить K
или M (1K = 1024, 1M = 1024K).
Чтобы
ограничить
общую
скорость
отдачи,
используйте
параметр
--max-overall-upload-limit. По
умолчанию:
0
- --peer-id-prefix=<PEER_ID_PREFIX>
- Указать
префикс
для ID узла. ID
узла в BitTorrent
имеет
размер 20
байт. Если
будет
указано
более 20
байт, то
только
первые 20
будут
использоваться,
если будет
указано
меньше 20, то
они будут
дополнены
случайными
данными до
20 байт.
По
умолчанию:
A2-$MAJOR-$MINOR-$PATCH-, $MAJOR, $MINOR и $PATCH
заменяется
на номер
версии
значительный,
незначительный
и патч
соответственно.
Например,
версия aria2 1.18.8
имеет
ID-префикс
A2-1-18-8-.
- --peer-agent=<PEER_AGENT>
- Указать
строку,
содержащую
клиентскую
версию
пира,
которая
используется
во время
расширенного
bitorrent-рукопожатия
(extended handshake).
По
умолчанию:
aria2/$MAJOR.$MINOR.$PATCH, $MAJOR, $MINOR и $PATCH
заменяется
на номер
версии
значительный,
незначительный
и патч
соответственно.
Например,
версия aria2 1.18.8
имеет
ID-префикс
aria2/1.18.8.
- --seed-ratio=<RATIO>
- Указать
рейтинг.
Сидировать
завершенные
торренты,
пока
рейтинг не
станет
больше RATIO.
Очень
рекомендуется
указать
тут равный
или
больший 1.0.
Указать 0.0,
если вы
планируете
сидировать
независимо
от
рейтинга.
Если
указан
параметр
--seed-time вместе
с этим
параметром,
сидирование
закончится
тогда,
когда хотя
бы одно
условие
будет
удовлетворено.
По
умолчанию:
1.0
- --seed-time=<MINUTES>
- Указать
время
сидирования
[раздачи] в
(дробных)
минутах.
Смотрите
также
параметр
--seed-ratio.
ПРИМЕЧАНИЕ:
Указанный
--seed-time=0
отключает
сидирование
после
завершения
загрузки.
Специфические
параметры
Metalink
- --follow-metalink=true|false|mem
- Если
указано true
или mem и
когда
загруженный
файл имеет
расширение
.meta4 или .metalink,
или mime-тип
application/metalink4+xml или
application/metalink+xml, aria2
считает
его
metalink-файлом и
загружает
упомянутые
в нем
файлы. Если
указано mem,
то metalink-файл
не
сохраняется
на диск, а
просто
хранится в
памяти.
Если
указано false,
то файл .metalink
будет
загружен
на диск, но
не будет
проанализирован
как metalink-файл
и его
содержимое
не будет
загружено.
По
умолчанию:
true
- --metalink-base-uri=<URI>
- Указать
основной URI
для
разрешения
относительных
URI в
элементе
metalink:url и metalink:metaurl в
metalink-файле,
сохраненном
на
локальном
диске. Если
URI
указывает
на каталог,
то URI должен
заканчиваться
на /.
- -M,
--metalink-file=<METALINK_FILE>
- Путь к
файлу ".meta4" и
".metalink". Читает
ввод из stdin,
если в
качестве
имени
файла
указано -.
Вы не
обязаны
использовать
этот
параметр,
т.к. файлы .metalink
можно
указать
без --metalink-file.
- --metalink-enable-unique-protocol
[true|false]
- Если
задано true, а
в metalink-файле
доступно
несколько
протоколов,
то aria2
использует
один из
них.
Используйте
параметр
--metalink-preferred-protocol,
чтобы
указать
предпочитаемый
протокол.
По
умолчанию:
true
Параметры
RPC
- --enable-rpc
[true|false]
- Включить
JSON-RPC/XML-RPC-сервер.
Настоятельно
рекомендуется
указать
секретный
маркер
авторизации,
используя
параметр
--rpc-secret.
Смотрите
также
параметр
--rpc-listen-port. По
умолчанию:
false
- --pause
[true|false]
- Приостановка
загрузки
после
добавления.
Этот
параметр
действенен
только,
когда
задан --enable-rpc=true.
По
умолчанию:
false
- --pause-metadata
[true|false]
- Приостановить
загрузки,
созданные
в
результате
загрузки
метаданных.
Есть 3 типа
метаданных
загрузок в
aria2: (1)
загрузка
.torrent-файла. (2)
загрузка
метаданных
торрента,
используя
magnet-ссылку. (3)
загрузка
metalink-файла.
Эти
загрузки
метаданных
будут
генерировать
загрузки,
используя
их
метаданные.
Этот
параметр
приостанавливает
эти
последующие
загрузки.
Этот
параметр
действует
только
когда
задано --enable-rpc=true.
По
умолчанию:
false
- --rpc-certificate=<FILE>
- Использовать
сертификат
в FILE для
RPC-сервера.
Сертификат
должен
быть один
из двух: PKCS12 (.p12, .pfx)
или в
PEM-формате.
PKCS12-файлы
должны
содержать
сертификат,
ключ и,
необязательно,
цепочку
дополнительных
сертификатов.
Могут
быть
открыты
PKCS12-файлы
только с
пустым
импортированным
паролем!
При
использовании
PEM, вы также
указываете
закрытый
ключ
через --rpc-private-key,
Используйте
параметр
--rpc-secure для
включения
шифрования.
ПРИМЕЧАНИЕ:
WinTLS не
поддерживает
PEM-файлы в
данный
момент.
Пользователи
должны
использовать
PKCS12-файлы.
ПРИМЕЧАНИЕ:
AppleTLS
пользователи
должны
использовать
утилиту KeyСhain
Access, чтобы
сначала
генерировать
самоподписанный
SSL-Server
сертификат,
например,
используя
мастер, и
получить
соответствующий
SHA-1 отпечаток
нового
сертификата
из окна Information.
Для
запуска aria2c с
--rpc-secure
используйте
--rpc-certificate=<SHA-1>.
Альтернативные
PKCS12-файлы
также
поддерживаются.
PEM-файлы,
однако, не
поддерживаются.
- --rpc-listen-all
[true|false]
- Слушать
входящие
JSON-RPC/XML-RPC-запросы
на всех
сетевых
интерфейсах.
Если
указано false,
слушать
только на
локальном
петлевом
интерфейсе
(loopback). По
умолчанию:
false
- --rpc-listen-port=<PORT>
- Указать
номер
порта, для
прослушивания
JSON-RPC/XML-RPC-сервером.
Возможные
значения:
1024 -65535. По
умолчанию:
6800
- --rpc-max-request-size=<SIZE>
- Задать
максимальный
размер
JSON-RPC/XML-RPC-запроса.
Если aria2
выявит
запрос с
размером
большим,
чем SIZE байт,
тогда
соединение
будет
отклонено.
По
умолчанию:
2M
- --rpc-passwd=<PASSWD>
- Задать JSON-RPC/XML-RPC
пароль.
ПРЕДУПРЕЖДЕНИЕ:
Параметр
--rpc-passwd будет
устаревшим
в будущих
версиях.
Перейдите
на
использование
параметра
--rpc-secret как
можно
скорее.
- --rpc-private-key=<FILE>
- Использовать
закрытый
ключ в FILE для
RPC-сервера.
Закрытый
ключ
должен
быть
дешифрованным
и в
PEM-формате.
Используйте
параметр
--rpc-secure для
включения
шифрования.
Смотрите
также
параметр
--rpc-certificate.
- --rpc-save-upload-metadata
[true|false]
- Сохранить
загруженные
метаданные
torrent или metalink в
каталоге,
заданном
параметром
--dir. Имя
файла
содержит
шестнадцатеричную
строку
SHA-1-хэша
метаданных
плюс
расширение.
Для torrent
расширение
'.torrent'. Для metalink - это
'.meta4'. Если
параметр
задан как false,
то
загрузки,
добавленные
с помощью
aria2.addTorrent() или
aria2.addMetalink(), не
будут
сохраняться
при помощи
параметра
--save-session. По
умолчанию:
true
- --rpc-secret=<TOKEN>
- Задать
секретный
маркер
RPC-авторизации.
Читайте
RPC-авторизация
по
секретному
маркеру,
чтобы
узнать, как
использовать
значение
этого
параметра.
- --rpc-secure
[true|false]
- RPC-транспорт
будет
зашифрован
с
использованием
SSL/TLS. RPC-клиенты
должны
использовать
https-схему для
доступа к
серверу.
Для
WebSocket-клиента,
использовать
wss-схему.
Используйте
параметры
--rpc-certificate и --rpc-private-key
для
указания
сертификата
севера и
закрытого
ключа.
- --rpc-user=<USER>
- Задать JSON-RPC/XML-RPC
пользователя.
ПРЕДУПРЕЖДЕНИЕ:
Параметр
--rpc-user будет
устаревшим
в будущих
версиях.
Перейдите
на
использование
параметра
--rpc-secret как
можно
скорее.
Дополнительные
параметры
- --allow-overwrite
[true|false]
- Повторно
запустить
загрузку с
нуля, если
соответствующий
контрольный
файл
отсутствует.
Смотрите
также
параметр
--auto-file-renaming. По
умолчанию:
false
- --allow-piece-length-change
[true|false]
- Если
задано false, aria2
прерывает
загрузку,
когда
длина
блока
отлична от
той,
которая
находится
в
контрольном
файле. Если
задано true,
вы можете
продолжать,
однако
некоторый
прогресс
загрузки
будет
потерян. По
умолчанию:
false
- --always-resume
[true|false]
- Всегда
возобновлять
загрузку.
Если
задано true, aria2
всегда
пытается
возобновить
загрузку и
если это не
возможно,
прерывает
ее. Если
задано false,
тогда для
всех
заданных URI
не
поддерживается
возобновление
загрузки,
или aria2
столкнется
с
невозможностью
возобновления
загрузки URI
N-ое
количество
раз
(значение N
указывается
в
параметре
--max-resume-failure-tries, то aria2
будет
загружать
файл с
нуля.
Смотрите
параметр
--max-resume-failure-tries. По
умолчанию:
true
- --async-dns-server=<IPADDRESS>[,...]
- Разделенный
запятыми
список
адресов
DNS-серверов,
которые
используют
асинхронный
DNS-преобразователь.
Обычно
асинхронный
DNS-преобразователь
читает
адреса
DNS-серверов
из /etc/resolv.conf.
Когда
используется
этот
параметр,
то
используются
DNS-серверы,
указанные
в
параметре
вместо
указанных
в /etc/resolv.conf. Вы
можете
указать
оба IPv4 и IPv6
адреса.
Этот
параметр
полезен,
когда в
системе
нет /etc/resolv.conf и у
пользователя
нет прав на
его
создание.
- --auto-file-renaming
[true|false]
- Переименовать
файл, если
такой уже
существует.
Этот
параметр
работает
только для
HTTP(S)/FTP-загрузок.
К имени
файла, но
перед
расширением
(если оно
есть),
будет
добавлена
точка и
число от 1
до 9999. По
умолчанию:
true
- --auto-save-interval=<SEC>
- Сохранять
контрольный
файл (*.aria2)
каждые SEC
секунд.
Если
задано 0,
тогда
контрольный
файл не
сохраняется
на
протяжении
загрузки. aria2
сохраняет
контрольный
файл тогда,
когда
останавливается,
не смотря
на
значение.
Возможные
значения:
от 0 до 600. По
умолчанию:
60
- --conditional-get
[true|false]
- Загружать
файл
только
когда
локальный
файл
старше, чем
удаленный.
Эта
функция
работает
только для
HTTP(S)-загрузок.
Это не
работает,
если
размер
файла
указан в Metalink.
Это также
игнорирует
заголовок
Content-Disposition. Если
контрольный
файл
существует,
то этот
параметр
игнорируется.
Эта
функция
использует
заголовок
If-Modified-Since, как
условие
для
получения
только
нового
файла. При
получении
времени
модификации
локального
файла,
используется
указанное
пользователем
имя файла
(см.
параметр
--out) или
часть
имени
файла в URI,
если --out не
указан. Для
перезаписи
существующего
файла
необходим
параметр
--allow-overwrite. По
умолчанию:
false
- --conf-path=<PATH>
- Сменить
путь к
файлу
конфигурации
на PATH. По
умолчанию:
$HOME/.aria2/aria2.conf если
существует,
иначе
$XDG_CACHE_HOME/aria2/aria2.conf.
- --console-log-level=<LEVEL>
- Задать
уровень
вывода
событий на
консоль. LEVEL
может быть:
debug, info, notice, warn
или error. По
умолчанию:
notice
- -D, --daemon
[true|false]
- Запустить
как демон
(фоновый
процесс).
Текущий
рабочий
каталог
будет
заменен на
/, а
стандартный
ввод,
стандартный
вывод,
стандартный
вывод
ошибок
будут
перенаправлены
на /dev/null. По
умолчанию:
false
- --deferred-input
[true|false]
- Если
задано true, aria2
при
запуске не
считывает
все URI и
параметры
из файла,
указанного
в
параметре
--input-file, а
считывает
их позже
отдельно,
когда это
нужно. Это
может
сократить
использование
памяти,
если во
входном
файле
содержится
много URI для
загрузки.
Если
задано false, aria2
при
запуске
считывает
все URI и
параметры.
По
умолчанию:
false
ПРЕДУПРЕЖДЕНИЕ:
параметр
--deferred-input будет
заблокирован,
если
используется
вместе с
--save-session.
- --disable-ipv6
[true|false]
- Отключить
IPv6. Это
полезно,
если вы
используете
поврежденный
DNS и хотите
избежать
ужасно
медленного
поиска
AAAA-записи. По
умолчанию:
false
- --disk-cache=<SIZE>
- Включить
дисковый
кэш. Если SIZE
задать как
0, то
дисковый
кэш будет
отключён.
Эта
функция
кэширует
загруженных
данных в
памяти,
которая
растет до
не более
чем SIZE байт.
Кэш-память
создаётся
для
экземпляра
aria2 и
совместно
используется
всеми
загрузками.
Одним из
преимуществ
дискового
кэша - это
уменьшение
дискового
ввода/вывода,
т.к. данные
записываются
большими
блоками, и
они
распределяются
через
смещение в
файле. Если
задействована
хэш-проверка
и данные
кэшируются
в памяти,
то мы не
должны
читать их с
диска. SIZE
может
включать
букву K или
M (1K = 1024, 1M = 1024K). По
умолчанию:
16M
- --download-result=<OPT>
- Этот
параметр
изменяет
формат
сообщения
Результаты
загрузки.
Если OPT
задан как
default, то
отображается
GID, статус,
средняя
скорость
загрузки и
путь/URI. Если
загружается
множество
файлов, то
отобразится
путь/URI
первого
запрашиваемого
файла, а
остальные
пропускаются.
Если OPT
задан как
full, то
отображается
GID, статус,
средняя
скорость
загрузки,
процент
прогресса
и путь/URI.
Процент
прогресса
и путь/URI
отобразится
для
каждого
запрашиваемого
файла в
отдельной
строке.
Если OPT
задан как
hide, то
Результаты
загрузки
скрыты. По
умолчанию:
default
- --dscp=<DSCP>
- Задать
значение DSCP
в
исходящих
IP-пакетах
BitTorrent-трафика
для QoS. Этот
параметр
изменяет
только
DSCP-биты в
поле ToS
IP-пакетов, а
не всё
поле. Если
вы берёте
значения
из /usr/include/netinet/ip.h, то
делите их
на 4 (иначе
значения
будут
неверными,
например,
ваш класс
CS1
превратится
в CS4). Если
берёте
обычно
используемые
значения
из RFC,
документации
сетевых
производителей,
Википедии
или других
источников,
то
используйте
их как
есть.
- --rlimit-nofile=<NUM>
- Задать
мягкое (soft)
ограничение
для
дескрипторов
открытых
файлов.
Ограничение
будет
иметь
эффект
только,
если:
- a.
- Операционная
система
поддерживает
его (posix).
- b.
- Ограничение
не
превышает
жёсткое (hard)
ограничение.
- c.
- Указанное
ограничение
больше, чем
текущее
мягкое
ограничение.
Это
эквивалентно
установке
nofile через ulimit, за
исключением
того, оно
никогда не
будет
уменьшать
ограничение.
Этот
параметр
доступен
только в
системах,
поддерживающих
API rlimit.
- --enable-mmap
[true|false]
- Отображение
файлов в
память.
Этот
параметр
может не
работать,
если место
под файл
предварительно
не
выделено.
Смотрите
--file-allocation.
По
умолчанию:
false
- --event-poll=<POLL>
- Указать
метод
опроса
событий.
Возможные
значения:
epoll, kqueue, port, poll и
select. Каждый
метод epoll, kqueue,
port и poll
доступен,
если
система
поддерживает
его. epoll
доступен в
современных
дистрибутивах
Linux. kqueue
доступен в
различных
*BSD-системах,
включая Mac OS X.
port
доступен в
Open Solaris.
Значение
по
умолчанию
может
изменяться
в
зависимости
от системы,
которую вы
используете.
- --file-allocation=<METHOD>
- Указать
метод
резервирования
места для
файла. none не
происходит
предварительное
резервирование
места для
файла. prealloc -
предварительное
резервирование
места для
файла
перед
началом
загрузки.
Это может
продолжаться
некоторое
время, в
зависимости
от размера
файла. Если
вы
используете
новые
файловые
системы,
наподобие
ext4 (с
поддержкой
экстентов),
btrfs, xfs или NTFS
(только
MinGW-сборка)
тогда
лучше
выбрать falloc.
Так как они
резервируют
место под
большие (на
несколько
Гигабайт)
файлы
почти
мгновенно.
Не
используйте
falloc вместе с
традиционными
файловыми
системами,
такими как
ext3 и FAT32, потому
что это
будет
продолжаться
почти
столько же
времени,
как и prealloc, а
также
полностью
заблокирует
aria2, пока не
закончится
резервирование
места. falloc
может быть
недоступным,
если ваша
система не
содержит
функцию
posix_fallocate(3). trunc
использует
системный
вызов ftruncate(2)
или
специфичный
для
конкретной
платформы
эквивалент,
чтобы
усечь файл
до
указанной
длины.
Возможные
значения:
none, prealloc, trunc, falloc
По
умолчанию:
prealloc
ПРЕДУПРЕЖДЕНИЕ:
Использование
trunc, на вид,
выделяет
дисковое
пространство
очень
быстро, но
на самом
деле
устанавливается
длина
файла в
метаданных
файловой
системы, а
дисковое
пространство
вообще не
выделяется.
Это
означает,
что это не
помогает
избежать
фрагментации.
ПРИМЕЧАНИЕ:
В
загрузках
многофайлового
торрента,
по
определенным
смежным
файлам
также,
которые
размещены
в части
одного
блока.
- --force-save
[true|false]
- Сохранить
загрузку с
параметром
--save-session, даже
если
загрузка
будет
завершена
или
удалена. В
этих
ситуациях
параметр
также
сохраняет
контрольный
файл. Это
может быть
полезно,
чтобы
сохранить
BitTorrent-сидирование,
у которого
будет
распознано
состояние
как
завершенное.
По
умолчанию:
false
- --save-not-found
[true|false]
- Сохранить
загрузку с
параметром
--save-session, даже
если файл
не был
найден на
сервере. В
этой
ситуации
параметр
также
сохраняет
контрольный
файл. По
умолчанию:
true
- --gid=<GID>
- Задать GID
вручную. aria2
идентифицирует
каждую
загрузку
по ID,
называемому
GID. GID должен
быть
шестнадцатеричной
строкой из
16 символов,
таким
образом
разрешены
[0-9a-fA-F], а
начальные
нули не
должны
быть
пропущены.
GID равный 0
зарезервирован
и не должен
быть
использован.
GID должен
быть
уникальным,
иначе
отобразится
сообщение
об ошибке и
загрузка
не
добавится.
Этот
параметр
полезен
при
восстановлении
сохранённой
сессии,
используя
параметр
--save-session. Если
этот
параметр
не
использован,
то новый GID
будет
сгенерирован
aria2.
- --hash-check-only
[true|false]
- Если
задано true,
то после
проверки
хэша,
используя
параметр
--check-integrity,
загрузка
прервётся,
в любом
случае
загрузка
завершится.
По
умолчанию:
false
- --human-readable
[true|false]
- Выводить
размеры и
скорость в
удобочитаемом
формате
(например,
1.2Ки, 3.4Ми) на
консольный
индикатор.
По
умолчанию:
true
- --interface=<INTERFACE>
- Привязать
сокеты к
заданному
интерфейсу.
Вы можете
указать
имя
интерфейса,
IP-адрес и
имя хоста.
Возможные
значения:
имя
интерфейса
(например, eth0),
IP-адрес
(например,
192.168.0.12), имя
хоста
(например,
myhost).
ПРИМЕЧАНИЕ:
Если
интерфейс
имеет
несколько
адресов, то
настоятельно
рекомендуется
указать
IP-адрес явно.
Смотрите
также
--disable-ipv6.
Если ваша
система не
имеет
getifaddrs(3),
это
параметр
не
принимает
имя
интерфейса.
- --keep-unfinished-download-result
[true|false]
- Сохранять
результаты
незавершённых
загрузок,
даже если
превышено
значение
--max-download-result. Это
полезно,
если
незавершённые
загрузки
должны
сохраняться
в файле
сессии (см.
параметр
--save-session).
Пожалуйста,
имейте в
виду, что
для
сохранения
не
существует
верхней
границы
для
количества
результатов
незавершённых
загрузок.
Если это
нежелательно,
отключите
эту опцию.
По
умолчанию:
true
- --max-download-result=<NUM>
- Задать
максимальное
количество
результатов
загрузок,
которые
находятся
в памяти.
Результаты
загрузок -
завершенные/ошибка/удаленные
загрузки.
Результаты
загрузок
хранятся FIFO
очереди, в
которой
может
хранится NUM
результатов
загрузок.
Когда
очередь
заполнена
и
появляется
новый
результат
загрузки,
то
старейший
результат
загрузки
удаляется
из начала
очереди, а
новый
добавляется
в конец.
Указание
большого
числа в
этом
параметре
может
привести к
высокому
потреблению
памяти
после
тысяч
загрузок.
Значение 0
отключит
сохранение
результата
загрузки.
Обратите
внимание,
что
незавершённые
загрузки
хранятся в
памяти
независимо
от этого
значения
параметра.
См.
параметр
--keep-unfinished-download-result. По
умолчанию:
1000
- --max-mmap-limit=<SIZE>
- Задать
максимальный
размер
файла для
включения
mmap (см.
параметр
--enable-mmap). Размер
файла
определяется
по сумме
всех
файлов,
содержащихся
в одной
загрузке.
Например,
если
загрузка
содержит 5
файлов, то
размер
файла - это
суммарный
размер
этих
файлов.
Если
размер
файла
строго
больше чем
размер,
указанный
в этом
параметре,
то mmap будет
отключён.
По
умолчанию:
9223372036854775807
- --max-resume-failure-tries=<N>
- Если
параметр
--always-resume=false, aria2
загрузит
файл с
нуля, при
обнаружении
N -го URI, не
поддерживающего
возобновление.
Если N =``0``, то aria2
загрузит
файл с
нуля, когда
все URI не
поддерживают
возобновление.
Смотрите
параметр
--always-resume. По
умолчанию:
0
- --min-tls-version=<VERSION>
- Указать
для
использования
минимальную
версию SSL/TLS.
Возможные
значения:
SSLv3, TLSv1, TLSv1.1, TLSv1.2
По
умолчанию:
TLSv1
- --multiple-interface=<INTERFACES>
- Разделенный
запятыми
список
интерфейсов
для
привязки
сокетов.
Запросы
будут
разделяться
между
интерфейсами
для
достижения
объединения
каналов. Вы
можете
указать
имя
интерфейса
(например, eth0),
IP-адрес
(например,
192.168.0.12) и имя
хоста
(например,
myhost). Если
используется
--interface, то этот
параметр
будет
проигнорирован.
Возможные
значения:
интерфейс,
IP-адрес, имя
хоста.
- --log-level=<LEVEL>
- Задать
уровень
вывода
журнала
событий. LEVEL
может быть:
debug, info, notice, warn
или error. По
умолчанию:
debug
- --on-bt-download-complete=<COMMAND>
- Для BitTorrent, в
--on-download-complete
указывается
команда,
которая
вызывается
после
завершение
загрузки и
окончания
сидирования.
С другой
стороны,
этот
параметр
определяет
команду,
которая
будет
выполнена
после
завершения
загрузки,
но до
сидирования.
Смотрите
раздел
Перехват
сообщения
для более
подробной
информации
о COMMAND.
Возможные
значения:
/путь/к/команде
- --on-download-complete=<COMMAND>
- Задать
команду,
которая
будет
выполнена
после
завершения
загрузки.
Смотрите
раздел
Перехват
сообщения
для более
подробной
информации
о COMMAND.
Смотрите
также
параметр
--on-download-stop.
Возможные
значения:
/путь/к/команде
- --on-download-error=<COMMAND>
- Задать
команду,
которая
будет
выполнена
после того,
как
загрузка
будет
прервана
из-за
ошибки.
Смотрите
раздел
Перехват
сообщения
для более
подробной
информации
о COMMAND.
Смотрите
также
параметр
--on-download-stop.
Возможные
значения:
/путь/к/команде
- --on-download-pause=<COMMAND>
- Задать
команду,
которая
будет
выполнена
после того,
как
загрузка
будет
приостановлена.
Смотрите
раздел
Перехват
сообщения
для более
подробной
информации
о COMMAND.
Возможные
значения:
/путь/к/команде
- --on-download-start=<COMMAND>
- Задать
команду,
которая
будет
выполнена
после того,
как
началась
загрузка.
Смотрите
раздел
Перехват
сообщения
для более
подробной
информации
о COMMAND.
Возможные
значения:
/путь/к/команде
- --on-download-stop=<COMMAND>
- Задать
команду,
которая
будет
выполнена
после того,
как
загрузка
остановлена.
Вы можете
изменить
команду,
которая
будет
выполнятся
при
определенном
результате
загрузки,
используя
параметры
--on-download-complete и --on-download-error.
Если они
указаны, то
команда,
определенная
в этом
параметре
не будет
выполнятся.
Смотрите
раздел
Перехват
сообщения
для более
подробной
информации
о COMMAND.
Возможные
значения:
/путь/к/команде
- --optimize-concurrent-downloads
[true|false|<A>:<B>]
- Оптимизирует
количество
одновременных
загрузок в
соответствии
с
доступной
полосой
пропускания.
aria2
использует
скорость
загрузки,
наблюдаемую
в
предыдущих
загрузках,
чтобы
адаптировать
количество
загрузок,
запущенных
параллельно
согласно
правилу N = A + B Log10
(скорость в
Мбит/c).
Коэффициенты
А и В могут
быть
настроены
в
аргументах
А и В,
разделённых
двоеточием.
Значения
по
умолчанию
(A=5, B=25)
приводят к
использованию
обычно 5
параллельных
загрузок в
сетях с
1Мбит/с и
более 50 в
сетях с 100
Мбит/с.
Число
параллельных
загрузок
остаётся
ограниченно
максимумом,
определяемом
в
параметре
--max-concurrent-downloads. По
умолчанию:
false
- --piece-length=<LENGTH>
- Задать
длину
блока для
HTTP/FTP-загрузок.
Это
является
границей,
когда aria2
разделяет
файл на
части. Все
разделения
происходят
многократно
по этой
длине. Этот
параметр
будет
игнорироваться
при
BitTorrent-загрузках.
Также
будет
игнорироваться,
если Metalink-файл
содержит
хэши
блоков. По
умолчанию:
1M
ПРИМЕЧАНИЕ:
Возможный
вариант
использования
параметра
--piece-length -
изменение
диапазона
запроса в
одном
конвейерном
HTTP-запросе.
Для
включения
конвейерной
обработки HTTP
используйте
--enable-http-pipelining.
- --stderr
[true|false]
- Перенаправить
весь вывод
консоли в stderr
(стандартный
поток
ошибок),
иначе
будет
использован
stdout
(стандартный
поток
вывода). По
умолчанию:
false
- --summary-interval=<SEC>
- Задать
интервал в
секундах
до вывода
сообщения
о
прогрессе
загрузки.
Установка
0
запрещает
вывод. По
умолчанию:
60
- -Z, --force-sequential
[true|false]
- Получить URI
в
последовательности
командной
строки и
загрузить
каждое URI в
отдельной
сессии, как
в обычных
утилитах
загрузки
командной
строки. По
умолчанию:
false
- --max-overall-download-limit=<SPEED>
- Задать
максимальную
общую
скорость
загрузки в
байтах/сек.
0 значит
неограниченно.
Вы можете
добавить K
или M (1K = 1024, 1M = 1024K).
Чтобы
ограничить
скорость
загрузки
для узла,
используйте
параметр
--max-download-limit. По
умолчанию:
0
- --max-download-limit=<SPEED>
- Установить
максимальную
скорость
каждого
узла
загрузки в
байтах/сек.
0 значит
неограниченно.
Вы можете
добавить K
или M (1K = 1024, 1M = 1024K).
Чтобы
ограничить
общую
скорость
загрузки,
используйте
параметр
--max-overall-download-limit. По
умолчанию:
0
- --no-file-allocation-limit=<SIZE>
- Не
резервируется
место для
файлов,
размер
которых
меньше SIZE. Вы
можете
добавить K
или M (1K = 1024, 1M = 1024K).
По
умолчанию:
5M
- -P, --parameterized-uri
[true|false]
- Включить
поддержку
параметризованных
URI. Вы можете
указать
набор
частей:
http://{sv1,sv2,sv3}/foo.iso.
Также вы
можете
указать
числовую
последовательность
с шагом
счетчика:
http://host/image[000-100:2].img.
Шагом
счетчика
можно
пренебречь.
Если все URI
не
указывают
на такой же
файл, как
во втором
приведенном
выше
примере, то
необходим
параметр -Z.
По
умолчанию:
false
- --realtime-chunk-checksum
[true|false]
- Подтверждать
правильность
блока
данных
путем
вычисления
контрольной
суммы во
время
загрузки
файла, если
предусмотрена
контрольная
сумма
блоков. По
умолчанию:
true
- --remove-control-file
[true|false]
- Удалять
контрольный
файл перед
загрузкой.
При
использовании
с --allow-overwrite=true файл
всегда
загружается
с нуля. Это
может
понадобиться
пользователям
за
прокси-сервером,
который
блокирует
возобновление
загрузки.
- --save-session=<FILE>
- Сохранять
ошибочные/незаконченные
загрузки в
FILE при
завершении
работы. Вы
можете
передать
этот
выходной
файл aria2c с
параметром
--input-file при
перезапуске.
Если вам
нужен
сжатый
файл, то
добавьте к
имени
файла
расширение
.gz. Обратите
внимание,
что
загрузки,
добавленные
через
RPC-методы
aria2.addTorrent(), aria2.addMetalink() и
чьи
метаданные
не могут
быть
сохранены
как файл,
не будут
сохраняться.
Загрузки,
удаленные
с
использованием
aria2.remove() и aria2.forceRemove() не
будут
сохранены.
GID также
сохраняется
параметром
gid, но с
некоторыми
ограничениями,
смотрите
ниже.
ПРИМЕЧАНИЕ:
Обычно, GID
загрузки
сам будет
сохранён.
Но
некоторые
загрузки
используют
метаданные
(например, BitTorrent
и Metalink). В этом
случае
есть
некоторые
ограничения.
- --save-session-interval=<SEC>
- Сохранять
ошибочные/незаконченные
загрузки в
файл,
указанный
в
параметре
--save-session, каждые
SEC секунд.
Если
указан 0,
то файл
будет
сохранён
только
тогда,
когда aria2
завершит
работу. По
умолчанию:
0
- --socket-recv-buffer-size=<SIZE>
- Задать
максимальный
приёмный
буфер
сокета в
байтах.
Указание 0
отключит
этот
параметр.
Это
значение
будет
установлено
для
дескриптора
файла
сокета с
помощью SO_RCVBUF,
параметра
сокета в
вызове setsockopt().
По
умолчанию:
0
- --stop=<SEC>
- Останавливать
программу
после того
как
пройдет SEC
секунд.
Если
задано 0,
эта
возможность
будет
отключена.
По
умолчанию:
0
- --stop-with-process=<PID>
- Остановить
приложение,
когда
процесс с
идентификационный
номером PID
не
работает.
Это
полезно,
если
процесс aria2
запущен из
родительского
процесса.
Родительский
процесс
может
запустить
aria2 со своим
идентификационным
номером и
когда он
(процесс)
завершится
по какой-то
причине, aria2
может
обнаружить
это и
самостоятельно
завершить
работу.
- -v, --version
- Вывести
номер
версии,
информацию
об
авторских
правах,
конфигурации
и
завершить
работу.
Примечания
для
параметров
Необязательные
аргументы
Параметры,
которые
имеют
значения в
квадратных
скобках ([]),
могут
принимать
дополнительные
(необязательные)
аргументы.
Обычно
отсутствие
аргумента
эквивалентно
true. Если вы
используется
короткую
форму
параметров
(например,
-V) и
указываете
аргумент,
то имя
параметра
и его
аргумент
должны
быть
объедены
(например,
-Vfalse). Если
будут
вставлены
пробелы
между
именем
параметра
и
аргументом,
то
аргумент
будет
обрабатываться
как URI, и это
не то, что
обычно вы
ожидаете.
Единицы (K
и M)
Некоторые
параметры
принимают
K и M для
удобства
представления
1024 и 1048576
соответственно.
aria2
определяет
эти
символы
без учета
регистра.
Другими
словами, k и
m могут
быть
использованы
также как K
и M
соответственно.
Вы можете
перечислить
несколько URI
в
командной
строке.
Пока вы не
указали
параметр
--force-sequential, все 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-файл с
параметром
--torrent-file и URI.
Сделав это,
вы можете
загружать
файл,
используя
torrent-рой и
HTTP(S)/FTP/SFTP-сервер
одновременно,
пока
данные из
HTTP(S)/FTP/SFTP
выгружаются
в torrent-рой. Для
однофайловых
торрентов,
URI может
быть
завершенным,
который
указывает
на ресурс,
или же если
заканчиваться
символом /,
тогда name (имя)
в torrent-файле
будет
добавлено.
Для
многофайловых
торрентов,
name (имя) и path
(путь) в
torrent-файле
будут
добавлены
из URI для
каждого
файла.
ПРИМЕЧАНИЕ:
Удостоверьтесь,
что URI
заключен в
одинарные(')
или
двойные(")
кавычки,
если есть
символ &
или любые
символы,
которые
имеют
особое
значение в
командной
оболочке.
Возобновление
загрузки
Обычно, вы
можете
возобновить
передачу,
только
запустив
ту же самую
команду (aria2c URI),
которая
выполнялась
при
предыдущей
передаче,
созданной
aria2.
Если
предыдущая
передача
создана
веб-браузером
или
wget-подобным
менеджером
загрузки,
тогда
используйте
параметр
--continue для
продолжения
передачи.
Перехват
сообщения
aria2
предоставляет
параметры,
в которых
указываются
произвольные
команды,
выполняемые
после
наступления
определенного
события. В
настоящее
время
доступны
следующие
параметры:
--on-bt-download-complete, --on-download-pause,
--on-download-complete, --on-download-start,
--on-download-error, --on-download-stop.
aria2
передает 3
аргумента
указанной
команды,
которая
выполняется.
Это
аргументы:
GID,
количество
файлов и
путь к
файлу. Для HTTP-,
FTP- и
SFTP-загрузок,
обычно
количество
файлов - 1. BitTorrent
загрузка
может
содержать
множество
файлов.
Если число
файлов
больше чем
один, то
путь к
файлу
будет для
первого.
Другими
словами,
это
значение
параметра
path в первой
структуре,
определенный
параметр
которой
имеет
значение true
(истина), в
ответе
RPC-метода
aria2.getFiles(). Если вы
хотите
получить
все пути к
файлам, то
рассмотрите
использование
JSON-RPC/XML-RPC.
Обратите
внимание,
что путь к
файлу
может
меняться в
процессе
загрузки
по HTTP из-за
перенаправления
или
заголовка
Content-Disposition.
Посмотрите
пример, как
аргументы
передаются
команде:
$ cat hook.sh
#!/bin/sh
echo "Called with [$1] [$2] [$3]"
$ aria2c --on-download-complete hook.sh http://example.org/file.iso
Called with [1] [1] [/path/to/file.iso]
ФАЙЛЫ
По
умолчанию,
aria2
проверяет
наличие
$HOME/.aria2/aria2.conf по
устаревшему
пути, иначе
анализируется
$XDG_CONFIG_HOME/aria2/aria2.conf как
конфигурационный
файл. Вы
можете
указать
путь к
конфигурационному
файлу в
параметре
--conf-path. Если вы
не хотите
использовать
конфигурационный
файл,
используйте
параметр
--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
ПРИМЕЧАНИЕ:
Конфиденциальная
информация
такая как
пользователь/пароль
могут быть
включены в
конфигурационный
файл.
Рекомендуется
изменить
режим
доступа к
конфигурационному
файлу
(например, chmod
600 aria2.conf), так
другие
пользователи
не смогут
увидеть
содержимое
файла.
Значения
перемененных
окружения,
таких как
${HOME},
подставляются
командной
оболочкой.
Это
означает,
что эти
переменные,
используемые
в файле
конфигурации,
не
подставляются.
Тем не
менее,
полезно
для
обозначения
домашнего
каталога
пользователя
в
конфигурационном
файле
использовать
${HOME}, чтобы
указать
путь к
файлам.
Таким
образом, aria2
подставляет
путь к
домашней
директории
пользователя
при
найденной
переменной
${HOME}, в
следующих
значениях
параметров:
- ca-certificate
- certificate
- dht-file-path
- dht-file-path6
- dir
- input-file
- load-cookies
- log
- metalink-file
- netrc-path
- on-bt-download-complete
- on-download-complete
- on-download-error
- on-download-start
- on-download-stop
- on-download-pause
- out
- private-key
- rpc-certificate
- rpc-private-key
- save-cookies
- save-session
- server-stat-if
- server-stat-of
- torrent-file
Обратите
внимание,
что
подстановка
происходит
даже в том
случае,
если
вышеуказанные
параметры
используются
в
командной
строке. Это
означает,
что
подстановка
может
происходить
2 раза:
сначала
командной
оболочкой,
а затем aria2c.
Если
устаревшие
пути к
файлам $HOME/.aria2/dht.dat
и $HOME/.aria2/dht6.dat
указывают
на
несуществующие
файлы, то
таблица
маршрутизации
IPv4 DHT
сохраняется
в $XDG_CACHE_HOME/aria2/dht.dat, а
таблица
маршрутизации
IPv6 DHT
сохраняется
в $XDG_CACHE_HOME/aria2/dht6.dat.
Поддержка
Netrc включена
по
умолчанию
для HTTP(S)/FTP/SFTP. Для
отключения
поддержки
netrc, укажите
параметр
--no-netrc. Ваш файл
.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,
в одной
строке,
табуляцией.
Каждая
строка
рассматривается,
как
аргумент
командой
строки.
Следовательно,
на них
влияют
параметры
--force-sequential и --parameterized-uri.
Так как aria2
непосредственно
читает URI из
входного
файла, то
они не
должны
быть
указаны с
одинарными(')
или
двойными(")
кавычками.
Строка,
которая
начинается
с #
обрабатывается
как
комментарий
и
пропускается.
Кроме
того,
следующие
параметры
могут быть
определены
после
каждой
строки с URI.
Эти
дополнительные
строки
должны
начинаться
с
пробела(ов).
Эти
параметры
имеют
точно
такой же
смысл, что
параметры
командной
строки, но
это
применимо
только к 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.
В
некоторых
случаях,
параметр out
не имеет
никакого
эффекта.
Смотрите
примечание
по
ограничениям
параметра
--out.
Профиль
функционирования
сервера
Этот
раздел
описывает
формат
профиля
функционирования
сервера.
Это
открытый
текстовый
файл,
каждая
строка
которого
имеет
несколько
пар
ИМЯ=ЗНАЧЕНИЕ,
разделенных
запятыми. В
настоящее
время
распознаются
следующие
ИМЕНА:
- host
- Имя хоста
сервера.
Обязательно.
- protocol
- Протокол
для этого
профиля,
такие как ftp,
http.
Обязательно.
- dl_speed
- Средняя
скорость
загрузки,
которая
наблюдалась
при
предыдущей
загрузке, в
байт/секунду.
Обязательно.
- sc_avg_speed
- Средняя
скорость
загрузки,
которая
наблюдалась
при
предыдущей
загрузке, в
байт/секунду.
Это
значение
обновляется,
только
если
загрузка
произведена
при одном
соединении
и только с
использованием
AdaptiveURISelector.
Необязательно.
- mc_avg_speed
- Средняя
скорость
загрузки,
которая
наблюдалась
при
предыдущей
загрузке, в
байт/секунду.
Это
значение
обновляется,
только
если
загрузка
произведена
при
нескольких
соединениях
и только с
использованием
AdaptiveURISelector.
Необязательно.
- counter
- Сколько
раз
использовался
сервер. В
настоящее
время это
значение
используется
только при
AdaptiveURISelector.
Необязательно.
- last_updated
- Время
связи, в GMT, с
этим
сервером,
указывается
в секундах,
начиная с 00:00:00
1 Января, 1970, UTC.
Обязательно.
- status
- ERROR, когда
сервер
недоступен
из-за
неисправности
или
тайм-аута.
Иначе - OK.
Эти поля
должны
быть в
одной
строке.
Последовательность
полей не
имеет
значения.
Вы можете
размещать
пары,
отличные
от
перечисленных
выше; они
будут
просто
игнорироваться.
Например,
следующим
образом:
host=localhost, protocol=http, dl_speed=32000, last_updated=1222491640, status=OK
host=localhost, protocol=ftp, dl_speed=0, last_updated=1222491632, status=ERROR
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. Если
вы
включили
SSL/TLS-шифрование,
то
используйте
wss://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
сохранится
в aria2 как
64-битное
двоичное
значение.
Для
RPC-доступа, он
должен
быть
представлен
в виде
шестнадцатеричной
строки из 16
символов
(например,
2089b05ecca3d829). Обычно,
aria2
генерирует
этот GID для
каждой
загрузки,
но
пользователь
может
определить
GID вручную,
используя
параметр --gid.
При
запросе
загрузок
по GID, вы
можете
задать
только
префикс GID
пока он
является
уникальным
среди
других.
RPC-авторизация
по
секретному
маркеру
Начиная с
1.18.4, в
дополнение
к базовой
HTTP-авторизации,
aria2
обеспечивает
method-level
RPC-авторизацию.
В будущих
версиях,
базовая
HTTP-авторизация
будет
удалена и
method-level
RPC-авторизация
станет
обязательной.
Чтобы
использовать
method-level
RPC-авторизацию,
пользователь
должен
указать
секретный
маркер
RPC-авторизации,
используя
параметр
--rpc-secret. Для
каждого
вызова
RPC-метода,
вызывающий
должен
включать
маркер с
префиксом
token:. Даже
когда
параметр
--rpc-secret не
используется,
и если
первым
параметром
в RPC-методе
является
строка и
начинается
с token:, то она
будет
удалёна из
списка
параметров,
прежде чем
запрос
будет
обработан.
Например,
если
секретный
маркер
RPC-авторизации
- $$secret$$, то
вызов
RPC-метода aria2.addUri
будет
выглядеть
следующим
образом:
aria2.addUri("token:$$secret$$",
["http://example.org/file"])
RPC-метод
system.multicall
обрабатывается
особым
образом.
Поскольку
спецификация
XML-RPC
позволяет
использовать
только
один
массив в
качестве
параметра
для этого
метода, мы
не
указываем
маркер в
вызове.
Вместо
этого
каждый
вложенный
вызов
метода
должен
обеспечивать
маркер в
качестве
первого
параметра,
как
описано
выше.
ПРИМЕЧАНИЕ:
Проверка
секретного
маркера в aria2
разработана,
чтобы
противостоять
хотя бы
определенное
количество
времени,
ослаблять
атаки
методом
грубой
силы/по
словарю
против
RPC-интерфейса.
Поэтому
рекомендуется
отдавать
предпочтение
пакетным
или
system.multicall
запросам,
когда это
необходимо.
system.listMethods и system.listNotifications
могут
выполняться
без
секретного
маркера.
Так они
просто
возвращает
доступные
методы/уведомления,
и ничего не
изменяют,
они
безопасны
без
секретного
маркера.
Методы
Весь
примеры
кода
совместимы
с Python 2.7. Для
получения
информации
о
параметре
secret
смотрите
RPC-авторизация
по
секретному
маркеру.
- aria2.addUri([secret],
uris[, options[, position]])
- Этот метод
добавляет
новую
загрузку.
Параметр
uris - это
массив
HTTP(S)/FTP/SFTP/BitTorrent Magnet URI
(строки),
указывающие
на один и
тот же
ресурс.
Если вы
смешивайте
URI,
указывающие
на разные
ресурсы, то
загрузка
может
неудачно
завершиться
или быть
повреждена
без жалоб
со стороны
aria2. При
добавлении
BitTorrent Magnet URI, uris
должен
содержать
только
один
элемент, и
он должен
быть BitTorrent
Magnet-ссылкой.
Параметр
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":"2089b05ecca3d829"}'
Пример
XML-RPC
Следующий
пример
добавляет
http://example.org/file в aria2:
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addUri(['http://example.org/file'])
'2089b05ecca3d829'
Следующий
пример
добавляет
новую
загрузку с
двумя
источниками
и
некоторые
параметры:
>>> s.aria2.addUri(['http://example.org/file', 'http://mirror/file'],
dict(dir="/tmp"))
'd2703803b52216d1'
Следующий
пример
добавляет
загрузку и
вставляет
её впереди
очереди:
>>> s.aria2.addUri(['http://example.org/file'], {}, 0)
'ca3d829cee549a4d'
- aria2.addTorrent([secret],
torrent[, uris[, options[, position]]])
- Этот метод
добавляет
BitTorrent-загрузку
путем
загрузки
.torrent-файла.
Если вы
хотите
добавить
BitTorrent Magnet URI, взамен
используйте
метод aria2.addUri().
Параметр
torrent должен
быть
base64-кодированной
строкой, с
содержимым
.torrent-файла.
Параметр
uris - это
массив c URI
(строка).
Параметр
uris
используется
для
Web-сидирования.
Для
однофайловых
торрентов,
URI может
быть
полным,
который
указывает
на ресурс;
если URI
заканчивается
символом /,
тогда
будет
добавлено
имя из
torrent-файла. Для
многофайловых
торрентов,
чтобы
cформировать
URI для
каждого
файла,
будут
добавлены
имя и путь
из
торрента.
Параметр
options - это
структура,
а её
элементы
являются
парами имя
и значение.
Смотрите
ниже
Параметры
для более
подробной
информации.
Если
параметр
position задан, то
он должен
быть целым
числом,
начиная с 0.
Новая
загрузка
будет
вставлена
на позицию
position в
очередь
ожидания.
Если
параметр
position
пропущен
или больше
чем
текущий
размер
очереди, то
новая
загрузка
будет
добавлена
в конец
очереди.
Этот метод
возвращает
GID
зарегистрированной
загрузки.
Если --rpc-save-upload-metadata
задан как
true,
загруженные
данные
сохраняются
в файл с
именем
шестнадцатеричной
строки
SHA-1-хэша этих
данных
плюс ".torrent", в
каталог
указанный
в
параметре
--dir.
Например,
имя файла
может быть
0a3893293e27ac0490424c06de4d09242215f0a6.torrent.
Если файл с
таким же
именем
существует,
то он будет
перезаписан!
Если файл
не может
быть
успешно
сохранен
или --rpc-save-upload-metadata
задан как
false, то
загрузки,
добавленные
этим
методом, не
сохраняются
при помощи
параметра
--save-session.
Следующие
примеры
добавляют
локальный
файл file.torrent.
Пример
JSON-RPC
>>> 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":"2089b05ecca3d829"}'
Пример
XML-RPC
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addTorrent(xmlrpclib.Binary(open('file.torrent', mode='rb').read()))
'2089b05ecca3d829'
- aria2.addMetalink([secret],
metalink[, options[, position]])
- Этот метод
добавляет
Metalink-загрузку
путем
загрузки
.metalink-файла.
Параметр
metalink должен
быть
base64-кодированной
строкой, с
содержимым
.metalink-файла.
Параметр
options - это
структура,
а её
элементы
являются
парами имя
и значение.
Смотрите
ниже
Параметры
для более
подробной
информации.
Если
параметр
position задан, то
он должен
быть целым
числом,
начиная с 0.
Новая
загрузка
будет
вставлена
на позицию
position в
очередь
ожидания.
Если
параметр
position
пропущен
или больше
чем
текущий
размер
очереди, то
новая
загрузка
будет
добавлена
в конец
очереди.
Этот метод
возвращает
GID
зарегистрированной
загрузки.
Если --rpc-save-upload-metadata
задан как
true,
загруженные
данные
сохраняются
в файл с
именем
шестнадцатеричной
строки
SHA-1-хэша этих
данных
плюс ".metalink", в
каталог
указанный
в
параметре
--dir.
Например,
имя файла
может быть
0a3893293e27ac0490424c06de4d09242215f0a6.metalink.
Если файл с
таким же
именем
существует,
то он будет
перезаписан!
Если файл
не может
быть
успешно
сохранен
или --rpc-save-upload-metadata
задан как
false, то
загрузки,
добавленные
этим
методом, не
сохраняются
при помощи
параметра
--save-session.
Следующие
примеры
добавляют
локальный
файл file.meta4.
Пример
JSON-RPC
>>> 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":["2089b05ecca3d829"]}'
Пример
XML-RPC
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.addMetalink(xmlrpclib.Binary(open('file.meta4', mode='rb').read()))
['2089b05ecca3d829']
- aria2.remove([secret],
gid)
- Этот метод
удаляет
загрузку,
которая
обозначена
gid (строка).
Если
указана
загрузка,
которая
загружается
в данный
момент, то
сначала
она
остановится.
Статус
удаления
станет removed
(удаленно).
Этот метод
возвращает
GID
удаленной
загрузки.
Следующие
примеры
удаляют
загрузку c
GID#2089b05ecca3d829.
Пример
JSON-RPC
>>> import urllib2, json
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.remove',
... 'params':['2089b05ecca3d829']})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> c.read()
'{"id":"qwer","jsonrpc":"2.0","result":"2089b05ecca3d829"}'
Пример
XML-RPC
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.remove('2089b05ecca3d829')
'2089b05ecca3d829'
- aria2.forceRemove([secret],
gid)
- Этот метод
удаляет
загрузку,
которая
обозначена
gid. Метод
действует
подобно
aria2.remove(), за
исключением
того, что
метод
удаляет
загрузку
без
выполнения
каких-либо
действий,
которые
требуют
времени,
например
связь с
BitTorrent-трекерами
для отмены
регистрации
загрузки.
- aria2.pause([secret],
gid)
- Этот метод
приостанавливает
загрузку,
которая
обозначена
gid (строка).
Статус
приостановки
станет paused
(приостановлено).
Если
загрузка
активна, то
загрузка
переместится
в начало
очереди
ожидания.
Пока
статус paused,
загрузка
не
начнется.
Для смены
статуса на
waiting,
используйте
метод aria2.unpause().
Этот метод
возвращает
GID
приостановленной
загрузки.
- aria2.pauseAll([secret])
- Этот метод
эквивалентен
по вызову
aria2.pause(), для
каждой
активной/ожидающей
закачки.
Этот метод
возвращает
OK.
- aria2.forcePause([secret],
gid)
- Этот метод
приостанавливает
загрузку,
которая
обозначена
gid. Метод
действует
подобно
aria2.pause(), за
исключением
того, что
метод
приостанавливает
загрузки
без
выполнения
каких-либо
действий,
которые
требуют
времени,например
связь с
BitTorrent-трекерами
для отмены
регистрации
загрузки.
- aria2.forcePauseAll([secret])
- Этот метод
эквивалентен
по вызову
aria2.forcePause(), для
каждой
активной/ожидающей
загрузки.
Этот метод
возвращает
OK.
- aria2.unpause([secret],
gid)
- Этот метод
изменяет
статус
загрузки,
которая
обозначена
'gid' (строка), с
paused на waiting, что
позволяет
перезапускать
загрузку.
Этот метод
возвращает
GID загрузки,
снятой с
паузы.
- aria2.unpauseAll([secret])
- Этот метод
эквивалентен
по вызову
aria2.unpause(), для
каждой
приостановленной
загрузки.
Этот метод
возвращает
OK.
- aria2.tellStatus([secret],
gid[, keys])
- Этот метод
возвращает
состояние
загрузки,
которая
обозначена
gid (строка).
Параметр
keys - это
массив
строк. Если
keys указан,
то ответ
содержит
только
ключи в
массиве keys.
Если keys
пустой или
пропущен,
то ответ
содержит
все ключи.
Это
полезно,
если вы
хотите
использовать
определенные
параметры,
чтобы
исключить
множество
пересылок.
Например,
aria2.tellStatus("2089b05ecca3d829", ["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
- Количество
сидов, к
которым
подключена
aria2. Только
для BitTorrent.
- seeder
- true - если
локальная
конечная
точка
является
сидом.
Иначе false.
Только для
BitTorrent.
- pieceLength
- Размер
блока в
байтах.
- numPieces
- Количество
блоков.
- connections
- Количество
пиров/серверов,
к которым
подключена
aria2.
- errorCode
- Код
последней
ошибки для
этого
элемента,
если
таковая
имеется.
Значение
является
строкой.
Коды
ошибок
определены
в разделе
КОДЫ
ЗАВЕРШЕНИЯ.
Это
значение
доступно
только для
остановленных/завершённых
загрузок.
- errorMessage
- Сообщение
об ошибке,
удобное
(надеюсь)
для
восприятия,
связанной
с errorCode.
- followedBy
- Список с GID,
которые
сгенерируются
в
результате
этой
загрузки.
Например,
когда aria2
загружает
Metalink-файл, то
это
генерирует
загрузки,
описанные
в Metalink-файле
(см.
параметр
--follow-metalink). Это
значение
полезно
для
отслеживания
автоматически
сгенерированных
загрузок.
Если таких
загрузок
нет, то
ключ не
будет
включён в
ответ.
- following
- Обратная
ссылка для
followedBy. У
загрузки,
включённой
в followedBy, есть GID
этого
объекта в
этом
значении
following.
- belongsTo
- GID
родительской
загрузки.
Некоторые
загрузки
являются
частью
другой
загрузки.
Например,
если файл в
Metalink содержит
BitTorrent ресурсы,
загрузки
".torrent" файлов
будут
частями
этого
родителя.
Если эта
загрузка
не имеет
родителя,
то ключ не
будет
включён в
ответ.
- dir
- Каталог
для
сохранения
файлов.
- files
- Возвращает
список
файлов.
Элементы
списка -
это
структуры,
такие же,
что и в
методе
aria2.getFiles().
- bittorrent
- Структура,
в которой
содержится
информация,
извлеченная
из .torrent-файла.
Только для
BitTorrent.
Содержит
следующие
поля.
- announceList
- Список
списков URI
анонса.
Если
торрент
содержит
`announce, а не announce-list`,
то announce`
конвертируется
в формат
announce-list`.
- Комментарий
торрента.
Используется
comment.utf-8, если
доступно.
- creationDate
- Время
создания
торрента.
Значение
является
целым
числом, с
начала
века,
измеряется
в
секундах.
- mode
- Файловый
режим
торрента.
Значение
одно из
двух: single
(одиночный)
или multi
(множественный).
- info
- Структура,
которая
содержит
данные из
раздела Info.
Она
содержит
следующие
поля.
- name
- имя в
разделе info.
Используется
name.utf-8, если
доступно.
- verifiedLength
- Количество
проверенных
байт во
время
проверки
хэша. Это
поле
появляется
только
тогда,
когда
загрузка
начинает
проверять
хэш.
- verifyIntegrityPending
- true - если эта
загрузка
ожидает в
очереди
проверки
хэша. Это
поле
появляется
только
тогда,
когда эта
загрузка
находится
в очереди.
Пример
JSON-RPC
Следующий
пример
получает
информацию
о загрузке
с GID#2089b05ecca3d829:
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.tellStatus',
... 'params':['2089b05ecca3d829']})
>>> 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'2089b05ecca3d829',
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':['2089b05ecca3d829',
... ['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'2089b05ecca3d829',
u'totalLength': u'34896138'}}
Пример
XML-RPC
Следующий
пример
получает
информацию
о загрузке
с GID#2089b05ecca3d829:
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.tellStatus('2089b05ecca3d829')
>>> 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': '2089b05ecca3d829',
'numPieces': '17',
'pieceLength': '2097152',
'status': 'complete',
'totalLength': '34896138',
'uploadLength': '0',
'uploadSpeed': '0'}
Следующий
пример
получает
только
определённые
ключи:
>>> r = s.aria2.tellStatus('2089b05ecca3d829', ['gid', 'totalLength', 'completedLength'])
>>> pprint(r)
{'completedLength': '34896138', 'gid': '2089b05ecca3d829', 'totalLength': '34896138'}
- aria2.getUris([secret],
gid)
- Этот метод
возвращает
URI,
используемые
в загрузке,
которые
обозначены
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':['2089b05ecca3d829']})
>>> 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('2089b05ecca3d829')
>>> pprint(r)
[{'status': 'used', 'uri': 'http://example.org/file'}]
- aria2.getFiles([secret],
gid)
- Этот метод
возвращает
список
файлов
загрузки,
которая
обозначена
gid (строка).
Ответ - это
массив
структур,
которые
содержат
следующие
ключи.
Значения
являются
строками.
- index
- Индекс
файла,
начинается
с 1, в том же
порядке,
как файлы
появляются
в
многофайловом
торренте.
- path
- Путь к
файлу.
- length
- Размер
файла в
байта.
- completedLength
- Загруженный
объём
файла в
байтах.
Обратите
внимание,
вполне
возможно,
что сумма
completedLength меньше
чем
возвращаемая
методом
aria2.tellStatus(). Это
потому, что
в completedLength aria2.getFiles()
включены
только
завершенные
блоки. С
другой
стороны, в
completedLength aria2.tellStatus()
также
включены
частично
завершённые
блоки.
- selected
- true - если
этот файл
выбран
параметром
--select-file. Если
параметр
--select-file не
указан или
это
однофайловый
торрент
или
загрузка
вообще не
торрент, то
это
значение
всегда
будет true.
Иначе false.
- uris
- Возвращает
список URI
для этого
файла. Тип
элемента
такая же
структура,
что
используется
в методе
aria2.getUris().
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.getFiles',
... 'params':['2089b05ecca3d829']})
>>> 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('2089b05ecca3d829')
>>> pprint(r)
[{'index': '1',
'length': '34896138',
'completedLength': '34896138',
'path': '/downloads/file',
'selected': 'true',
'uris': [{'status': 'used',
'uri': 'http://example.org/file'}]}]
- aria2.getPeers([secret],
gid)
- Этот метод
возвращает
список
пиров
загрузки,
которая
обозначена
gid (строка).
Этот метод
только для
BitTorrent. Ответ -
это массив
структур,
которые
содержат
следующие
ключи.
Значения
являются
строками.
- peerId
- Закодированное
ID пира.
- ip
- IP-адрес
пира.
- port
- Номер
порта
пира.
- bitfield
- Шестнадцатеричное
представление
процесса
загрузки.
Старший
бит
соответствует
блоку с
индексом 0.
Бит
устанавливается,
если блок
доступен и
не
устанавливается,
если блок
отсутствует.
Любые
запасные
биты в
конце
устанавливаются
в 0.
- amChoking
- true - если aria2
блокирует
пира. Иначе
false.
- peerChoking
- true - если пир
блокирует
aria2. Иначе 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':['2089b05ecca3d829']})
>>> 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('2089b05ecca3d829')
>>> pprint(r)
[{'amChoking': 'true',
'bitfield': 'ffffffffffffffffffffffffffffffffffffffff',
'downloadSpeed': '10602',
'ip': '10.0.0.9',
'peerChoking': 'false',
'peerId': 'aria2%2F1%2E10%2E5%2D%87%2A%EDz%2F%F7%E6',
'port': '6881',
'seeder': 'true',
'uploadSpeed': '0'},
{'amChoking': 'false',
'bitfield': 'ffffeff0fffffffbfffffff9fffffcfff7f4ffff',
'downloadSpeed': '8654',
'ip': '10.0.0.30',
'peerChoking': 'false',
'peerId': 'bittorrent client758',
'port': '37842',
'seeder': 'false,
'uploadSpeed': '6890'}]
- aria2.getServers([secret],
gid)
- Этот метод
возвращает
текущие
подключенные
HTTP(S)/FTP/SFTP-серверы
загрузки,
которая
обозначена
gid (строка).
Ответ - это
массив
структур,
которые
содержат
следующие
ключи.
Значения
являются
строками.
- index
- Индекс
файла,
начинается
с 1, в том же
порядке,
как файлы
появляются
в
многофайловом
metalink.
- 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':['2089b05ecca3d829']})
>>> 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('2089b05ecca3d829')
>>> pprint(r)
[{'index': '1',
'servers': [{'currentUri': 'http://example.org/dl/file',
'downloadSpeed': '20285',
'uri': 'http://example.org/file'}]}]
- aria2.tellActive([secret][,
keys])
- Этот метод
возвращает
список
активных
загрузок.
Ответ - это
массив
таких же
структур,
возвращаемых
методом
aria2.tellStatus(). За
разъяснениями
о
параметре
keys,
обратитесь
к методу
aria2.tellStatus().
- aria2.tellWaiting([secret],
offset, num[, keys])
- Этот метод
возвращает
список
ожидающих
загрузок,
включая
приостановленные
загрузки.
offset
является
целым
числом и
указывает
смещение,
начиная от
ожидающей
загрузки.
num
является
целым
числом и
указывает
максимальное
число
возвращаемых
загрузок.
За
разъяснениями
о
параметре
keys,
обратитесь
к методу
aria2.tellStatus().
Если
смещение
положительное
целое
число, то
этот
метод
возвращает
загрузки
в
диапазоне
[offset, offset*+*num).
offset может
быть
отрицательным
целым
числом. offset == -1
указывает
на
последнею
загрузку,
которая
ожидает в
очереди, а
offset == -2
указывает
на
загрузку
перед
последней,
и так
далее.
Тогда
загрузки
в ответе
находятся
в
обратном
порядке.
Например,
допустим,
что есть
три
загрузки
"A","B" и "C", в
этом
порядке,
которые
ожидают.
aria2.tellWaiting(0, 1)
возвратит
["A"]. aria2.tellWaiting(1, 2)
возвратит
["B", "C"]. aria2.tellWaiting(-1, 2)
возвратит
["C", "B"].
Ответ -
это
массив
таких же
структур,
возвращаемых
методом
aria2.tellStatus().
- aria2.tellStopped([secret],
offset, num[, keys])
- Этот метод
возвращает
список
остановленных
загрузок.
offset
является
целым
числом и
указывает
смещение,
начиная от
последней,
недавно
остановленной,
загрузки.
num
является
целым
числом и
указывает
максимальное
число
возвращаемых
загрузок.
За
разъяснениями
о
параметре
keys,
обратитесь
к методу
aria2.tellStatus().
offset и num
имеют
такую же
семантику,
как
описано в
методе
aria2.tellWaiting().
Ответ -
это
массив
таких же
структур,
возвращаемых
методом
aria2.tellStatus().
- aria2.changePosition([secret],
gid, pos, how)
- Этот метод
меняет
позицию
загрузки,
которая в
очереди
обозначена
gid. pos
является
целым
числом. how
является
строкой.
Если how - POS_SET,
то это
переместит
загрузку
на позицию,
относительно
начала
очереди.
Если how - POS_CUR,
это
переместит
загрузку
на позицию,
относительно
текущей
позиции.
Если how - POS_END,
это
переместит
загрузку
на позицию,
относительно
конца
очереди.
Если
целевая
позиция
меньше чем
0 или за
пределами
конца
очереди,
это
переместит
загрузку в
начало или
конец
очереди
соответственно.
Ответ
является
целым
числом,
обозначающее
получающуюся
позицию.
Например,
если
текущей
позицией
GID#2089b05ecca3d829
является 3,
то aria2.changePosition('2089b05ecca3d829', -1,
'POS_CUR') изменит
позицию
на 2.
Дополнительно
aria2.changePosition('2089b05ecca3d829', 0, 'POS_SET')
изменит
позицию
на 0 (начало
очереди).
Следующие
примеры
перемещают
загрузку
GID#2089b05ecca3d829 в
начало
очереди.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.changePosition',
... 'params':['2089b05ecca3d829', 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
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.changePosition('2089b05ecca3d829', 0, 'POS_SET')
0
- aria2.changeUri([secret],
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. Этот
метод
возвращает
список,
который
содержит
два целых
числа.
Первое -
количество
удаленных
URI. Второе -
количество
добавленных
URI.
Следующие
примеры
добавляют
URI http://example.org/file к
файлу с
индексом
1,
принадлежащий
загрузке
GID#2089b05ecca3d829.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.changeUri',
... 'params':['2089b05ecca3d829', 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
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.changeUri('2089b05ecca3d829', 1, [],
['http://example.org/file'])
[0, 1]
- aria2.getOption([secret],
gid)
- Этот метод
возвращает
параметры
загрузки,
которая
обозначена
gid. Ответ -
это
структура,
где ключи
являются
именами
параметров.
Значения
являются
строками.
Обратите
внимание,
что этот
метод не
возвращает
параметры,
которые не
имеют
значение
по
умолчанию
и не были
заданы
параметрами
командной
строки,
конфигурационными
файлами
или
RPC-методами.
Следующие
примеры
получают
параметры
загрузки
GID#2089b05ecca3d829.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.getOption',
... 'params':['2089b05ecca3d829']})
>>> 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
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getOption('2089b05ecca3d829')
>>> pprint(r)
{'allow-overwrite': 'false',
'allow-piece-length-change': 'false',
'always-resume': 'true',
'async-dns': 'true',
....
- aria2.changeOption([secret],
gid, options)
- Этот метод
изменяет
динамически
параметры
загрузки,
которая
обозначена
gid (строка).
options
является
структурой.
Доступные
параметры
перечисленны
в
подразделе
Входной
файл,
исключая
следующие:
- dry-run
- metalink-base-uri
- parameterized-uri
- pause
- piece-length
- rpc-save-upload-metadata
За
исключением
следующих
параметров,
изменение
других
параметров
активной
загрузки
заставляет
их
перезапуститься
(самим
перезапуском
управляет
aria2, и
никакого
вмешательства
пользователя
не
требуется):
- bt-max-peers
- bt-request-peer-speed-limit
- bt-remove-unselected-file
- force-save
- max-download-limit
- max-upload-limit
Этот
метод
возвращает
OK, в случае
успеха.
Следующие
примеры
устанавливают
параметр
max-download-limit в 20K для
загрузки
GID#2089b05ecca3d829.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.changeOption',
... 'params':['2089b05ecca3d829',
... {'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
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.changeOption('2089b05ecca3d829', {'max-download-limit':'20K'})
'OK'
- aria2.getGlobalOption([secret])
- Этот метод
возвращает
глобальные
параметры.
Ответ
является
структурой.
Её ключи -
это
названия
параметров.
Значения
являются
строками.
Обратите
внимание,
что этот
метод не
возвращает
параметры,
которые не
имеют
значение
по
умолчанию
и не были
заданы
параметрами
командной
строки,
конфигурационными
файлами
или
RPC-методами.
Так как
глобальные
параметры
используются
в качестве
шаблона
для вновь
добавляемых
загрузок,
ответ
содержит
ключи
возвращаемые
методом
aria2.getOption().
- aria2.changeGlobalOption([secret],
options)
- Этот метод
изменяет
динамически
глобальные
параметры.
options
является
структурой.
Доступны
следующие
параметры:
- bt-max-open-files
- download-result
- keep-unfinished-download-result
- log
- log-level
- max-concurrent-downloads
- max-download-result
- max-overall-download-limit
- max-overall-upload-limit
- optimize-concurrent-downloads
- save-cookies
- save-session
- server-stat-of
В
дополнение
к ним,
параметры
перечисленные
в
подразделе
Входной
файл,
исключая
следующие
параметры:
checksum, index-out, out, pause,
select-file.
C
параметром
log, вы
можете
динамически
начинать
вести
журнал
событий
или
изменять
файл
журнала
событий.
Чтобы
остановить
ведение
журнала
событий,
укажите
пустую
строку ("") в
качестве
значения
параметра.
Обратите
внимание,
что файл
журнала
событий
всегда
открыт в
режиме
добавления.
Этот метод
возвращает
OK, в случае
успеха.
- aria2.getGlobalStat([secret])
- Этот метод
возвращает
глобальную
статистику
по
скорости
загрузки и
скорости
отдачи.
Ответ
является
структурой
и содержит
следующие
ключи.
Значения
являются
строками.
- downloadSpeed
- Общая
скорость
загрузки
(байт/сек).
- uploadSpeed
- Общая
скорость
отдачи
(байт/сек).
- numActive
- Количество
активных
загрузок.
- numWaiting
- Количество
ожидающих
загрузок.
- numStopped
- Количество
остановленных
загрузок в
текущей
сессии. Это
значение
ограничено
параметром
--max-download-result.
- numStoppedTotal
- Количество
остановленных
загрузок в
текущей
сессии и
не
ограничено
параметром
--max-download-result.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.getGlobalStat'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
u'jsonrpc': u'2.0',
u'result': {u'downloadSpeed': u'21846',
u'numActive': u'2',
u'numStopped': u'0',
u'numWaiting': u'0',
u'uploadSpeed': u'0'}}
Пример
XML-RPC
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getGlobalStat()
>>> pprint(r)
{'downloadSpeed': '23136',
'numActive': '2',
'numStopped': '0',
'numWaiting': '0',
'uploadSpeed': '0'}
- aria2.removeDownloadResult([secret],
gid)
- Этот метод
удаляет из
памяти
завершенную/ошибка/удаленную
загрузку,
которая
обозначена
gid. Метод
возвращает
OK, в случае
успеха.
Следующие
примеры
удаляют
результат
загрузки
GID#2089b05ecca3d829.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.removeDownloadResult',
... 'params':['2089b05ecca3d829']})
>>> 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
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.removeDownloadResult('2089b05ecca3d829')
'OK'
- aria2.getVersion([secret])
- Этот метод
возвращает
версию aria2 и
список
включенных
возможностей.
Ответ
является
структурой
и содержит
следующие
ключи.
- version
- Номер
версии aria2 в
виде
строки.
- enabledFeatures
- Список
включенных
возможностей.
Каждая
возможность
задаётся в
виде
строки.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.getVersion'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
u'jsonrpc': u'2.0',
u'result': {u'enabledFeatures': [u'Async DNS',
u'BitTorrent',
u'Firefox3 Cookie',
u'GZip',
u'HTTPS',
u'Message Digest',
u'Metalink',
u'XML-RPC'],
u'version': u'1.11.0'}}
Пример
XML-RPC
>>> import xmlrpclib
>>> from pprint import pprint
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> r = s.aria2.getVersion()
>>> pprint(r)
{'enabledFeatures': ['Async DNS',
'BitTorrent',
'Firefox3 Cookie',
'GZip',
'HTTPS',
'Message Digest',
'Metalink',
'XML-RPC'],
'version': '1.11.0'}
- aria2.getSessionInfo([secret])
- Этот метод
возвращает
информацию
о сессии.
Ответ
является
структурой
и содержит
следующие
ключи.
- sessionId
- ID сессии,
которое
генерируется
каждый раз,
при
запуске aria2.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'aria2.getSessionInfo'})
>>> c = urllib2.urlopen('http://localhost:6800/jsonrpc', jsonreq)
>>> pprint(json.loads(c.read()))
{u'id': u'qwer',
u'jsonrpc': u'2.0',
u'result': {u'sessionId': u'cd6a3bc6a1de28eb5bfa181e5f6b916d44af31a9'}}
Пример
XML-RPC
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.aria2.getSessionInfo()
{'sessionId': 'cd6a3bc6a1de28eb5bfa181e5f6b916d44af31a9'}
- aria2.forceShutdown([secret])
- Этот метод
закрывает
aria2. Метод
действует
подобно
aria2.shutdown(), за
исключением
того, что
метод
выполняется
без
выполнения
каких-либо
действий,
которые
требуют
времени,
например
связь с
BitTorrent-трекерами
для отмены
регистрации
загрузок.
Метод
возвращает
OK.
- aria2.saveSession([secret])
- Этот метод
сохраняет
текущею
сессию в
файл,
указанный
в
параметре
--save-session. Метод
возвращает
OK если это
удаётся.
- system.multicall(methods)
- Этот метод
объединяет
несколько
вызовов
методов в
один
запрос. methods
является
массив
структур.
Структуры
содержат
два ключа
поля: methodName и
params. methodName - это
имя
вызываемого
метода, а params -
содержит
параметры
вызова
метода.
Метод
возвращает
массив
ответов.
Элементы
массива
будут
одним из
двух:
массивом
из одного
элемента,
который
содержит
возвращаемое
значение,
для
вызываемого
метода или
структурой
ошибочного
элемента,
если вызов
объединённого
метода
завершился
неудачно.
В
следующих
примерах
мы
добавляем
2 загрузки.
Первая -
http://example.org/file и
вторая -
один файл
file.torrent.
Пример
JSON-RPC
>>> 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'2089b05ecca3d829'], [u'd2703803b52216d1']]}
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'2089b05ecca3d829'},
{u'id': u'asdf', u'jsonrpc': u'2.0', u'result': u'd2703803b52216d1'}]
Пример
XML-RPC
>>> 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', mode='rb').read()))
>>> r = mc()
>>> tuple(r)
('2089b05ecca3d829', 'd2703803b52216d1')
- system.listMethods()
- Этот метод
возвращает
все
доступные
RPC-методы в
массиве
строк. В
отличие от
других
методов,
этот метод
не требует
секретный
маркер. Это
безопасно,
потому что
этот метод
просто
возвращает
названия
доступных
методов.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'system.listMethods'})
>>> 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'aria2.addUri',
u'aria2.addTorrent',
...
Пример
XML-RPC
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.system.listMethods()
['aria2.addUri', 'aria2.addTorrent', ...
- system.listNotifications()
- Этот метод
возвращает
все
доступные
RPC-методы в
массиве
строк. В
отличие от
других
методов,
этот метод
не требует
секретный
маркер. Это
безопасно,
потому что
этот метод
просто
возвращает
названия
доступных
уведомлений.
Пример
JSON-RPC
>>> import urllib2, json
>>> from pprint import pprint
>>> jsonreq = json.dumps({'jsonrpc':'2.0', 'id':'qwer',
... 'method':'system.listNotifications'})
>>> 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'aria2.onDownloadStart',
u'aria2.onDownloadPause',
...
Пример
XML-RPC
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> s.system.listNotifications()
['aria2.onDownloadStart', 'aria2.onDownloadPause', ...
Обработка
ошибок
Через JSON-RPC, aria2
возвращает
JSON-объект,
который
содержит
код ошибки
в code и
сообщение
об ошибке в
message.
Через XML-RPC, aria2
возвращает
faultCode=1 и
сообщение
об ошибке в
faultString.
Параметры
Такие же
параметры,
что
доступны
для --input-file.
Смотрите
подраздел
Входной
файл для
полного
списка
параметров.
В
структуре,
имя
элемента -
это имя
параметра
(без --), а
значение
элемента -
аргумент в
виде
строки.
Пример JSON-RPC
{'split':'1', 'http-proxy':'http://proxy/'}
Пример XML-RPC
<struct>
<member>
<name>split</name>
<value><string>1</string></value>
</member>
<member>
<name>http-proxy</name>
<value><string>http://proxy/</string></value>
</member>
</struct>
Параметры
header и index-out
допускают
нескольких
определений
в
командной
строке.
Поскольку
имя должно
быть
уникальным
в
структуре
(многие
реализации
библиотеки
XML-RPC
используют
хэш или
словарь
для
структуры),
одной
строки
недостаточно.
Для
преодоления
этого
ограничения,
вы можете
использовать
массив в
качестве
значения, а
также
строку.
Пример JSON-RPC
{'header':['Accept-Language: ja', 'Accept-Charset: utf-8']}
Пример XML-RPC
<struct>
<member>
<name>header</name>
<value>
<array>
<data>
<value><string>Accept-Language: ja</string></value>
<value><string>Accept-Charset: utf-8</string></value>
</data>
</array>
</value>
</member>
</struct>
Следующий
пример
добавляет
загрузку с
двумя
параметрами:
dir и header.
Параметр
header требует 2
значения,
поэтому
используется
список:
>>> import xmlrpclib
>>> s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
>>> opts = dict(dir='/tmp',
... header=['Accept-Language: ja',
... 'Accept-Charset: utf-8'])
>>> s.aria2.addUri(['http://example.org/file'], opts)
'1'
JSON-RPC
используя HTTP
GET
JSON-RPC-интерфейс
также
поддерживает
запросы
через HTTP GET.
Схема
кодирования
в GET
параметров
основанных
на 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('2089b05ecca3d829') с id='foo'
выглядит
так:
/jsonrpc?method=aria2.tellStatus&id=foo¶ms=WyIyMDg5YjA1ZWNjYTNkODI5Il0%3D
Параметр
params - это
JSON-массив в
Base64-кодировке,
который
обычно
появляется
в атрибуте
params в
JSON-RPC-запросе
объекта. В
примере
выше, params -
["2089b05ecca3d829"],
следовательно:
["2089b05ecca3d829"] --(Base64)--> WyIyMDg5YjA1ZWNjYTNkODI5Il0=
--(Кодирование процентом)--> WyIyMDg5YjA1ZWNjYTNkODI5Il0%3D
JSON-RPC-интерфейс
также
поддерживает
JSONP. Вы можете
определить
функцию
обратного
вызова в
параметре
jsoncallback:
/jsonrpc?method=aria2.tellStatus&id=foo¶ms=WyIyMDg5YjA1ZWNjYTNkODI5Il0%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-сервер
может
отправлять
уведомления
клиенту.
Уведомления
являются
однонаправленными,
поэтому
клиент,
который
получает
уведомление,
не должен
отвечать
на него.
Метод
сигнатуры
уведомления
такой же,
как
нормальный
запрос
метода, но
отсутствует
ключ id.
Значение,
связанное
с ключом params,
является
данными,
которые
переносит
это
уведомление.
Формат
этого
значения
варьируется
в
зависимости
от метода
уведомления.
Определены
следующие
методы
уведомления.
- aria2.onDownloadStart(event)
- Это
уведомление
будет
оправлено,
когда
загрузка
запущена.
Параметр
event имеет
тип
структура
и содержит
следующие
ключи. Ключ
имеет тип
строка.
- aria2.onDownloadPause(event)
- Это
уведомление
будет
оправлено,
когда
загрузка
приостановлена.
event - такая же
структура,
как
параметр
event в методе
aria2.onDownloadStart().
- aria2.onDownloadStop(event)
- Это
уведомление
будет
оправлено,
когда
загрузка
остановлена
пользователем.
event - такая же
структура,
как
параметр
event в методе
aria2.onDownloadStart().
- aria2.onDownloadComplete(event)
- Это
уведомление
будет
оправлено,
когда
загрузка
завершена.
Для
BitTorrent-загрузок,
это
уведомление
отправляется,
когда
загрузка
завершена
и
сидирование
окончено.
event - такая же
структура,
как
параметр
event в методе
aria2.onDownloadStart().
- aria2.onDownloadError(event)
- Это
уведомление
будет
оправлено,
когда
загрузка
остановлена
из-за
ошибки. event -
такая же
структура,
как
параметр
event в методе
aria2.onDownloadStart().
- aria2.onBtDownloadComplete(event)
- Это
уведомление
будет
оправлено,
когда
torrent-загрузка
завершена,
но
сидирование
продолжается.
event - такая же
структура,
как
параметр
event в методе
aria2.onDownloadStart().
Пример
кода
XML-RPC-клиента
Следующий
Ruby-скрипт
добавляет
http://localhost/aria2.tar.bz2 в aria2c
(работает
на localhost) с
параметром
--dir=/downloads, и
отображает
RPC-ответ:
#!/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
использует
xmlrpc.client) для
взаимодействия
с aria2:
import xmlrpclib
from pprint import pprint
s = xmlrpclib.ServerProxy("http://localhost:6800/rpc")
r = s.aria2.addUri(["http://localhost/aria2.tar.bz2"], {"dir":"/downloads"})
pprint(r)
ПРИМЕРЫ
Сегментированные
HTTP/FTP-загрузки
Загрузка
файла
$ aria2c "http://host/file.zip"
ПРИМЕЧАНИЕ:
Для
остановки
загрузки,
нажмите Ctrl-C.
Вы можете
возобновить
передачу,
запустив aria2c
с теми же
аргументами
в том же
каталоге.
Вы можете
изменить URI,
если они
указывают
на тот же
самый
файл.
Загрузка
файла с 2-ух
разных
HTTP-серверов
$ aria2c "http://host/file.zip" "http://mirror/file.zip"
Загрузка
файла с
одно хоста,
используя
множественные
соединения
$ aria2c -x2 -k1M "http://host/file.zip"
ПРИМЕЧАНИЕ:
Параметр
-x указывает
количество
разрешённых
соединений,
в то время
как
параметр -k
указывает
размер
частей
данных.
Загрузка
файла с HTTP- и
FTP-серверов
одновременно
$ aria2c "http://host1/file.zip" "ftp://host2/file.zip"
Одновременная
загрузка
файлов,
перечисленных
в
текстовом
файле
ПРИМЕЧАНИЕ:
Параметр
-j указывает
количество
параллельных
загрузок.
Использование
прокси-сервера
Для HTTP:
$ aria2c --http-proxy="http://proxy:8080" "http://host/file"
$ aria2c --http-proxy="http://proxy:8080" --no-proxy="localhost,127.0.0.1,192.168.0.0/16" "http://host/file"
Для FTP:
$ aria2c --ftp-proxy="http://proxy:8080" "ftp://host/file"
ПРИМЕЧАНИЕ:
Смотрите
для
подробностей
--http-proxy, --https-proxy, --ftp-proxy,
--all-proxy и --no-proxy. Вы
можете
указать
прокси в
переменных
окружения.
Смотрите
раздел
ОКРУЖЕНИЕ.
Использование
прокси-сервера
с
авторизацией
$ aria2c --http-proxy="http://username:password@proxy:8080" "http://host/file"
$ aria2c --http-proxy="http://proxy:8080" --http-proxy-user="username" --http-proxy-passwd="password" "http://host/file"
Загрузка
файлов с
удаленного
Metalink
$ aria2c --follow-metalink=mem "http://host/file.metalink"
Загрузка,
используя
локальный
metalink-файл
$ aria2c -p --lowest-speed-limit=4000 file.metalink
ПРИМЕЧАНИЕ:
Для
остановки
загрузки,
нажмите Ctrl-C.
Вы можете
возобновить
передачу,
запустив aria2c
с теми же
аргументами
в том же
каталоге.
Загрузка
нескольких
локальных
metalink-файлов
$ aria2c -j2 file1.metalink file2.metalink
Загрузка
только
выбранных
файлов
$ aria2c --select-file=1-4,8 file.metalink
ПРИМЕЧАНИЕ:
Индекс
выводится
на консоль
при
использовании
параметра
-S.
Загрузка
файла,
используя
локальный
metalink-файл с
пользовательскими
настройками
$ aria2c --metalink-location=jp,us --metalink-version=1.1 --metalink-language=en-US file.metalink
Загрузка
файлов,
используя
удалённый
BitTorrent-файл
$ aria2c --follow-torrent=mem "http://host/file.torrent"
Загрузка,
используя
локальный
torrent-файл
$ aria2c --max-upload-limit=40K file.torrent
ПРИМЕЧАНИЕ:
--max-upload-limit
определяет
максимальную
скорость
отдачи.
ПРИМЕЧАНИЕ:
Для
остановки
загрузки,
нажмите Ctrl-C.
Вы можете
возобновить
передачу,
запустив aria2c
с теми же
аргументами
в том же
каталоге.
Загрузка,
используя
BitTorrent Magnet URI
$ aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"
ПРИМЕЧАНИЕ:
Не
забывайте
заключать
BitTorrent Magnet URI, в
которых
есть
символы &,
в
одиночные(')
или
двойные(")
кавычки,
когда
указывайте
URI в
командной
строке.
Загрузка
2-х
торрентов
$ aria2c -j2 file1.torrent file2.torrent
Параллельная
загрузка
файла
посредством
торрента и
HTTP/FTP-сервера
$ aria2c -Ttest.torrent "http://host1/file" "ftp://host2/file"
Загрузка
только
определённых
файлов
(обычно
называют
выборочная
загрузка )
$ aria2c --select-file=1-4,8 file.torrent
ПРИМЕЧАНИЕ:
Индекс
выводится
на консоль
при
использовании
параметра
-S.
Загрузка
torrent-файла, без
загрузки
торрента
$ aria2c --follow-torrent=false "http://host/file.torrent"
Указание
имени
выходного
файла
Для
указания
выходного
имени
файла в
BitTorrent-загрузках,
вам нужно
узнать
индекс
файла в
торренте
(см.: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',
при
использовании
следующей
команды:
$ aria2c --dir=/tmp --index-out=1=mydir/base.iso --index-out=2=dir/driver.iso file.torrent
Изменение
прослушиваемого
порта для
входящих
соединений
пиров
$ aria2c --listen-port=7000-7001,8000 file.torrent
ПРИМЕЧАНИЕ:
Т.к. aria2 не
настраивает
брандмауэры
или
маршрутизаторы
для
перенаправления
портов, вам
решать, как
это
сделать
вручную.
Указать
условие
остановки
сидирования
после
завершения
загрузки
торрента
$ aria2c --seed-time=120 --seed-ratio=1.0 file.torrent
ПРИМЕЧАНИЕ:
В
приведенном
выше
примере,
сидирование
завершается
через 120
минут
после
завершения
загрузки
или при
достижении
рейтинга
сидирования
1.0.
Регулировка
скорости
отдачи
$ aria2c --max-upload-limit=100K file.torrent
Включить
IPv4 DHT
$ aria2c --enable-dht --dht-listen-port=6881 file.torrent
ПРИМЕЧАНИЕ:
DHT
использует
UDP. Так как aria2 не
настраивает
брандмауэр
или
маршрутизатор
для
перенаправления
портов, вам
решать, как
это
сделать
вручную.
Включить
IPv6 DHT
$ aria2c --enable-dht6 --dht-listen-port=6881 --dht-listen-addr6=YOUR_GLOBAL_UNICAST_IPV6_ADDR
ПРИМЕЧАНИЕ:
aria2
использует
те же порты
для IPv4 и IPv6 DHT.
Добавить
и удалить URI
трекера
Игнорировать
все URI
анонса
трекеров,
определенные
в file.torrent и
взамен
использовать
http://tracker1/announce и
http://tracker2/announce:
$ aria2c --bt-exclude-tracker="*"
--bt-tracker="http://tracker1/announce,http://tracker2/announce"
file.torrent
Больше
расширенных
возможностей
для HTTP
Загрузить
куки
$ aria2c --load-cookies=cookies.txt "http://host/file.zip"
ПРИМЕЧАНИЕ:
Вы
можете
использовать
без
изменения
cookie-файлы
Firefox/Mozilla/Chromium.
Возобновление
загрузки,
которая
начата в
браузере
или других
программах
$ aria2c -c -s2 "http://host/partiallydownloadedfile.zip"
ПРИМЕЧАНИЕ:
Это
будет
работать
только
тогда,
когда
начальная
загрузка
не была
многосегментной.
Клиентский
сертификат
авторизации
для SSL/TLS
Указать
PKCS12-файл
следующим
образом:
$ aria2c --certificate=/path/to/mycert.p12
ПРИМЕЧАНИЕ:
Указанный
в --certificate файл
должен
содержать
один
PKCS12-закодированный
сертификат
и ключ.
Пароль
должен
быть
пустым.
В
качестве
альтернативы,
если
PEM-файлы
поддерживаются,
использовать
следующую
команду:
$ aria2c --certificate=/path/to/mycert.pem --private-key=/path/to/mykey.pem https://host/file
ПРИМЕЧАНИЕ:
Указанный
в --private-key файл
должен
быть
расшифрован.
Режим
работы с
исходно
зашифрованным
закрытым
ключом не
определен.
Проверить
SSL/TLS-серверы,
используя
исходные
CA-сертификаты
$ aria2c --ca-certificate=/path/to/ca-certificates.crt --check-certificate https://host/file
ПРИМЕЧАНИЕ:
Эта
возможность
доступна
только
если aria2 была
скомпилирована
с GnuTLS или OpenSSL. WinTLS и AppleTLS
всегда
будет
использовать
хранилище
сертификатов
системы.
Вместо --ca-certificate
установите
сертификат
в это
хранилище.
Шифрование
RPC-трафика с
использованием
SSL/TLS
Указать
PKC12-файл
сервера:
$ aria2c --enable-rpc --rpc-certificate=/path/to/server.p12 --rpc-secure
ПРИМЕЧАНИЕ:
Указанный
в --rpc-certificate файл
должен
содержать
один
PKCS12-закодированный
сертификат
и ключ.
Пароль
должен
быть
пустым.
В
качестве
альтернативы,
когда
PEM-файлы
поддерживаются
(GnuTLS и OpenSSL),
указать
файл с
сертификатом
сервера и
файл с
закрытым
ключом
следующим
образом:
$ aria2c --enable-rpc --rpc-certificate=/path/to/server.crt --rpc-private-key=/path/to/server.key --rpc-secure
И ещё
больше
расширенных
возможностей
Регулировка
скорости
загрузки
Одной
загрузки:
$ aria2c --max-download-limit=100K file.metalink
Общая:
$ aria2c --max-overall-download-limit=100K file.metalink
Исправить
поврежденную
загрузку
$ aria2c -V file.metalink
ПРИМЕЧАНИЕ:
При
использовании
BitTorrent или Metalink с
контрольными
суммами
блоков
данных
можно
эффективно
исправлять
поврежденные
загрузки.
Отклонить
соединения,
если
скорость
загрузки
ниже
указанного
предела
$ aria2c --lowest-speed-limit=10K file.metalink
Поддержка
параметризованных
URI
Вы можете
определить
набор
частей:
$ aria2c -P "http://{host1,host2,host3}/file.iso"
Вы можете
определить
числовую
последовательность:
$ aria2c -Z -P "http://host/image[000-100].png"
ПРИМЕЧАНИЕ:
Параметр
-Z необходим,
если все URI не
указывают
на один и
тот же файл,
как в
примере
указанном
выше.
Вы можете
определить
шаг
счетчика:
$ aria2c -Z -P "http://host/image[A-Z:2].png"
Проверка
контрольных
сумм
$ aria2c --checksum=sha-1=0192ba11326fe2298c8cb4de616f4d4140213837 http://example.org/file
Параллельные
загрузки с
произвольным
числом URI, metalink, torrent
$ aria2c -j3 -Z "http://host/file1" file2.torrent file3.metalink
Шифрование
BitTorrent
Шифровать
всю
полезную
нагрузку
используя
ARC4
(обфускация):
$ aria2c --bt-min-crypto-level=arc4 --bt-require-crypto=true file.torrent
АВТОРСКОЕ
ПРАВО
Авторское
право (C) 2006, 2015 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. Если вы
измените
файл(ы) с
этим
исключением,
вы можете
расширить
это
исключение
для вашей
версии
файла(ов), но
вы не
обязаны
делать это.
Если вы не
хотите
сделать
это,
удалите
это
заявление
об
исключении
из вашей
версии.
Если вы
удалите
это
заявление
об
исключении
из всех
исходных
файлов в
программе,
то удалить
его и
здесь.