Aria2 (Русский)
С домашней страницы проекта:
- aria2 - это легкая мультипротокольная и многопоточная консольная утилита. Она поддерживает HTTP/HTTPS, FTP, BitTorrent и Metalink. aria2 можно управлять с помощью встроенных интерфейсов JSON-RPC и XML-RPC.
Contents
Установка
Установите 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
Детали опций
-
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. Подробнее о возможных параметрах и рекомендациях.
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
.
Пример 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 минут.
Пример 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
Интерфейс
Веб-интерфейсы
- YaaW — Yet это Aria2 веб-интерфейс на чистом HTML/CSS/Javascirpt.
- Webui — Html фронтэнд для aria2.
- aria2rpc — Инструмент командной строки для подключения к удаленному экземпляру
aria2c
. Еслиaria2c
установлена его можно найти в/usr/share/doc/aria2/xmlrpc/aria2rpc
.
Другие интерфейсы
- aria2fe — Графический интерфейс CLI-based утилиты загрузок aria2.
- Diana — Инструмент командной строки для aria2
- 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 менеджера загрузок.
- uGet — Многофункциональный, многопоточный, с поддержкой докачки GTK+/CLI менеджер загрузок, который может использовать aria2 как бэкэнд, встроенный плагин.
- 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 при загрузке системы
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') [...].
Смотрите также
- Руководство - Официальное руководство aria2 на Русском
- aria2 - Официальный сайт
- aria2 usage examples - Official site
- aria2c downloader through VPN tunnel - Unofficial site