# Aria2 (Русский)

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

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

  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

### Пример .bash_alias (псевдонимов Bash)

    alias down='aria2c --conf-path=${HOME}/.aria2/aria2.conf'
    alias rapid='aria2c --conf-path=/file/aria2.rapidshare'

### Пример 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

Примечание: The example aria2.conf above may incorrectly use the $HOME variable. Some users have reported the curly brace syntax to explicitly create a separate ${HOME} subdirectory in the aria2 working directory. Such a directory may be difficult to traverse as bash will consider it to be the $HOME environment variable. For now, it is recommended to use absolute path names in aria2.conf.

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

`continue`
  Продолжить загрузку частично загруженного файла.
`dir=${HOME}/Desktop`
  Каталог для сохранения загруженных файлов `~/Desktop`.
`file-allocation=none`
  Указать метод резервирования места для файла. none - не происходит предварительное резервирование места для файла. prealloc - предварительное резервирование места для файла перед началом загрузки. (По умолчанию: prealloc) 1
`input-file=${HOME}/.aria2/input.conf`
  Скачать список построчно, или разделённых TAB'ом URI, найденных в `$XDG_CONFIG_HOME/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` и страницу man 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(). (По умолчанию: 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 для загрузок.

- YaaW — Yet это Aria2 веб-интерфейс на чистом HTML/CSS/Javascirpt.

  https://github.com/binux/yaaw || yaaw-gitAUR

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

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

- 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.

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

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

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

- downloadm — Загрузки ускоритель/менеджер использующий aria2c как бакэнд.

  http://sourceforge.net/projects/downloadm/ || downloadmAUR[ссылка недействительна: сохранено в aur-mirror]

- eatmonkey — Менеджер загрузок для Xfce, который работает с aria2.

  http://goodies.xfce.org/projects/applications/eatmonkey || eatmonkeyAUR[ссылка недействительна: сохранено в aur-mirror]

- karia2 — QT4 интерфейс для aria2 менеджера загрузок.

  http://sourceforge.net/projects/karia2/ || karia2-svnAUR

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

  http://ugetdm.com || uget

- yaner — GTK+ интерфейс для менеджера загрузок aria2.

  http://iven.github.com/Yaner || yaner-gitAUR[ссылка недействительна: сохранено в aur-mirror]

Это удобно для добавления функции монитора на основе diana в файле настроек оболочки:

    da(){
    watch -ctn 1 "(echo -e '\033[32mGID\t\t Name\t\t\t\t\t\t\t%\tDown\tSize\tSpeed\tUp\tS/L\tTime\033[36m'; \
    diana list| cut -c -112; echo -e '\033[37m'; diana stats)"
    }

## Советы и хитрости

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

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

     # pacman -Sp packages | aria2c -i -

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

### pacman XferCommand

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

### Минимальная пользовательская сборка

Можно получить выгоду в производительности, путем удаления неиспользуемых функций и протоколов. Дальнейшее повышение может быть достигнуто путем удаления поддержки внешних библиотек в пользовательской сборке. Доступные варианты видны через `./configure --help`. Смотрите страницу сисетму сборки Arch для более подробной информации.

### Запуск aria2c при загрузке системы

Правильность информации, представленной в этой статье или разделе, оспаривается

Причина: Possible "failed to bind errors" indicate towards a race condition, requires/after and similar should be updated accordingly (обсуждение: Talk:Aria2 (Русский)#)

Save the following systemd service file, adjust username and config path according to your setup. Ensure your config is set to deamonize (use `daemon=true`).

    /etc/systemd/system/aria2c.service

    [Unit]
    Description=Aria2c download manager
    After=network.target

    [Service]
    User=aria2
    Type=forking
    ExecStart=/usr/bin/aria2c --conf-path=/home/aria2/.aria2/aria2.daemon

    [Install]
    WantedBy=multi-user.target

Then start and/or enable the service.

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

Некоторые сайты могут фильтровать запросы на основе вашего User Agent, Aria2 не известный загрузчик, но он может использовать известные загрузчики или представляться браузером. Просто используйте опцию -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 -z %u %o'
              'scp::/usr/bin/scp -C %u %o')
    [...]

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

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

- Руководство - Официальное руководство aria2 на Русском
- aria2 - Официальный сайт
- aria2 usage examples - Official site
- aria2c downloader through VPN tunnel - Unofficial site

Categories:

- Internet applications (Русский)
- Русский

Hidden category:

- Pages with broken package links