Статья подготовлена в рамках исследовательского проекта 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.
