
mini-diarium v0.6.5
Локальный дневник с серьёзным шифрованием. Бесплатный, с открытым исходным кодом и никогда не подключается к интернету.
Mini Diarium
Локальный дневник с серьёзным шифрованием. Бесплатный, с открытым исходным кодом и никогда не касается интернета.
mini-diarium.com · Скачать · Документация · Возможности · Философия · Бенчмарки
☕ Поддержите проект
Mini Diarium бесплатен, имеет открытый исходный код и останется таким всегда. Если вы находите его полезным и хотите поддержать его разработку, подумайте о том, чтобы купить мне кофе на Ko-fi. Каждое пожертвование идёт напрямую на поддержание жизни этого проекта и его улучшение.
Предпочитаете криптовалюту? Monero, Bitcoin и Lightning указаны ниже и в DONATE.md.
Пожертвовать криптовалютой (Monero · Bitcoin · Lightning)
Monero (XMR), стандартный адрес основной сети:
4ApNmqczyAoWsprSrCMsPNKTGhxaH1Cs6agLVaGiKuBBVSotWK9uj3oVQkWYUX9XUGQJyC9WB7cMofE8wfp5BbUoEdcwbjv
Bitcoin (BTC), on-chain нативный SegWit (bech32):
bc1q0y6v888ala2f8r7tm8g30vqt9ma09w9ww4jhum
Bitcoin через Lightning, Lightning-адрес, который работает с Cake Wallet, Phoenix, Zeus, Blink и Wallet of Satoshi:
Всегда сверяйте адреса с DONATE.md в ветке master перед отправкой. Этот файл также содержит предупреждения о сети и о том, что пожертвования дают и чего не дают.
Скачать
Загрузите последний релиз для вашей платформы с GitHub Releases.
Требуется Windows 10 (1809)+, macOS 10.15 Catalina+ или Linux (Ubuntu 20.04+, Fedora 36+, Arch или эквивалент).
Быстрая установка:
- Windows (Microsoft Store): apps.microsoft.com/detail/9PJFTX44ZS43
- Windows (WinGet):
winget install fjrevoredo.MiniDiarium - macOS (Homebrew):
brew tap fjrevoredo/mini-diarium, затемbrew install --cask mini-diarium - Linux (Flatpak):
flatpak install flathub io.github.fjrevoredo.mini-diarium - NixOS / Nix (Flakes):
nix run github:fjrevoredo/mini-diarium
О форматах пакетов, примечаниях к первому запуску (Gatekeeper / SmartScreen) и проверке контрольных сумм см. docs/INSTALLATION.md.
Быстрый старт
- Запустите Mini Diarium
- Создайте пароль (он шифрует ваш дневник; восстановление при забытом пароле невозможно)
- Напишите свою первую запись. Она сохраняется автоматически по мере ввода
- Переключайтесь между днями с помощью
Ctrl+[/Ctrl+]или нажимайте на даты в календаре - Заблокируйте свой дневник, когда закончите
Предыстория
Mini Diarium — духовный преемник Mini Diary от Сэмюэла Мейли. Мне нравился оригинальный инструмент. Он был простым, приватным и делал ровно то, что должно делать приложение для дневника. К сожалению, он годами не поддерживался, а его зависимости устарели. Я сначала думал сделать форк и модернизировать стек, но это оказалось непрактичным. Поэтому я начал с нуля, сохранив ту же базовую философию (шифрование, только локально, сфокусированность), полностью перестроив приложение на Tauri 2, SolidJS и Rust. Результат — более лёгкое и быстрое приложение с более сильным шифрованием и несколькими личными штрихами.
Философия прежде всего
Mini Diarium намеренно имеет свою точку зрения. Философия — не примечание на полях, это и есть продукт:
- Небольшое расширяемое ядро: держать основные обязанности узкими (шифрование, хранение, аутентификация) и выносить дополнительное в точки расширения
- Скучная безопасность: использовать проверенные алгоритмы и аудированные библиотеки, никогда — собственную криптографию
- Только локально по замыслу: нет облачной синхронизации, нет телеметрии, нет аналитики, нет скрытой сетевой активности
- Лёгкий вход, лёгкий выход: импорт из распространённых форматов и экспорт в открытые форматы, чтобы избежать привязки
- Сфокусированный охват: приватное ведение дневника вместо разрастания функций
- Простота вместо хитроумности: меньше движущихся частей, меньше поверхность атаки, проще сопровождение
Прочитайте полные принципы и то, как они воплощаются в архитектуре, в PHILOSOPHY.md.
[!NOTE] Mini Diarium использует ИИ-инструменты как рычаг для инженеров-людей, а не как их замену. Каждое изменение по-прежнему проходит через продуманный дизайн, тщательную реализацию, надлежащее тестирование и прямую обратную связь. Ответственность, авторство и окончательное суждение остаются за человеком.
Возможности
- Аутентификация по файлу ключа: разблокируйте свой дневник файлом закрытого ключа X25519 вместо пароля (или вместе с ним), как SSH-ключи для вашего дневника. См. docs/KEY_FILE_AUTHENTICATION.md.
- Только локальные дневники: создавайте дневники, которые автоматически разблокируются на вашем устройстве (без запроса пароля), при этом записи по-прежнему шифруются в состоянии покоя.
- Шифрование AES-256-GCM: все записи шифруются случайным мастер-ключом. Каждый метод аутентификации хранит свою обёрнутую копию этого ключа, поэтому добавление или удаление метода выполняется за O(1) без повторного шифрования ваших записей.
- Несколько дневников: ведите отдельные дневники для разных целей (личный, рабочий, путешествия).
- Редактор форматированного текста: включая изображения.
- Теги
- Несколько записей в день: храните отдельные записи для одной даты, не объединяя их
- Навигация по календарю
- Импорт: Mini Diary JSON, Day One JSON/TXT и jrnl JSON с аддитивным импортом, сохраняющим отдельные записи одной даты
- Экспорт: JSON для структурной точности и Markdown для удобочитаемого экспорта «как есть»
- Темы
- Автоматическое резервное копирование: проверенные зашифрованные снимки, создаваемые перед миграциями и разрушительными действиями, с многоуровневым хранением на год назад
- Статистика
- Настройки: первый день недели, переключатель будущих записей, видимость заголовков, проверка орфографии, автоблокировка, смена пароля, управление методами аутентификации
- Кроссплатформенность: Windows, macOS и Linux
- Нулевой сетевой доступ: нет телеметрии, нет аналитики, нет проверок обновлений
Документация
- Онлайн-документация для пользователей: https://mini-diarium.com/docs
- Офлайн / руководство пользователя на GitHub: docs/USER_GUIDE.md
- Установка: docs/INSTALLATION.md
- Аутентификация по файлу ключа: docs/KEY_FILE_AUTHENTICATION.md
- Диаграммы архитектуры и потоки данных: docs/ARCHITECTURE.md
- Известные проблемы / компромиссы: docs/KNOWN_ISSUES.md
- Конфиденциальность: docs/PRIVACY.md
- Модель безопасности + сообщение об уязвимостях: SECURITY.md
- Пользовательские плагины (Rhai): docs/user-plugins/USER_PLUGIN_GUIDE.md
Архитектура
Диаграммы и подробные потоки данных см. в docs/ARCHITECTURE.md.
Горячие клавиши
| Действие | Сочетание клавиш |
|---|---|
| Предыдущий день | Ctrl+[ |
| Следующий день | Ctrl+] |
| Перейти к сегодняшнему дню | Ctrl+T |
| Перейти к дате | Ctrl+G |
| Предыдущий месяц | Ctrl+Shift+[ |
| Следующий месяц | Ctrl+Shift+] |
| Настройки | Ctrl+, |
Статистика, импорт и экспорт доступны через меню «Дневник» (без назначенных клавиатурных сокращений по умолчанию).
На macOS используйте Cmd вместо Ctrl.
Сборка из исходного кода
Предварительные требования: Rust (см. rust-toolchain.toml), Bun 1.x и системные зависимости Tauri v2.
Подробные инструкции для конкретных платформ (имена пакетов Linux, настройка Fedora, устранение неполадок Wayland) см. в CONTRIBUTING.md.
git clone https://github.com/fjrevoredo/mini-diarium.git
cd mini-diarium
bun install
bun run tauri build
Артефакты будут в target/release/bundle/ (корень рабочей области Cargo владеет target/).
Технологический стек
- Tauri 2: фреймворк для настольных приложений (бэкенд на Rust, веб-фронтенд)
- SolidJS: реактивный UI-фреймворк
- Rust: логика бэкенда, шифрование, база данных
x25519-dalek,hkdf,sha2: обёртывание ключей X25519 ECIES для аутентификации по файлу ключа
- SQLite: локальное зашифрованное хранилище базы данных
- TipTap: редактор форматированного текста
- UnoCSS: utility-first CSS
- Kobalte: доступные UI-примитивы
Известные проблемы
Полный список известных ограничений, осознанных компромиссов и технического долга см. в docs/KNOWN_ISSUES.md.
Основные моменты для пользователей:
- Одновременный доступ к одному и тому же файлу дневника не поддерживается (осознанно)
- Восстановление пароля невозможно — потеря всех учётных данных необратима (осознанно)
- Полнотекстовый поиск выполняется как сканирование расшифрованных записей в памяти (возвращено после удаления FTS в v0.2.0); ничего доступного для поиска не записывается на диск
- Импорт одного и того же файла дважды создаёт дублирующиеся записи (без дедупликации)
- Изменения плагинов требуют перезапуска приложения для вступления в силу
Расширение Mini Diarium
Вы можете добавлять локальные расширения импорта/экспорта с помощью скриптов Rhai в папке plugins/ вашего дневника.
Требования, лучшие практики и полный пример плагина см. в docs/user-plugins/USER_PLUGIN_GUIDE.md.
Бенчмарки производительности
Бенчмарки Criterion для горячих путей криптографии и базы данных отслеживаются при каждом пуше в master и публикуются на fjrevoredo.github.io/mini-diarium/benchmarks/.
Страница охватывает четыре области: деривация ключа Argon2id (намеренно медленная — ~200 мс для устойчивости к перебору), шифрование/дешифрование AES-256-GCM при трёх размерах записей, операции SQLite (вставка, обновление, удаление, перечисление дат, полное сканирование) и расчёт количества слов. Каждая карточка показывает последнее время выполнения и график тренда Chart.js за последние 30 прогонов CI.
Участие в разработке
Инструкции по настройке, рабочий процесс разработки и соглашения см. в CONTRIBUTING.md. Для мейнтейнеров, добавляющих официальные плагины, см. docs/BUILTIN_PLUGIN_GUIDE.md. Для мейнтейнеров, изменяющих фронтенд UI/состояние, бэкенд на Rust, границу IPC Tauri, безопасность WebView или CI, см. docs/best-practices.
Переводы
Mini Diarium поставляется на следующих языках:
- English
- French (Français)
- German (Deutsch)
- Hindi (हिन्दी)
- Italian (Italiano)
- Portuguese (Brazil) (Português (Brasil))
- Spanish (Español)
Если вы хотите добавить поддержку другого языка, см. docs/TRANSLATIONS.md с инструкциями по созданию файла локали и отправке PR.
Релизы
Для мейнтейнеров: пошаговые инструкции по выпуску см. в docs/releasing/RELEASING.md.
Безопасность
Модель безопасности и порядок сообщения об уязвимостях см. в SECURITY.md.
Лицензия
Mini Diarium распространяется под лицензией MIT. См. LICENSE.
Благодарности
Сделано с любовью Francisco J. Revoredo (с небольшой помощью Claude Code).
Участники
Спасибо всем, кто внёс вклад в Mini Diarium кодом, переводами или улучшениями: