1 неделю назад
История
README.md
Speedtest Service
Сервис для тестирования скорости интернет-соединения с автоматическим анализом маршрута.
Возможности
- HTTP тест скорости - измерение download/upload скорости
- Автоматический traceroute - анализ маршрута от клиента к серверу
- Реальные измерения - без симуляции, только реальные HTTP тесты
- Автоматическое определение IP - клиента и сервера
- Современный интерфейс - адаптивный дизайн для всех устройств
Установка
Требования
- Python 3.7+
- pip
Быстрая установка
# Клонировать репозиторий
git clone <repository-url>
cd speedtest-service
# Создать виртуальное окружение
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# или
venv\Scripts\activate # Windows
# Установить зависимости
pip install -r requirements.txt
# Запустить сервис
python3 app.py
Сервис будет доступен по адресу: http://localhost:5001/
Использование
- Откройте веб-интерфейс в браузере
- Нажмите “Запустить HTTP тест”
- Дождитесь завершения теста скорости
- Автоматически получите результаты traceroute
API Endpoints
GET /
- главная страницаPOST /api/start-test
- запуск теста скоростиGET /api/download-chunk/<id>
- получение тестовых данныхPOST /api/upload-chunk
- отправка тестовых данныхGET /api/test-status
- статус тестаGET /api/traceroute
- информация о клиенте и сервереGET /api/server-ip
- IP адрес сервера
Особенности
- Автоматический traceroute после каждого теста скорости
- Реальные HTTP измерения без симуляции
- Автоматическое определение IP адресов
- Адаптивный дизайн для мобильных устройств
- Безопасность - CSRF защита, заголовки безопасности
Настройка CORS
Быстрая настройка
# Запустить скрипт настройки
./setup_cors.sh
# Отредактировать настройки
nano .env
Основные параметры CORS
- CORS_ORIGINS - разрешенные домены (через запятую)
- CORS_SUPPORTS_CREDENTIALS - поддержка cookies/авторизации
- CORS_ALLOW_HEADERS - разрешенные HTTP заголовки
- CORS_METHODS - разрешенные HTTP методы
Примеры настроек
# Разрешить доступ с любого домена (не рекомендуется для продакшена)
CORS_ORIGINS=*
# Разрешить доступ с конкретных доменов
CORS_ORIGINS=http://localhost:3000,https://myapp.com,https://app.example.com
# Отключить поддержку credentials
CORS_SUPPORTS_CREDENTIALS=false
# Добавить дополнительные заголовки
CORS_ALLOW_HEADERS=Content-Type,Authorization,X-CSRF-Token,X-Requested-With
Развертывание
Сервис автоматически определяет свой IP адрес и работает “из коробки” на любом сервере:
- VPS в любой стране
- Домашний сервер за NAT
- Облачные платформы (AWS, GCP, Azure)
- Docker контейнеры
Лицензия
MIT License
Конвейеры
0 успешных
0 с ошибкой