aria2 — лёгкая кроссплатформенная консольная утилита для загрузки файлов по сети, разработанная с упором на простоту, расширяемость и высокую скорость. Программа поддерживает несколько сетевых протоколов и форматов метаданных, позволяя выполнять одиночные и параллельные загрузки из различных источников. aria2 разрабатывается как свободное программное обеспечение и используется как в интерактивных сценариях в терминале, так и в автоматизированных средах через удалённое управление.
Первоначально созданная как удобный инструмент командной строки, утилита сочетает в себе возможности многопоточной загрузки и объединения нескольких источников для повышения пропускной способности. Программа предоставляет интерфейсы управления через JSON-RPC и XML-RPC, что делает возможной интеграцию с графическими оболочками, скриптами и серверными приложениями. Конфигурация и параметры запуска обеспечивают гибкость настройки поведения при различной пропускной способности и требованиях к надёжности.
- Поддерживаемые протоколы: HTTP и HTTPS для обычного скачивания, FTP для доступа к файловым серверам, SFTP для защищённых соединений и BitTorrent для распределённой передачи файлов.
- Metalink: обработка Metalink-файлов для получения списка зеркал, контрольных сумм и метаданных загрузки.
- Многопоточность: возможность распараллеливания одной загрузки на несколько соединений для увеличения скорости получения данных.
- Объединение источников: скачивание отдельных частей файла одновременно с нескольких серверов или пиринговых источников (например, HTTP + BitTorrent).
- Удалённое управление: команды управления через JSON-RPC и XML-RPC для приёма задач, мониторинга и управления загрузками из внешних приложений.
- Работа в фоне: запуск в виде демона или фонового процесса без графического интерфейса, подходящий для серверных и встроенных сред.
- Настраиваемость: широкий набор опций конфигурации для управления ограничениями скорости, количеством соединений, политиками повторных попыток и именованием файлов.
- Интеграция с системами: совместимость с оболочками, диспетчерами загрузок и графическими фронтендами через протоколы управления и стандартизованные форматы заданий.
- Устойчивость к сбоям: поддержка докачки прерванных загрузок и возобновления передач при восстановлении соединения.
- Лёгковесность: минимальные требования к ресурсам и отсутствие зависимостей от графических библиотек, что облегчает использование в различных средах.