Skip to content

Latest commit

 

History

History
209 lines (151 loc) · 14.5 KB

File metadata and controls

209 lines (151 loc) · 14.5 KB

Monica Локальное хранилище паролей

中文 | English | 日本語 | Tiếng Việt | Русский | 黑羽川

Monica App Icon

Локально‑ориентированное хранилище паролей, объединяющее Bitwarden и KeePass

Android / Browser · Local Vault · TOTP · WebDAV Backup

Дружественная ссылка: Linux.do Linux.do

Release Downloads Last Commit QQ Group Telegram

Afdian Ko-fi PayPal
JoyinJoester%2FMonica | Trendshift

Monica — это локальное хранилище паролей, которое объединяет Bitwarden и KeePass. Проект построен вокруг принципа local-first и помогает управлять паролями, 2FA, защищенными заметками и конфиденциальными вложениями на Android и в браузере.

Проект создан с использованием ИИ. Сделайте регулярные резервные копии привычкой, чтобы избежать потери данных. Приватность данных бесценна, поэтому не храните все данные только в одном приложении.

Сайт: https://monica-pass.github.io/MonicaDocs/

Monica for Windows архивирован. Исторический код: Monica-for-Windows

Monica for Browser архивирован. Новый Monica Extension сейчас переписывается и активно разрабатывается — следите за обновлениями.

Сейчас проект в основном поддерживается мной одним, поэтому времени и ресурсов ограниченно. Из-за этого Monica for Wear временно не может обновляться постоянно. Сейчас мой основной фокус — улучшение функций, опыта и стабильности Monica for Android. Спасибо за понимание и поддержку.


Пользователю прежде всего

Для кого Monica

  • Для тех, кто хочет локальное управление паролями вместо полностью облачного хранения.
  • Для пользователей, которые работают и с Bitwarden, и с KeePass (.kdbx).
  • Для тех, кому нужны и Android‑клиент, и автозаполнение в браузере.

Что вы получаете

  • Локальный зашифрованный vault для логинов, карт, персональных данных, заметок и вложений.
  • Двойную экосистему: на Android доступна интеграция Bitwarden API/синхронизации и чтение/запись KeePass (.kdbx).
  • Опциональную синхронизацию и резервное копирование через собственную инфраструктуру WebDAV.
  • Встроенное управление TOTP в одном приложении.

Локальный формат базы данных MDBX

MDBX — это разрабатываемый Monica локально-ориентированный зашифрованный формат vault. Это не просто таблица паролей: формат проектируется вокруг вложенных папок, вложений, истории commit, обнаружения конфликтов, удаления через tombstone, восстановления из snapshot и режимов безопасности Tiga.

Если вы хотите подключить MDBX в другом клиенте, начните с MDBX workspace README и MDBX client integration guide. Полная спецификация формата находится в mdbx/docs.

Быстрая установка

Android:

  1. Скачайте последний APK из Releases.
  2. Установите на Android 8.0+ и задайте мастер‑пароль.

Расширение браузера (Chrome / Edge):

  1. Соберите в каталоге Monica for Browser.
  2. Откройте chrome://extensions/ и включите режим разработчика.
  3. Нажмите «Загрузить распакованное расширение» и выберите папку dist.

Известное ограничение

  • Из-за ограничений совместимости Monica for Android сейчас не может создавать passkeys на некоторых устройствах Xiaomi HyperOS.

Акцент на Android

Ключевые возможности

  • Локальный vault для хранения учетных данных.
  • Сводный импорт/интеграция с KeePass и Bitwarden.
  • Быстрый поиск по заголовку, домену и тегам.
  • Разблокировка с помощью системной биометрии Android.
  • Единое хранение и генерация TOTP.

Детали реализации

  • UI: Jetpack Compose + Material 3 + Navigation Compose.
  • Data: Room (PasswordDatabase) + DAO + Repository.
  • Concurrency: Kotlin Coroutines + Flow.
  • DI: Koin (инициализация в MonicaApplication).
  • Security: Android Keystore, EncryptedSharedPreferences, BiometricPrompt.
  • Фоновые задачи: WorkManager (AutoBackupWorker) для автоматического WebDAV‑бэкапа.
  • Протоколы и интеграции: Retrofit + OkHttp (Bitwarden API), kotpass (KeePass), sardine-android (WebDAV).

Модель безопасности

  • Шифрование: AES-256-GCM (аутентифицированное шифрование).
  • KDF: PBKDF2-HMAC-SHA256 (высокие параметры итераций).
  • Локальная защита: хэш мастер‑пароля и настройки безопасности управляются локально.
  • Сетевой периметр: приложение запрашивает сетевые разрешения в основном для интеграции Bitwarden и WebDAV синхронизации/бэкапа.

Поддержка

Если Monica помогает в работе, рассмотрите поддержку разработки и улучшений безопасности.

Support Monica
Сканируйте WeChat или Alipay

Поддержать Monica через PayPal

Поддержка в первую очередь идет на:

  • Усиление безопасности и аудиты.
  • Улучшение UX и стабильности Android.
  • Кроссплатформенную согласованность и поддержку документации.

Заметки для разработчиков

Слои проекта (текущая структура кода)

  • takagi/ru/monica/ui: экраны и компоненты Compose.
  • takagi/ru/monica/data: сущности Room, DAO, миграции БД.
  • takagi/ru/monica/repository: обертки доступа к данным.
  • takagi/ru/monica/security: шифрование, ключи и логика аутентификации.
  • takagi/ru/monica/bitwarden: API, криптография, маппинг, синхронизация и логика ViewModel.
  • takagi/ru/monica/autofill: сервисы и потоки автозаполнения.
  • takagi/ru/monica/passkey: реализация Credential Provider для Android 14+.
  • takagi/ru/monica/workers: фоновые задачи, например WebDAV‑бэкап.
  • mdbx: Rust workspace и документы интеграции клиентов для локального формата базы данных Monica MDBX.

Используемые зрелые компоненты (проверяемо в репозитории)

  • Android UI: Jetpack Compose, Material 3, Navigation Compose.
  • Data and state: Room, DataStore Preferences, ViewModel.
  • Security: Android Keystore, EncryptedSharedPreferences, BiometricPrompt.
  • Network and protocol: Retrofit, OkHttp, Kotlinx Serialization.
  • Sync and ecosystem: sardine-android (WebDAV), kotpass (KeePass), Bitwarden API integration.
  • Async and jobs: Coroutines, Flow, WorkManager.
  • Additional capabilities: CameraX + ML Kit (QR scan), Credentials API (Passkey).

Сборка и вклад

  • Android Studio: последняя стабильная версия.
  • JDK: 17+.
  • Android config: compileSdk 35, targetSdk 34, minSdk 26 (см. Monica for Android/app/build.gradle).
  • Базовые версии сборки Android: AGP 8.6.0, Kotlin 2.0.21, Compose BOM 2026.03.00 (Material3 синхронизирован по BOM).
  • Источник правды версий: Monica for Android/gradle/libs.versions.toml и Monica for Android/app/build.gradle.
  • Техстек браузера: React + TypeScript + Vite (см. Monica for Browser/package.json).
  • Вклад через Issues и PR приветствуется.

Благодарности

Дизайн Monica, адаптация совместимости и ряд функциональных направлений вдохновлены и поддержаны следующими открытыми проектами и программами:

  • Keyguard — референс по взаимодействию и UX Android‑менеджера паролей.
  • Bitwarden — важный ориентир по open-source экосистеме управления паролями, модели vault и синхронизации.
  • KeePass — основа философии локального хранилища и совместимости с .kdbx.
  • Stratum Auth — референс по опыту аутентификатора, иконкам и связанным аспектам совместимости.
  • Steam Desktop Authenticator — референс по формату Steam maFile, Steam Guard и совместимости подтверждений обмена.
  • steamguard-cli — референс по Steam Guard login, переносу аутентификатора и реализации протокола подтверждений.
  • AnotherVaporAuth — референс по мобильному Steam-аутентификатору, подтверждению входа и UX подтверждений.

История звезд

Star History Chart


Участники

Участники


Сообщество и поддержка


Лицензия

Copyright (c) 2025 JoyinJoester

Monica распространяется по лицензии GNU General Public License v3.0.

Указание сторонних иконок

  • Проект локально включает ресурсы иконок из Stratum Auth app (версия v1.4.0, каталоги icons / extraicons, GPL-3.0).
  • Источник иконок банковских/платежных карт: локальный каталог SVG Credit Card & Payment Icons (Apache-2.0).
  • Названия брендов и логотипы принадлежат соответствующим правообладателям.