TGViewer
Библиотека Go-разработчика | Golang Библиотека Go-разработчика | Golang @goproglib · 24.1K subscribers
Post #7235 3.07K
🧑‍💻 Cервер обработки изображений на Go

imagor — HTTP-сервер на Go поверх libvips для трансформации изображений на лету. Параметры передаются прямо в URL — никакого кода писать не нужно. Поддерживает загрузку из HTTP, S3, GCS и файловой системы, кэширует обработанные результаты в Result Storage.

Параметры трансформации передаются прямо в URL. Поддерживает загрузку из HTTP, S3, GCS и файловой системы, кэширует обработанные результаты.

Как запустить
docker run -p 8000:8000 shumc/imagor -imagor-unsafe -imagor-auto-webp


Запрос выглядит так:
http://localhost:8000/unsafe/fit-in/200x200/filters:fill(white)/https://example.com/photo.jpg


Примеры фильтров

Ресайз с умной обрезкой и конвертацией:
/unsafe/200x200/smart/filters:format(jpeg):quality(80)/photo.png


Вотермарк по всей нижней части:
/unsafe/fit-in/200x150/filters:fill(yellow):watermark(logo.png,repeat,bottom,0,40,40)/photo.gif


Основные фильтры: blur, format, quality, fill, watermark, grayscale, rotate, strip_metadata, label. Применяются пайплайном через двоеточие.

Безопасность

В продакшне отключаем IMAGOR_UNSAFE и подписываем URL через IMAGOR_SECRET. Подпись на HMAC-SHA1 (или SHA256/SHA512), хэш в base64url добавляется в начало пути. Дополнительно ограничиваем источники и размеры входящих изображений:
HTTP_LOADER_ALLOWED_SOURCES=*.example.com
VIPS_MAX_RESOLUTION=16800000
VIPS_MAX_WIDTH=5000


➡️ Репозиторий

📍 Навигация: Вакансии • Задачи • Собесы • Канал в Max

🐸 Библиотека Go-разработчика

#GoToProduction
  • ❤ 2
  • 👍 1
More from @goproglib
  1. Sep 30, 2026🧑‍💻 Эмулятор AWS-сервисов Kumo — это небольшой инструмент на Go для локальной имитации A…
  2. Sep 29, 2026👨‍💻 Библиотека для написания LSP-серверов Написать свой Language Server с нуля на Go сло…
  3. Sep 28, 2026🤔 Вопрос с собеседования по Go Что выведет программа? ❤️ — 1 true / 0 false 🔥 — 1 true /…
  4. Sep 28, 2026👩‍💻 Что на самом деле происходит внутри Go map? После Go 1.24 обычный map внутри работае…
  5. Sep 26, 2026🔥 В Go 1.27 появился portable SIMD До этого SIMD-оптимизации в Go требовали архитектурног…
  6. Sep 25, 2026🤡🤡 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика #GoGiggle
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →