docs: README и guides для 0.5.7, относительные ссылки между репо

Обновлены возможности приложения, версия, документация без prod-URL для GitHub; sibling-ссылки работают на каждом зеркале.
This commit is contained in:
Andrey Lutsenko
2026-06-14 21:17:49 +10:00
parent 642d468005
commit e55e9fdf16
4 changed files with 49 additions and 31 deletions
+22 -18
View File
@@ -1,16 +1,19 @@
# Seaca # Seaca
**Seaca** (Security Event Alert Center App) — нативный мобильный клиент [Security Alert Center (SAC)](https://git.kalinamall.ru/PapaTramp/security-alert-center) для Android. **Seaca** (Security Event Alert Center App) — нативный мобильный клиент [Security Alert Center (SAC)](../security-alert-center) для Android.
Оператор видит те же данные, что и в веб-интерфейсе SAC: обзор, события, отчёты, проблемы и хосты. Push-уведомления приходят по тем же правилам severity и cooldown, что Telegram/email/webhook на сервере. Управление пользователями, каналами оповещений и привязкой устройств — **только в веб-SAC** (раздел «Настройки»). Оператор видит те же данные, что и в веб-интерфейсе SAC: обзор, события, отчёты, проблемы и хосты. Push-уведомления приходят по тем же правилам severity и cooldown, что Telegram/email/webhook на сервере. Управление пользователями, каналами оповещений и привязкой устройств — **только в веб-SAC** (раздел «Настройки»).
## Связанные репозитории ## Связанные репозитории
Ссылки ведут на тот же хост, с которого открыт этот репозиторий (GitHub, kalinamall, home и т.д.).
| Репозиторий | Роль | | Репозиторий | Роль |
|-------------|------| |-------------|------|
| [security-alert-center](https://git.kalinamall.ru/PapaTramp/security-alert-center) | Сервер SAC: API, UI, оповещения, управление мобильными устройствами | | [**seaca**](.) | **Этот репозиторий** — мобильный клиент Android |
| [ssh-monitor](https://git.kalinamall.ru/PapaTramp/ssh-monitor) | Агент Linux | | [security-alert-center](../security-alert-center) | Сервер SAC: API, UI, оповещения, управление мобильными устройствами |
| [RDP-login-monitor](https://git.kalinamall.ru/PapaTramp/RDP-login-monitor) | Агент Windows | | [ssh-monitor](../ssh-monitor) | Агент Linux |
| [RDP-login-monitor](../RDP-login-monitor) | Агент Windows |
## Стек ## Стек
@@ -22,18 +25,17 @@
| Push | **Firebase Cloud Messaging (FCM)** | | Push | **Firebase Cloud Messaging (FCM)** |
| Минимум SDK | Android 8.0 (API 26) | | Минимум SDK | Android 8.0 (API 26) |
### FCM — бесплатно?
**Да.** Firebase Cloud Messaging — бесплатный сервис Google для доставки push на Android (и не только). Платный тариф Firebase нужен для других продуктов (Analytics, Crashlytics на больших объёмах и т.д.); для стандартных data/notification push лимиты практически не ограничивают типичный SAC. Данные событий формируются на **вашем** SAC-сервере; через FCM уходит только компактный payload (заголовок, id, deep link).
Альтернатива без Google (UnifiedPush) в этом проекте не планируется.
## Что есть в приложении ## Что есть в приложении
- Обзор, события, отчёты, проблемы, хосты (списки и карточки) - Обзор, события, отчёты, проблемы, хосты (списки и карточки с читаемыми полями)
- Pull-to-refresh на обзоре и в списках
- Фильтры событий и проблем (severity, status)
- Формат даты/времени на выбор (слэш, дефис, точка или системный локаль)
- Ack / Resolve для роли `operator` и выше - Ack / Resolve для роли `operator` и выше
- Push с переходом в карточку события или problem - Push с переходом в карточку события или problem; режимы: со звуком, без звука, выключено
- Биометрическая блокировка при открытии (локально) - Выбор звука уведомления: системный или свой (ringtone picker)
- Биометрическая блокировка при **запуске** и при возврате в приложение
- Экран «Моё устройство»: сервер, пользователь, роль, версия, настройки push, выход
- Первичная привязка к серверу по **коду регистрации**, который выдаёт администратор в веб-SAC - Первичная привязка к серверу по **коду регистрации**, который выдаёт администратор в веб-SAC
## Чего нет в приложении (только веб) ## Чего нет в приложении (только веб)
@@ -46,7 +48,7 @@
1. Администратор в веб-SAC включает «Разрешать подключение мобильных устройств». 1. Администратор в веб-SAC включает «Разрешать подключение мобильных устройств».
2. Создаёт **код регистрации** для пользователя (срок действия, одноразовый или с лимитом использований). 2. Создаёт **код регистрации** для пользователя (срок действия, одноразовый или с лимитом использований).
3. Оператор в Seaca: URL сервера (или из QR) + код + логин/пароль (если код не привязан к предварительной сессии). 3. Оператор в Seaca: URL API SAC (выдаёт администратор) + код + логин/пароль (если код не привязан к предварительной сессии).
4. Приложение регистрирует FCM-токен; устройство появляется в списке на сервере. 4. Приложение регистрирует FCM-токен; устройство появляется в списке на сервере.
5. Администратор может отключить устройство, сменить разрешённый способ входа, переименовать. 5. Администратор может отключить устройство, сменить разрешённый способ входа, переименовать.
@@ -54,7 +56,7 @@
## Статус ## Статус
**Версия:** `0.4.0` (Android: Kotlin, Compose; enroll, UI, ack/resolve, FCM) **Версия:** `0.5.7` (Android: Kotlin, Compose; enroll, UI, ack/resolve, FCM, биометрия, звук push, форматы даты)
## Документация ## Документация
@@ -62,8 +64,10 @@
|----------|------------| |----------|------------|
| [docs/operator-guide.md](docs/operator-guide.md) | Инструкция для оператора | | [docs/operator-guide.md](docs/operator-guide.md) | Инструкция для оператора |
| [docs/ROADMAP.md](docs/ROADMAP.md) | План разработки | | [docs/ROADMAP.md](docs/ROADMAP.md) | План разработки |
| [SAC: seaca-mobile.md](https://git.kalinamall.ru/PapaTramp/security-alert-center/src/branch/main/docs/seaca-mobile.md) | Админ: коды, устройства, сессия | | [SAC: seaca-mobile.md](../security-alert-center) (`docs/seaca-mobile.md`) | Админ: коды, устройства, сессия |
| [SAC: seaca-fcm.md](https://git.kalinamall.ru/PapaTramp/security-alert-center/src/branch/main/docs/seaca-fcm.md) | FCM на сервере | | [SAC: seaca-fcm.md](../security-alert-center) (`docs/seaca-fcm.md`) | FCM на сервере |
> Документы SAC лежат в репозитории **security-alert-center** (ссылка выше ведёт на тот же Git-хост, что и этот репозиторий). В README и docs **нет** prod-URL и секретов — безопасно для зеркала на GitHub; полные адреса серверов — у администратора SAC или во внутренних заметках kalinamall/home.
## Сборка ## Сборка
@@ -1,4 +1,4 @@
package ru.kalinamall.seaca.ui.screens package ru.kalinamall.seaca.ui.screens
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@@ -52,7 +52,7 @@ fun ConnectScreen(
value = serverUrl, value = serverUrl,
onValueChange = { serverUrl = it }, onValueChange = { serverUrl = it },
label = { Text("URL сервера") }, label = { Text("URL сервера") },
placeholder = { Text("https://sac-api.kalinamall.ru") }, placeholder = { Text("https://host.example") },
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
singleLine = true, singleLine = true,
) )
+9 -4
View File
@@ -1,6 +1,6 @@
# Roadmap — Seaca # Roadmap — Seaca
Мобильный клиент SAC (Kotlin). Серверные задачи (API, настройки в веб-SAC, FCM с бэкенда) — в [security-alert-center](https://git.kalinamall.ru/PapaTramp/security-alert-center), фаза **v0.6 — Mobile**. Мобильный клиент SAC (Kotlin). Серверные задачи (API, настройки в веб-SAC, FCM с бэкенда) — в [security-alert-center](../security-alert-center), фаза **v0.6 — Mobile**.
--- ---
@@ -66,12 +66,17 @@
--- ---
## v0.5 — Полировка (позже) ## v0.5 — Полировка ✅ (основное)
- [x] Refresh token rotation (`POST /api/v1/mobile/auth/refresh`) — уже в v0.1 - [x] Refresh token rotation (`POST /api/v1/mobile/auth/refresh`) — уже в v0.1
- [x] Биометрия при **запуске** и при возврате в приложение
- [x] Pull-to-refresh на обзоре и в списках
- [x] Формат даты/времени (несколько пресетов + системный локаль)
- [x] Режимы push на устройстве: звук / без звука / выкл.
- [x] Звук push: системный или пользовательский (ringtone picker)
- [x] Экран «Моё устройство»: сервер, пользователь, роль, версия, настройки, «Выйти»
- [ ] Виджет: число open problems - [ ] Виджет: число open problems
- [ ] Offline-кэш последних N событий (Room) - [ ] Offline-кэш последних N событий (Room)
- [x] Экран «Моё устройство»: имя, сервер, версия, «Выйти» (базовый)
- [ ] Минимальная версия приложения (проверка с сервера) - [ ] Минимальная версия приложения (проверка с сервера)
--- ---
+16 -7
View File
@@ -1,9 +1,9 @@
# Seaca — руководство оператора # Seaca — руководство оператора
## Первая настройка ## Первая настройка
1. Получите от администратора: 1. Получите от администратора:
- адрес сервера (**`https://sac-api.kalinamall.ru`** — мобильный API; веб для админов — `https://sac.kalinamall.ru`); - **URL API SAC** для мобильного приложения (HTTPS, путь `/api/v1/…`);
- код регистрации `sacmob_…`; - код регистрации `sacmob_…`;
- при необходимости — логин и пароль SAC. - при необходимости — логин и пароль SAC.
2. Установите APK Seaca. 2. Установите APK Seaca.
@@ -16,22 +16,31 @@
| Раздел | Содержание | | Раздел | Содержание |
|--------|------------| |--------|------------|
| Обзор | Сводка за 24 ч, открытые проблемы | | Обзор | Сводка за 24 ч, открытые проблемы; потяните вниз для обновления |
| События | Лента с фильтром по severity | | События | Лента с фильтром по severity |
| Проблемы | Инциденты; для monitor/admin — подтвердить / закрыть | | Проблемы | Инциденты; для operator и выше — подтвердить / закрыть |
| Хосты | Агенты ssh-monitor / RDP-login-monitor | | Хосты | Агенты ssh-monitor / RDP-login-monitor |
| Отчёты | Суточные отчёты SSH и RDP | | Отчёты | Суточные отчёты SSH и RDP |
| Моё устройство | Сервер, пользователь, режим push, звук, формат даты/времени, выход |
## Push-уведомления ## Push-уведомления
Появятся после настройки FCM администратором. Нажатие на уведомление открывает карточку события или проблемы. Настраиваются на экране **Моё устройство**:
| Режим | Поведение |
|-------|-----------|
| Push и звук | Уведомление со звуком (системным или выбранным) |
| Push без звука | Только banner, без звука |
| Без push и звука | Данные в приложении по запросу |
Нажатие на уведомление открывает карточку события или проблемы.
## Блокировка ## Блокировка
При возврате в приложение может запрашиваться отпечаток / PIN устройства (если включено в системе). При **запуске** приложения и при возврате из фона может запрашиваться отпечаток / PIN устройства (если включено в системе).
## Потеря доступа ## Потеря доступа
Обратитесь к администратору: новый код регистрации или снятие отзыва устройства в веб-SAC. Обратитесь к администратору: новый код регистрации или снятие отзыва устройства в веб-SAC.
Подробности для админов — в [seaca-mobile.md](https://git.kalinamall.ru/PapaTramp/security-alert-center/src/branch/main/docs/seaca-mobile.md) (репозиторий SAC). Подробности для админов — в [seaca-mobile.md](../security-alert-center) (файл `docs/seaca-mobile.md` в репозитории SAC).