Зачем нужна ещё одна платформа видеозвонков
Корпоративные сервисы видеоконференций закрыты, требуют учётную запись, навязывают мобильные приложения, ограничивают длительность встречи и собирают неограниченную телеметрию. Для личного общения, удалённой работы и онлайн-образования всё это лишнее. Нужна платформа, где встречу можно создать за секунду, отдать ссылку собеседнику и забыть — без лимитов, без профилей, без трекеров.
Lumina сделана как раз для этого. Любой участник открывает lumina.su, нажимает «Новая встреча», получает ссылку и делится ей. Встреча работает прямо в браузере, без установки приложения — а если хотите, ставится как Progressive Web App за один клик.
Шифрование и приватность
Медиапотоки в Lumina передаются через SFU (LiveKit), а ключ шифрования генерируется в браузере и хранится во фрагменте URL (#key=…). Фрагмент URL никогда не отправляется на сервер — это базовое свойство HTTP. Поэтому сервер видит только зашифрованные пакеты и не может прослушать встречу, даже если его скомпрометируют.
Сигнальный канал, чат и сообщения о подключении проходят через наш backend на Rust (axum), но каждая запись, идущая на запись в Redis, переподписывается сервером — клиент не может подменить идентичность. Администратор сервера не имеет доступа к содержимому звонка.
Архитектура в одной картинке
- Frontend: React 19 + TypeScript + Vite, Progressive Web App с offline-режимом.
- Signalling: Rust axum-сервер, Redis для состояния комнат и fan-out между нодами.
- Media: LiveKit SFU на той же машине (systemd), порт 7880 сигнал, 50000-60000 UDP для медиа.
- TURN: встроенный TURN LiveKit + опциональный coturn на 3478 UDP / 5349 TLS.
- Edge: nginx с HTTP/2, строгой CSP, HSTS preload, `limit_req` и закрытой LiveKit admin plane.
- Лицензия и код: опубликованы на GitHub.
Принципы, которых мы держимся
- Self-hosted по умолчанию. Один скрипт ставит Lumina на чистую Ubuntu 22.04+. Вся инфраструктура — ваша.
- Минимум телеметрии. Единственный внешний скрипт — Яндекс.Метрика на lumina.su. В self-hosted-сборках её можно убрать одной правкой.
- Без учётных записей. Нет регистрации, нет email, нет идентификатора устройства. Участники присоединяются по одноразовой ссылке.
- Правила сервера жёстче клиента. Backend переписывает отправителя сообщений из JWT — клиент не может притвориться другим участником.
- Открытый код. Исходники публичны. Любой может проверить архитектуру безопасности или развернуть копию.
Для кого Lumina
Мы делаем Lumina для небольших и средних команд, учителей и репетиторов, HR-специалистов, врачей на онлайн-консультациях, журналистов, студентов и семей, которым надо поговорить по видеосвязи без лишних хлопот. Lumina подходит для встреч до 100 человек в одной комнате; на выделенном VPS мы уверенно держим десятки одновременных комнат.
Как попробовать
Просто откройте главную, нажмите «Новая встреча» и поделитесь ссылкой. Если хотите поднять собственный сервер — смотрите инструкцию в репозитории на GitHub. Там же есть полный список параметров, архитектурные решения и security-раздел.
Если нужно установить Lumina как приложение — перейдите на страницу установки, где расписаны шаги для iOS, Android, Windows, macOS и Linux.