Add readme
This commit is contained in:
50
README.md
Normal file
50
README.md
Normal 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-клиентами.*
|
Reference in New Issue
Block a user