VNOX-Client/docs/05-features/central-hub.md

65 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Central Hub — опциональный координационный сервер
## Мотивация
VNOX спроектирован как self-hosted платформа: каждый сам поднимает свой нод.
Но для adoption нужна точка входа для тех, у кого нет своего сервера, и механизм
обнаружения публичных нодов.
Central Hub — опциональный сервер, который **не заменяет** собственный нод
и **не хостит** голос/чат. Он только координирует.
## Что делает Central Hub
### 1. Discovery / Registry — реестр публичных нодов
Владельцы нодов могут опубликовать свой сервер в реестре:
- адрес, название, описание, регион
- теги (`gaming`, `dev`, `ru`, `cs2`, ...)
- мета: онлайне, кол-во пользователей
Клиент может найти сервер по тегам/названию и подключиться.
Без Central Hub — только прямой ввод адреса или закладки.
### 2. Global identity bridge — аккаунт без своего нода
Пользователь регистрирует ключ на Central Hub:
- `user@hub` — глобальный идентификатор
- никнейм, аватар (опционально)
- привязка к одному или нескольким "гостевым" нодам
Позволяет зайти в VNOX без поднятия собственной инфраструктуры.
При этом Central Hub не хранит сообщения, не релеит голос, не управляет каналами.
### 3. Push notification relay — поддержка мобильных
Мобильные клиенты не могут держать постоянное TCP/UDP соединение.
Central Hub принимает пуш-уведомления от нодов:
- входящее DM
- упоминание в чате
- звонок в войс
Без этого мобильный клиент будет получать сообщения только с задержками.
### 4. User directory / friend graph — глобальная социальная сеть
Список друзей и поиск пользователей не привязан к одному ноду:
- `@user` ищется по Central Hub
- запрос в друзья через хаб, а не через конкретный сервер
- cross-node DM: хаб знает, на каком ноде сейчас пользователь
## Границы (чего Central Hub НЕ делает)
- ❌ Не хостит голосовые каналы
- ❌ Не хостит текстовые каналы
- ❌ Не хранит историю сообщений
- ❌ Не управляет сессиями — только направляет
- ❌ Не заменяет self-hosted нод — только дополняет
Hub — это телефонная книга и коммутатор, а не сам телефон.
## Деплой
Central Hub — отдельный бинарник (например, `vnox-hub`).
Работает на HTTP(S) / WebSocket, минимальные требования.
Может быть поднят кем угодно, не обязательно авторами VNOX.