Add readme

This commit is contained in:
2025-08-01 10:07:51 +03:00
parent 79a3e84e57
commit 7164516211

50
README.md Normal file
View File

@@ -0,0 +1,50 @@
# Image Downloader
**Учебный проект** - консольная утилита для скачивания изображений по URL-адресам.
## Описание
Программа позволяет скачивать изображения из списка URL-адресов с поддержкой:
- Параллельной загрузки (настраиваемое количество потоков)
- Ограничения скорости загрузки (rate limiting)
- Повторных попыток при ошибках
- Автоматического определения расширения файла по Content-Type
- Чтения URL-адресов из файла или stdin
## Использование
```bash
go run main.go [OPTIONS] [input-file|-] <output-dir>
```
### Параметры
- `-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-клиентами.*