# Image Downloader **Учебный проект** - консольная утилита для скачивания изображений по URL-адресам. ## Описание Программа позволяет скачивать изображения из списка URL-адресов с поддержкой: - Параллельной загрузки (настраиваемое количество потоков) - Ограничения скорости загрузки (rate limiting) - Повторных попыток при ошибках - Автоматического определения расширения файла по Content-Type - Чтения URL-адресов из файла или stdin ## Использование ```bash go run main.go [OPTIONS] [input-file|-] ``` ### Параметры - `-t duration` - таймаут запроса (по умолчанию 60s) - `-r int` - количество попыток загрузки (по умолчанию 5) - `-j int` - количество параллельных загрузок (по умолчанию 5) - `-rate float` - максимальное количество загрузок в секунду (0 = без ограничений) ### Примеры ```bash # Скачать изображения из файла в папку images go run main.go urls.txt images/ # Скачать из stdin с ограничением в 2 загрузки в секунду cat urls.txt | go run main.go -rate 2 -j 3 - downloads/ ``` ## Сборка ```bash go build -o imgdownloader main.go ``` ## Зависимости - Go 1.24.3+ - golang.org/x/time (для rate limiting) --- *Это учебный проект для изучения Go и работы с HTTP-клиентами.*