Skip to content

Сервис управления прокси (Proxy Manager)

Микросервис proxy-manager предназначен для централизованного управления SOCKS5, SOCKS4 и HTTP/HTTPS прокси-серверами в составе платформы Unishift.

Основные возможности

  1. Многопротокольный Dialer:
    • Поддержка SOCKS5 (с/без логина и пароля).
    • Поддержка SOCKS4 / SOCKS4a.
    • Поддержка HTTP/HTTPS с CONNECT-туннелированием и Basic Auth.
  2. Фоновый мониторинг работоспособности (Health Checker):
    • Автоматическая проверка задержки (RTT), статуса ответа и внешнего выходного IP (exit_ip).
    • Автоматический Circuit Breaker: перевод прокси в статус degraded при задержке > 2000 мс и в dead при 3 подряд неудачных проверках.
  3. Движок ротации (Rotation Engine):
    • round_robin — циклический перебор активных прокси.
    • least_latency — выборка прокси с наименьшей задержкой ответа.
    • random — случайный выбор.
    • weighted — выбор на основе веса и обратно пропорционально задержке.
    • sticky — привязка сессии по session_key.
  4. Прозрачный Forward Proxy (:8115):
    • Позволяет сервисам платформы использовать прокси без переписывания исходного кода путем установки стандартных переменных окружения HTTP_PROXY=http://proxy-manager:8115 и HTTPS_PROXY=http://proxy-manager:8115.
    • Заголовки фильтрации: X-Proxy-Tag, X-Proxy-Strategy, X-Proxy-Session.
  5. Система пороговых алертов и авто-пополнения:
    • Оповещение при падении числа активных прокси ниже порога $N$.
    • Публикация NATS событий (system.proxy.low_stock).
    • Автоматический триггер пайплайнов flow-manager через вебхук для авто-покупки новых прокси.
    • Пакетный импорт через POST /api/v1/proxies/import (URL-списки, Host:Port:User:Pass, JSON, CSV).

Конфигурация и переменные окружения

ПеременнаяПо умолчаниюОписание
PORT8114Порт REST API
FORWARD_PROXY_ENABLEDtrueВключение прозрачного HTTP/CONNECT Forward Proxy
FORWARD_PROXY_PORT8115Порт Forward Proxy
HEALTH_CHECK_INTERVAL60sИнтервал фоновой проверки
HEALTH_CHECK_CONCURRENCY10Параллелизм проверок
HEALTH_CHECK_TARGET_URLhttps://api.ipify.org?format=jsonЭндпоинт верификации выходного IP
DEGRADED_LATENCY_MS2000msПорог перевода в degraded
MAX_CONSECUTIVE_FAILURES3Порог сбоев для перевода в dead

API Эндпоинты

  • GET /api/v1/proxies — список прокси с фильтрацией и пагинацией.
  • POST /api/v1/proxies — добавление одиночного прокси.
  • POST /api/v1/proxies/import — пакетный импорт прокси (plain text, JSON, CSV).
  • GET /api/v1/proxies/next — выбор следующего прокси по стратегии (strategy, tag, protocol).
  • POST /api/v1/proxies/:id/report — обратная связь о работоспособности прокси от потребителей.
  • POST /api/v1/proxies/test — проверка произвольного прокси без сохранения в БД.
  • GET /api/v1/stats — метрики и статистика пула прокси.