Files
nexus-sync/server.md
T
2026-05-01 00:33:53 +03:00

51 lines
3.4 KiB
Markdown
Raw 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.
# Server
TODO:
- описать формально все API
- добавить сами команды, возможно сделать их в виде пресетов для платформы
## Основная суть
- API ручки. Доступ чисто по ssl (но это уже зона ответственности nginx)
- клиенты по своему некоторому ключу будут авторизовываться.
- проблема ручной настройки (но она тут будто минимальная, не так плохо)
- когда клиент что-либо присылает, в ответ ему надо кинуть команды на исполнение, если есть
- со стороны клиента должен быть настроен trust к серверу
Для сервера необходимо несколько настроек
- лимит на кол-во запросов (от одного клиента, условно)
- лимит на хранение инфо (и хранить ли старое? да, логи)
- лимит на одного юзера
- общий лимит
- кастомные команды
- отслеживание получения/выполнение команды сервером, повторные попытки, лимит попыток
## Возможности (API ручки)
'Понятия не имею, как описывать эти ручки (точнее, нет желания правильно их описывать)'
### Ручки для админа
Все пользователи будут считаться админами для удобства. Остальных нет
1. получить список всех клиентов
- с отдельным параметром "только активированные"
2. получить данные по клиенту
- сюда включается вся инфа о его показателях, когда был в сети + какие команды на него доступны (да, будем их ограничивать, возможно по модели zero-trust)
3. выполнить какую-то команду
- тут вопрос в том, будем ли мы ждать ответа от нашего клиента (вряд ли)
4. получить токен, авторизация
5. добавить кастомную команду (для клиента)
- проблема в системах, если хочется универсального добавления. Выход - добавлять только для одного клиента (лучше во всём будет)
### Ручки для клиентов
Не уверен даже, что больше одной нужно будет
1. Прислать информацию
- просто стучится со своим uuid и кидает, что знает
2. Инфо о сервере?
- возможно фетчить айпи (чтобы стучаться, если сертификат на месте), другие домены
- какие-то особые "правила", если пакет с их установкой потеряется (сам то пакет вряд ли потеряется, мы об этом узнаем сразу)