Статья подготовлена в рамках исследовательского проекта CloudBridge Research
Проект: github.com/cloudbridge-research/quic-test
Предыстория
Месяц назад, 26 ноября, мы рассказывали на Хабре о создании quic-test — открытого инструмента для тестирования QUIC, BBRv3 и FEC в реальных условиях. Тогда это был преимущественно CLI-инструмент для сетевых инженеров и исследователей.
За этот короткий период проект значительно эволюционировал. Мы получили активную обратную связь от пользователей, которые начали использовать quic-test в своих проектах. Основные запросы касались удобства использования и автоматизации тестирования.
Сегодня представляем результат интенсивной работы последнего месяца: quic-test получил полнофункциональный Web GUI, REST API для автоматизации и значительные технические улучшения.
Что изменилось
Web GUI интерфейс

Главное нововведение — полнофункциональный веб-интерфейс, который делает QUIC-тестирование доступным для широкой аудитории.
Основные возможности GUI:
Dashboard — обзор активных тестов и системного статуса
New Test — создание тестов через интуитивные веб-формы
Test History — просмотр всех выполненных тестов с детальными метриками
Real-time monitoring — мониторинг тестов в реальном времени
Test Details — детальный анализ результатов с графиками и логами
Запуск GUI:
# Сборка make build # Запуск GUI сервера make gui # или ./quic-gui --addr=:8080 --api-addr=:8081 # Открыть в браузере open http://localhost:8080
Архитектура GUI:
Frontend: Чистый HTML/CSS/JavaScript без фреймворков
Backend: Go HTTP сервер с REST API
API: Полноценный REST API для автоматизации
Real-time: Автоматическое обновление статуса тестов
REST API для автоматизации
Веб-интерфейс построен поверх полноценного REST API, который можно использовать для автоматизации тестирования:
Основные endpoints:
# Создание теста POST /api/tests { "mode": "test", "duration": "60s", "connections": 2, "streams": 4, "congestion_control": "bbrv3" } # Получение статуса теста GET /api/tests/{id} # Остановка теста DELETE /api/tests/{id} # Текущие метрики GET /api/metrics/current # Метрики в формате Prometheus GET /api/metrics/prometheus
Образовательная документация
Создана комплексная техническая документация, которая включает:
API Reference:
Полное описание всех REST API endpoints
Примеры запросов и ответов
Схемы данных и коды ошибок
Техническое руководство:
Детальное описание архитектуры QUIC
Сравнение различных алгоритмов congestion control
Объяснение метрик производительности
Практические примеры:
Готовые сценарии тестирования
Интеграция с системами мониторинга
Автоматизация через CI/CD
Расширенная функциональность
WebTransport поддержка:
# Тестирование WebTransport make test-webtransport
HTTP/3 load testing:
# HTTP/3 нагрузочное тестирование make test-http3
Улучшенная архитектура:
quic-test/ ├── cmd/ │ ├── gui/ # Web GUI интерфейс │ ├── tui/ # Terminal UI мониторинг │ ├── experimental/ # Экспериментальные функции │ └── ... ├── internal/ │ ├── gui/ # GUI сервер и API │ ├── webtransport/ # WebTransport поддержка │ ├── http3/ # HTTP/3 load testing │ ├── pqc/ # Post-Quantum Crypto симуляция │ └── ... ├── web/ # Web GUI статические файлы └── docs/ # Расширенная документация
Технические улучшения
Улучшенная стабильность
100% успешных тестов основного функционала
Обработка 10,000+ пакетов в секунду
Автоматическое восстановление после сбоев
Поддержка множественных параллельных тестов
Расширенные метрики
Добавлены новые метрики для более детального анализа:
Детальная статистика по потокам QUIC
Метрики производительности FEC
Анализ эффективности различных алгоритмов congestion control
Интеграция с AI Routing Lab для предсказания маршрутов
Практические примеры использования
Пример 1: Сравнение TCP vs QUIC через Web GUI
Открываем http://localhost:8080
Переходим в "New Test"
Выбираем режим "Integrated (Server + Client)"
Устанавливаем длительность 60 секунд
Выбираем профиль "Mobile (4G/LTE)"
Запускаем тест и наблюдаем результаты в реальном времени
Пример 2: Автоматизация через API
# Создание теста через API curl -X POST http://localhost:8081/api/tests \ -H "Content-Type: application/json" \ -d '{ "mode": "test", "duration": "120s", "connections": 4, "streams": 8, "congestion_control": "bbrv3", "profile": "mobile" }' # Получение результатов curl http://localhost:8081/api/tests/test_1234567890
Пример 3: Интеграция с CI/CD
# GitHub Actions пример - name: QUIC Performance Test run: | docker run -d --name quic-server \ -p 9000:9000/udp \ mlanies/quic-test:latest --mode=server sleep 5 docker run --rm \ mlanies/quic-test:latest \ --mode=client \ --server=localhost:9000 \ --duration=30s \ --output=results.json
Статистика развития проекта
Технические показатели за месяц:
15,000+ строк кода (рост в 3 раза)
12 основных модулей (было 4)
10+ REST API endpoints
5 готовых лабораторных работ
Функциональность:
Web GUI — полнофункциональный веб-интерфейс
WebTransport — поддержка современного протокола
HTTP/3 load testing — нагрузочное тестирование
Post-Quantum Crypto — симуляция PQC алгоритмов
Документация:
Полная API документация — все endpoints с примерами
Техническое руководство — архитектура и принципы работы
Практические примеры — готовые сценарии использования
Многоязычная поддержка — русский и английский языки
Как начать использовать
Быстрый старт с GUI
# Сборка make build # Запуск GUI сервера make gui # Открыть в браузере open http://localhost:8080
Автоматизация через API
# Создание теста curl -X POST http://localhost:8081/api/tests \ -H "Content-Type: application/json" \ -d '{"mode": "test", "duration": "60s"}' # Получение результатов curl http://localhost:8081/api/tests/{test_id}
Docker развертывание
# Запуск с GUI docker run -p 8080:8080 -p 8081:8081 -p 9000:9000/udp \ mlanies/quic-test:latest gui # Использование API docker run --rm mlanies/quic-test:latest \ --mode=client --server=demo.quic.tech:4433
Как связаться с нами
Email: info@cloudbridge-research.ru
Сайт: cloudbridge-research.ru
Участие в проекте
Мы приглашаем к сотрудничеству:
Разработчиков — для улучшения функциональности
Исследователей — для проведения совместных экспериментов
Инженеров — для тестирования в production средах
Энтузиастов — для участия в open-source разработке
Заключение
За месяц интенсивной работы quic-test эволюционировал от узкоспециализированного CLI-инструмента до полнофункциональной платформы с Web GUI и REST API. Мы добавили удобный веб-интерфейс, создали комплексную техническую документацию и значительно расширили функциональность.
Главное достижение, мы сделали QUIC-тестирование более доступным и удобным для автоматизации. Теперь проводить эксперименты с QUIC, BBRv3 и FEC могут не только опытные сетевые инженеры через CLI, но и разработчики через удобный веб-интерфейс, а DevOps команды, через REST API.
Проект продолжает активно развиваться. Мы открыты для новых идей, сотрудничества и обратной связи. Вместе мы делаем сетевые технологии лучше и доступнее.
Попробуйте новую версию, поделитесь своими результатами, участвуйте в развитии проекта!
Статья подготовлена командой CloudBridge Research. Все материалы и код проекта доступны под открытой лицензией MIT.
