feat: RDG flap qwinsta/logoff via SAC API (0.5.8)
Mobile triggers POST events/.../actions/qwinsta and logoff; SAC runs WinRM on the client PC. List and event detail show RDG flap marker.
This commit is contained in:
@@ -1,84 +1,43 @@
|
||||
# Seaca
|
||||
|
||||
**Seaca** (Security Event Alert Center App) — нативный мобильный клиент [Security Alert Center (SAC)](https://git.kalinamall.ru/PapaTramp/security-alert-center) для Android.
|
||||
Android-клиент [Security Alert Center (SAC)](https://git.kalinamall.ru/PapaTramp/security-alert-center).
|
||||
|
||||
Оператор видит те же данные, что и в веб-интерфейсе SAC: обзор, события, отчёты, проблемы и хосты. Push-уведомления приходят по тем же правилам severity и cooldown, что Telegram/email/webhook на сервере. Управление пользователями, каналами оповещений и привязкой устройств — **только в веб-SAC** (раздел «Настройки»).
|
||||
**Версия:** `0.5.8` (versionCode 22)
|
||||
|
||||
## Связанные репозитории
|
||||
## Возможности
|
||||
|
||||
| Репозиторий | Роль |
|
||||
|-------------|------|
|
||||
| [security-alert-center](https://git.kalinamall.ru/PapaTramp/security-alert-center) | Сервер SAC: API, UI, оповещения, управление мобильными устройствами |
|
||||
| [ssh-monitor](https://git.kalinamall.ru/PapaTramp/ssh-monitor) | Агент Linux |
|
||||
| [RDP-login-monitor](https://git.kalinamall.ru/PapaTramp/RDP-login-monitor) | Агент Windows |
|
||||
- Обзор, события, проблемы, хосты, отчёты (API веб-SAC)
|
||||
- Push (FCM), режимы звука, выбор ringtone
|
||||
- Ack / Resolve проблем (monitor+)
|
||||
- **RDG flap** — метка в списке; **qwinsta / logoff** → SAC API → WinRM на клиентский ПК
|
||||
- Биометрия при запуске и возврате в приложение
|
||||
- Формат даты, экран «Моё устройство»
|
||||
|
||||
## Стек
|
||||
## Нет в приложении (только веб-SAC)
|
||||
|
||||
| Слой | Технология |
|
||||
|------|------------|
|
||||
| UI | Kotlin, Jetpack Compose, Material 3 |
|
||||
| Сеть | Retrofit / OkHttp, Kotlin Serialization |
|
||||
| Хранение | DataStore + Android Keystore (токены, URL сервера) |
|
||||
| Push | **Firebase Cloud Messaging (FCM)** |
|
||||
| Минимум SDK | Android 8.0 (API 26) |
|
||||
Пользователи, каналы оповещений, WinRM domain admin, коды регистрации.
|
||||
|
||||
## Что есть в приложении
|
||||
## Привязка
|
||||
|
||||
- Обзор, события, отчёты, проблемы, хосты (списки и карточки с читаемыми полями)
|
||||
- Pull-to-refresh на обзоре и в списках
|
||||
- Фильтры событий и проблем (severity, status)
|
||||
- Формат даты/времени на выбор (слэш, дефис, точка или системный локаль)
|
||||
- Ack / Resolve для роли `operator` и выше
|
||||
- Push с переходом в карточку события или problem; режимы: со звуком, без звука, выключено
|
||||
- Выбор звука уведомления: системный или свой (ringtone picker)
|
||||
- Биометрическая блокировка при **запуске** и при возврате в приложение
|
||||
- Экран «Моё устройство»: сервер, пользователь, роль, версия, настройки push, выход
|
||||
- Первичная привязка к серверу по **коду регистрации**, который выдаёт администратор в веб-SAC
|
||||
1. Админ: мобильные устройства + код `sacmob_…`
|
||||
2. URL API SAC + код + логин/пароль в Seaca
|
||||
3. FCM-токен регистрируется автоматически
|
||||
|
||||
## Чего нет в приложении (только веб)
|
||||
|
||||
- Управление пользователями SAC
|
||||
- Настройки каналов (Telegram, SMTP, webhook), severity, policy
|
||||
- Выдача и отзыв кодов регистрации, список устройств, способ входа на устройство — всё это в **Настройки → Мобильные устройства** на сервере
|
||||
|
||||
## Привязка телефона к серверу
|
||||
|
||||
1. Администратор в веб-SAC включает «Разрешать подключение мобильных устройств».
|
||||
2. Создаёт **код регистрации** для пользователя (срок действия, одноразовый или с лимитом использований).
|
||||
3. Оператор в Seaca: URL API SAC (выдаёт администратор) + код + логин/пароль (если код не привязан к предварительной сессии).
|
||||
4. Приложение регистрирует FCM-токен; устройство появляется в списке на сервере.
|
||||
5. Администратор может отключить устройство, сменить разрешённый способ входа, переименовать.
|
||||
|
||||
Подробный план — [docs/ROADMAP.md](docs/ROADMAP.md).
|
||||
|
||||
## Статус
|
||||
|
||||
**Версия:** `0.5.7` (Android: Kotlin, Compose; enroll, UI, ack/resolve, FCM, биометрия, звук push, форматы даты)
|
||||
|
||||
## Документация
|
||||
|
||||
| Документ | Назначение |
|
||||
|----------|------------|
|
||||
| [docs/operator-guide.md](docs/operator-guide.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-fcm.md](https://git.kalinamall.ru/PapaTramp/security-alert-center/src/branch/main/docs/seaca-fcm.md) | FCM на сервере |
|
||||
[docs/operator-guide.md](docs/operator-guide.md) · SAC [docs/seaca-mobile.md](https://git.kalinamall.ru/PapaTramp/security-alert-center/src/branch/main/docs/seaca-mobile.md)
|
||||
|
||||
## Сборка
|
||||
|
||||
Требуется **JDK 17+** (Android Studio JBR или отдельная установка) и Android SDK (`local.properties` с `sdk.dir=…`).
|
||||
JDK 17+, `local.properties`. Опционально `app/google-services.json` для FCM.
|
||||
|
||||
```bash
|
||||
# Опционально: конфиг Firebase в app/ (шаблон *.example, рабочий файл не в git) — для FCM
|
||||
./gradlew assembleDebug
|
||||
# Windows:
|
||||
gradlew.bat assembleDebug
|
||||
```
|
||||
|
||||
APK: `app/build/outputs/apk/debug/app-debug.apk`
|
||||
|
||||
Без конфига Firebase приложение собирается, но FCM не инициализируется (просмотр данных работает).
|
||||
## Репозитории
|
||||
|
||||
## Лицензия
|
||||
|
||||
Как у остальных репозиториев семейства SAC (уточняется владельцем проекта).
|
||||
| Репозиторий | Роль |
|
||||
|-------------|------|
|
||||
| security-alert-center | Сервер API |
|
||||
| ssh-monitor / RDP-login-monitor | Агенты |
|
||||
|
||||
Reference in New Issue
Block a user