Skip to content

megative/free-videoplatform

Repository files navigation

🎥 VideoPlatform

Простая платформа для P2P видеозвонков с использованием WebRTC.

🚀 БЫСТРЫЙ СТАРТ - РАБОТАЕТ С ПЕРВОГО РАЗА

✅ ШАГ 1: Настройте DNS

В панели управления домена создайте:

A    example.com        → IP_ВАШЕГО_СЕРВЕРА
CNAME www.example.com   → example.com

✅ ШАГ 2: Загрузите проект на сервер

# Распакуйте архив или склонируйте репо
cd videoplatform

✅ ШАГ 3: Запустите автоматическую настройку

sudo ./setup-ssl.sh

ВСЁ! Скрипт сам:

  • ✅ Установит Docker (если нужно)
  • ✅ Запустит приложение в HTTP режиме
  • ✅ Получит SSL сертификаты от Let's Encrypt
  • ✅ Переключит на HTTPS с автообновлением сертификатов

🎉 ГОТОВО!

Ваше приложение доступно: https://ваш-домен.com

⚠️ Если что-то пошло не так:

  1. DNS не настроен - проверьте: dig +short A ваш-домен.com
  2. Порт 80 закрыт - откройте в панели хостера или: sudo ufw allow 80,443/tcp
  3. Лимит Let's Encrypt - подождите час и повторите

Управление

# Остановка
sudo docker-compose down

# Перезапуск
sudo docker-compose restart

# Логи
sudo docker-compose logs -f

Всё! SSL сертификаты обновляются автоматически каждые 12 часов. Никаких дополнительных настроек не нужно! 🚀


✨ Возможности

  • 🎥 Видеозвонки в реальном времени
  • 🔊 Аудиозвонки
  • 🔗 Простое присоединение по ссылке
  • 📱 Адаптивный дизайн
  • 🚀 P2P соединение (WebRTC)
  • 🎛️ Управление микрофоном и камерой
  • 🏠 Система комнат
  • 🔒 HTTPS поддержка

Локальный запуск (для разработки)

  1. Установите зависимости:

    npm install
  2. Запустите сервер:

    npm start
  3. Откройте в браузере: https://localhost:3000

📖 Как использовать

  1. Создание комнаты: Оставьте поле "ID комнаты" пустым и нажмите "Присоединиться"
  2. Присоединение к существующей комнате: Введите ID комнаты и нажмите "Присоединиться"
  3. Поделиться ссылкой: Скопируйте ссылку и отправьте друзьям
  4. Управление звонком: Используйте кнопки для управления микрофоном, камерой и завершения звонка

🛠️ Технологии

  • Frontend: HTML5, CSS3, JavaScript (ES6+)
  • Backend: Node.js, Express
  • Real-time: Socket.IO
  • WebRTC: Для P2P видеосвязи
  • Docker: Для контейнеризации

📁 Структура проекта

videoplatform/
├── index.html                    # Главная страница
├── style.css                     # Стили
├── app.js                        # Клиентская логика WebRTC
├── server.js                     # Сервер с Socket.IO
├── package.json                  # Зависимости
├── Dockerfile                    # Docker образ
├── docker-compose.yml            # Продакшен с nginx и SSL
├── nginx.conf                    # Конфигурация nginx
├── setup-ssl.sh                  # Настройка домена и SSL
├── update-ssl.sh                 # Обновление SSL сертификатов
├── DEPLOYMENT.md                 # Инструкции по развертыванию
├── QUICK_START.md                # Быстрый старт
└── README.md                     # Документация

🌐 Развертывание

Быстрый старт: См. раздел 🚀 TL;DR - Быстрый старт выше.

Подробные инструкции по развертыванию на VPS см. в файле DEPLOYMENT.md.

Требования

  • Linux VPS с Docker и Docker Compose
  • Открытые порты 80 и 443
  • Минимум 1GB RAM
  • Домен (для SSL)

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

  • ✅ Let's Encrypt SSL сертификаты
  • ✅ Автоматический редирект HTTP → HTTPS
  • ✅ Nginx reverse proxy
  • ✅ Приложение запускается от непривилегированного пользователя
  • ✅ Docker network изоляция
  • ✅ Автоматическое обновление SSL сертификатов (встроено в Docker Compose)

🐛 Известные ограничения

  • Поддерживается только 2 участника в комнате
  • Требуется HTTPS для работы камеры/микрофона (поэтому только продакшен развертывание)
  • Может не работать за некоторыми корпоративными файрволами

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors