aria2 (Русский) - ArchWiki

Jump to content
From ArchWiki

Состояние перевода: На этой странице представлен перевод статьи Aria2. Дата последней синхронизации: 7 декабря 2017. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

С домашней страницы проекта:

  aria2 - это легкая мультипротокольная и многопоточная консольная утилита загрузки. Она поддерживает HTTP/HTTPS, FTP, BitTorrent и Metalink. aria2 можно управлять с помощью встроенных интерфейсов JSON-RPC и XML-RPC.

## Установка

Установите aria2 из официальных репозиториев.

Также можете поставить aria2-systemd для использования aria2 в качестве демона.

Примечание: Для запуска пакета aria2 используется команда `aria2c`. Данное наименование было сохранено для обратной совместимости.

## Настройка

### aria2.conf

aria2 использует файл `$XDG_CONFIG_HOME/aria2/aria2.conf` для установки глобальных параметров по умолчанию. Это поведение может быть изменено переключателем `--conf-path`:

- Скачайте `aria2.example.rar` используя параметры, указанные в файле настроек `/file/aria2.rapidshare`

    $ aria2c --conf-path=/file/aria2.rapidshare http://rapidshare.com/files/12345678/aria2.example.rar

Если существует `$XDG_CONFIG_HOME/aria2/aria2.conf` и параметры, указанные в `/file/aria2.rapidshare` нужны, то переключатель `--no-conf` должен быть добавлен к команде:

- Не использовать файл настроек по умолчанию и скачать `aria2.example.rar`, используя параметры, указанные в файле настроек `/file/aria2.rapidshare`

    $ aria2c --no-conf --conf-path=/file/aria2.rapidshare http://rapidshare.com/files/12345678/aria2.example.rar

Если `$XDG_CONFIG_HOME/aria2/aria2.conf` пока не существует, и вы хотите упростить управление параметрами настроек:

    $ touch $XDG_CONFIG_HOME/aria2/aria2.conf

### Пример aria2.conf

    continue
    dir=${HOME}/Desktop
    file-allocation=none
    input-file=${HOME}/.aria2/input.conf
    log-level=warn
    max-connection-per-server=4
    min-split-size=5M
    on-download-complete=exit

Это по существу тоже самое, что и при выполнении:

    $ aria2c dir=${HOME}/Desktop file-allocation=none input-file=${HOME}/.aria2/input.conf on-download-complete=exit log-level=warn FILE

Примечание: Пример файла aria2.conf, приведенный выше, может неверно использовать переменную $HOME. Некоторые пользователи сообщали о том, что использование фигурных скобок приводит к созданию отдельной поддиректории ${HOME} в рабочем каталоге aria2. Такую директорию может быть сложно обработать, так как bash будет принимать ее за переменную окружения $HOME. В текущий момент рекомендуется использовать абсолютные пути в aria2.conf.

#### Детали опций

`continue`
  Продолжить загрузку частично загруженного файла, если существует соответствующий файл управления.
`dir=${HOME}/Desktop`
  Каталог для сохранения загруженных файлов `~/Desktop`.
`file-allocation=none`
  Указать метод резервирования места для файла. none - не происходит предварительное резервирование места для файла. prealloc - предварительное резервирование места для файла перед началом загрузки. (По умолчанию: prealloc) 1
`input-file=${HOME}/.aria2/input.conf`
  Скачать список построчно, или разделённых TAB'ом URI, найденных в `./aria2/input.conf`
`log-level=warn`
  Задать уровень вывода событий на консоль. warn - только для вывода предупреждений и ошибок (По умолчанию: debug)
`max-connection-per-server=4`
  Максимально количество соединений (4) с одним сервером для каждой загрузки. (По умолчанию: 1)
`min-split-size=5M`
  Разбить файл, только если размер больше, чем 2*5MB = 10MB. (По умолчанию: 20M)
`on-download-complete=exit`
  Выполнить команду `exit` и выйти из оболочки, когда сессия загрузки завершена.

##### Пример входного файла #1

- Загрузка `aria2-1.10.0.tar.bz2` из двух отдельных источников, до соединения в `~/Desktop` `aria2-1.10.0.tar.bz2`

    http://aria2.net/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2    http://sourceforge.net/projects/aria2/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2

##### Пример входного файла #2

- Загрузить `aria2-1.9.5.tar.bz2` и сохранить в `/file/old` как `aria2.old.tar.bz2` &
- Загрузить `aria2-1.10.0.tar.bz2` и сохранить в `~/Desktop` как `aria2.new.tar.bz2`

    http://aria2.net/files/stable/aria2-1.9.5/aria2-1.9.5.tar.bz2
      dir=/file/old
      out=aria2.old.tar.bz2
    http://aria2.net/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2
      out=aria2.new.tar.bz2

#### Дополнительные замечания

1 `--file-allocation=falloc`
  Рекомендуется для новых файловых систем, таких как ext4 (с поддержкой экстентов), btrfs или xfs, потому что он выделяет большие файлы (ГБ) практически мгновенно. Не используйте falloc с устаревшими файловыми системами, такими как ext3, так как prealloc потребляет примерно такое же количество времени как и стандартное распределение, возможна блокировка процессов загрузки aria2.

Совет: Для ознакомления с полным перечнем опций настройки смотрите `aria2c --help=#all` и страницу документации aria2.

### Пример aria2.rapidshare

    http-user=USER_NAME
    http-passwd=PASSWORD
    allow-overwrite=true
    dir=/file/Downloads
    file-allocation=falloc
    enable-http-pipelining=true
    input-file=/file/input.rapidshare
    log-level=error
    max-connection-per-server=2
    summary-interval=120

#### Описание опций

`http-user=USER_NAME`
  Устанавливает HTTP имя пользователя как USER_NAME для входа в систему защищённую паролем. Это влияет на все URIs.
`http-passwd=PASSWORD`
  Устанавливает HTTP Пароль как PASSWORD для входа в систему защищённую паролем. Это влияет на все URIs.
`allow-overwrite=true`
  Удалять контрольный файл перед загрузкой. При использовании с --allow-overwrite=true файл всегда загружается с нуля. Это может понадобиться пользователям за прокси-сервером, который блокирует возобновление загрузки. (По умолчанию: false)
`dir=/file/Downloads`
  Загружать файл(ы) в `/file/Downloads`.
`file-allocation=falloc`
  Указать метод резервирования места для файла posix_fallocate(3). (По умолчанию: prealloc)
`enable-http-pipelining=true`
  Включить HTTP/1.1 конвейерную обработку чтобы преодолеть задержки в сети и уменьшить нагрузку на сеть. (По умолчанию: false)
`input-file=/file/input.rapidshare`
  Загрузить URI, перечисленные в файле input.rapidshare. Вы можете указать различные источники для одного объекта, перечислив различные URI в строке, разделенных символом TAB (табуляция). Дополнительные параметры можно указывать после каждой URI-строки. Cтроки параметров должны начинаться с одного или нескольких пробелов (SPACE или TAB) и содержать один параметр на строку. `/file/input.rapidshare`
`log-level=error`
  Задать уровень вывода журнала событий.В данном случае вывод только ошибок. (По умолчанию: debug)
`max-connection-per-server=2`
  Максимально количество соединений с одним сервером для каждой загрузки 2. (По умолчанию: 1)
`summary-interval=120`
  Задать интервал в секундах (120) до вывода сообщения о прогрессе загрузки. Установка 0 запрещает вывод. (По умолчанию: 60) 3

#### Дополнительные замечания

- Так как файл `aria2.rapidshare` содержит имя пользователя и пароль, рекомендуется установить права на файл 600, или аналогичные.

    $ cd /file
    $ chmod 600 /file/aria2.rapidshare
    $ ls -l
    total 128M
    -rw------- 1 arch users  167 Aug 20 00:00 aria2.rapidshare

3 `summary-interval=0`
  Подавляет ход процесса загрузки и может улучшить общую производительность. Журнал будет продолжать выводиться в соответствии со значениями, указанными в опции журнала уровней `log-level`.

Совет: Пример файла настройки также может быть применён к Hotfile, DepositFiles, и т.д. и т.п.
Примечание: Параметры командной строки всегда имеют преимущество перед параметрами, перечисленных в файле настроек.

### Пример aria2.bittorrent

    bt-seed-unverified
    max-overall-upload-limit=1M
    max-upload-limit=128K
    seed-ratio=5.0
    seed-time=240

#### Описание опций

`bt-seed-unverified=false`
  Не проверять хеш файла (ов), перед раздачей. (По умолчанию: true)
`max-overall-upload-limit=1M`
  Установить максимальную скорость загрузки в 1MB/сек. (По умолчанию: 0)
`max-upload-limit=128K`
  Задать максимальную скорость отдачи каждого узла торрента в 128K/сек. (По умолчанию: 0)
`seed-ratio=5.0`
  Указать рейтинг. Сидировать завершенные торренты, пока рейтинг не станет больше 5.0. (По умолчанию: 1.0)
`seed-time=240`
  Указать время сидирования (раздачи) 240 минут.

Примечание: Если оба `seed-ratio` и `seed-time` указаны, сидирование заканчивается, когда по крайней мере одно из условий выполнено.

### Пример aria2.daemon

Эта настройка может быть использована для запуска Aria2 в качестве службы. Также может использоваться в сочетании с несколькими интерфейсами, перечисленными ниже. Обратите внимание, что RPC-пользователя и rpc-pass устарели, но большинство интерфейсов не были ещё портированы на новую аутентификацию. Не забудьте изменить пароль пользователя, и каталог Загрузки.

    continue
    daemon=true
    dir=/home/aria2/Downloads
    file-allocation=falloc
    log-level=warn
    max-connection-per-server=4
    max-concurrent-downloads=3
    max-overall-download-limit=0
    min-split-size=5M
    enable-http-pipelining=true

    enable-rpc=true
    rpc-listen-all=true
    rpc-user=rpcuser
    rpc-passwd=rpcpass

## Интерфейс

Примечание: Настройки осуществляемые во фронтэндах не влияют на собственные настройки `aria2`, и неясно, повторяют ли различные интерфейсы настройку `aria2`, если обычная была сделана. Пользователи должны гарантировать, что их желаемые параметры эффективно реализуется в рамках отдельных утилит, и что они хранятся постоянно (Uget, например, имеет командную строку своего собственного `aria2`, который сохраняется после перезагрузки)

### Веб-интерфейсы

Примечание: Для работы этих фронтэндов, `aria2c` нужно запускать с `--enable-rpc`. Они предназначены для работы на локальном компьютере, а не на удаленном сервере, используя aria для загрузок.

- Webui — Html фронтэнд для aria2.

  https://github.com/ziahamza/webui-aria2 || webui-aria2-gitAUR

- aria2rpc — Инструмент командной строки для подключения к удаленному экземпляру `aria2c`. Если `aria2c` установлена его можно найти в `/usr/share/doc/aria2/xmlrpc/aria2rpc`.

  https://github.com/tatsuhiro-t/aria2/blob/master/doc/xmlrpc/aria2rpc || aria2

### Другие интерфейсы

Примечание: Эти фронтэнды не нужны `aria2c` для запуска с функцией `--enable-rpc`.

- aria2fe — Графический интерфейс CLI-based утилиты загрузок aria2.

  https://sourceforge.net/projects/aria2fe/ || aria2feAUR

- Diana — Инструмент командной строки для aria2

  https://github.com/baskerville/diana || diana-gitAUR

- uGet — Многофункциональный, многопоточный, с поддержкой докачки GTK+/CLI менеджер загрузок, который может использовать aria2 как бэкэнд, встроенный плагин.

  https://ugetdm.com || uget

## Советы и рекомендации

### Скачать пакеты без установки

Просто воспользуйтесь командой, приведенной ниже:

     # pacman -Sp packages | aria2c -i -

`pacman -Sp` покажет список адресов пакетов в стандартном выводе (stdout) вместо того, чтобы загрузить, затем `|` передаст их для следующей команды. И, наконец `-i` в `aria2c -i -` скажет aria2c, что URL-адреса для скачиваемых файлов должны быть считаны из указанного файла, но так как добавлен `-`, значит URL-адреса нужно брать из стандартного ввода (stdin).

### pacman XferCommand

Смотрите pacman/Советы и приёмы#aria2.

### Изменение User Agent

Некоторые сайты могут фильтровать запросы на основе вашего User Agent, поскольку Aria2 малоизвестный загрузчик, может оказаться полезным изменить User Agent, представляясь известным загрузчиком или браузером. Просто используйте опцию -U, как здесь:

    $ aria2c -UWget http://some-url-to-download/file.xyz

Вы можете использовать все, что пожелаете, например -UMozilla/5.0 и т.д.

### Использование Aria2 с makepkg

Вы можете использовать Aria2 (Русский) вместо curl для скачивания файлов-исходников, просто измените переменную `DLAGENTS` следующим образом:

    /etc/makepkg.conf

    [...]
    DLAGENTS=('ftp::/usr/bin/aria2c -UWget -s4 %u -o %o'
              'http::/usr/bin/aria2c -UWget -s4 %u -o %o'
              'https::/usr/bin/aria2c -UWget -s4 %u -o %o'
              'rsync::/usr/bin/rsync --no-motd -z %u %o'
              'scp::/usr/bin/scp -C %u %o')
    [...]

Примечание: Используйте параметр `-UWget` для изменения пользовательского агента на Wget. Это может предотвратить проблемы при загрузке с сайтов, которые фильтрует запросы, основанные на агенте пользователя (user agent), чтобы избежать проблемы доступа к URL-адресу. Поскольку Aria2 малоизвестный загрузчик, он может быть ошибочно распознан как браузер. Изменение пользовательского агента на Wget может решить большинство проблем.

## Смотрите также

- Руководство - Официальное руководство aria2 на Русском
- Примеры использования - официальный сайт

Categories:

- Download utilities (Русский)
- BitTorrent (Русский)