PTah 180403068e feat: формат даты/времени и pull-to-refresh на Обзоре (0.5.1)
Локальный вывод дат (по умолчанию ДД/ММ/ГГГГ ЧЧ:мм:сс), выбор формата в Устройство,
дата напротив событий на Обзоре, исправление compile и жеста обновления.
2026-06-14 17:48:48 +10:00

Seaca

Seaca (Security Event Alert Center App) — нативный мобильный клиент Security Alert Center (SAC) для Android.

Оператор видит те же данные, что и в веб-интерфейсе SAC: обзор, события, отчёты, проблемы и хосты. Push-уведомления приходят по тем же правилам severity и cooldown, что Telegram/email/webhook на сервере. Управление пользователями, каналами оповещений и привязкой устройств — только в веб-SAC (раздел «Настройки»).

Связанные репозитории

Репозиторий Роль
security-alert-center Сервер SAC: API, UI, оповещения, управление мобильными устройствами
ssh-monitor Агент Linux
RDP-login-monitor Агент Windows

Стек

Слой Технология
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)

FCM — бесплатно?

Да. Firebase Cloud Messaging — бесплатный сервис Google для доставки push на Android (и не только). Платный тариф Firebase нужен для других продуктов (Analytics, Crashlytics на больших объёмах и т.д.); для стандартных data/notification push лимиты практически не ограничивают типичный SAC. Данные событий формируются на вашем SAC-сервере; через FCM уходит только компактный payload (заголовок, id, deep link).

Альтернатива без Google (UnifiedPush) в этом проекте не планируется.

Что есть в приложении

  • Обзор, события, отчёты, проблемы, хосты (списки и карточки)
  • Ack / Resolve для роли operator и выше
  • Push с переходом в карточку события или problem
  • Биометрическая блокировка при открытии (локально)
  • Первичная привязка к серверу по коду регистрации, который выдаёт администратор в веб-SAC

Чего нет в приложении (только веб)

  • Управление пользователями SAC
  • Настройки каналов (Telegram, SMTP, webhook), severity, policy
  • Выдача и отзыв кодов регистрации, список устройств, способ входа на устройство — всё это в Настройки → Мобильные устройства на сервере

Привязка телефона к серверу

  1. Администратор в веб-SAC включает «Разрешать подключение мобильных устройств».
  2. Создаёт код регистрации для пользователя (срок действия, одноразовый или с лимитом использований).
  3. Оператор в Seaca: URL сервера (или из QR) + код + логин/пароль (если код не привязан к предварительной сессии).
  4. Приложение регистрирует FCM-токен; устройство появляется в списке на сервере.
  5. Администратор может отключить устройство, сменить разрешённый способ входа, переименовать.

Подробный план — docs/ROADMAP.md.

Статус

Версия: 0.4.0 (Android: Kotlin, Compose; enroll, UI, ack/resolve, FCM)

Документация

Документ Назначение
docs/operator-guide.md Инструкция для оператора
docs/ROADMAP.md План разработки
SAC: seaca-mobile.md Админ: коды, устройства, сессия
SAC: seaca-fcm.md FCM на сервере

Сборка

Требуется JDK 17+ (Android Studio JBR или отдельная установка) и Android SDK (local.properties с sdk.dir=…).

# Опционально: google-services.json в app/ (из Firebase, не в git) — для FCM
./gradlew assembleDebug
# Windows:
gradlew.bat assembleDebug

APK: app/build/outputs/apk/debug/app-debug.apk

Без google-services.json приложение собирается, но FCM не инициализируется (просмотр данных работает).

Лицензия

Как у остальных репозиториев семейства SAC (уточняется владельцем проекта).

S
Description
Seaca - Android mobile client for Security Alert Center
Readme 640 KiB
Languages
Kotlin 98.1%
Shell 1.9%