
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)、オンチェーン・ネイティブ SegWit (bech32):
bc1q0y6v888ala2f8r7tm8g30vqt9ma09w9ww4jhum
Bitcoin over Lightning、Cake Wallet、Phoenix、Zeus、Blink、Wallet of Satoshi で利用できる Lightning アドレス:
送金前に、必ず master ブランチの DONATE.md でアドレスを確認してください。このファイルには、ネットワークに関する注意事項や、寄付で実現できること・できないことも記載されています。
ダウンロード
お使いのプラットフォーム向けの最新リリースは 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 は、Samuel Meuli による Mini Diary の精神的な後継です。私は元のツールが大好きでした。シンプルで、プライベートで、日記アプリがすべきことを正確に実行してくれました。残念ながら、何年もメンテナンスされておらず、依存関係も古くなっていました。最初はフォークしてスタックを近代化することを考えましたが、現実的ではないことがわかりました。そこで、同じ中核となる哲学(暗号化、ローカルのみ、集中)を維持しながら、Tauri 2、SolidJS、Rust で完全にゼロから作り直しました。その結果、より軽く、より速く、より強力な暗号化と、いくつかの個人的なタッチを備えたアプリが生まれました。
哲学が最優先
Mini Diarium は意図的に独自の意見を持っています。哲学は付随的なものではなく、製品そのものです:
- 小さく、拡張可能なコア: 中核となる責務(暗号化、保存、認証)を厳密に保ち、その他は拡張ポイントに委ねる
- 退屈なセキュリティ: 確立されたアルゴリズムと監査済みライブラリを使用し、独自の暗号化は決して行わない
- 設計上ローカルのみ: クラウド同期なし、テレメトリなし、分析なし、隠れたネットワーク動作なし
- 簡単に入って、簡単に出る: 一般的な形式からのインポートと、オープン形式でのエクスポートにより、ロックインを回避
- 焦点を絞った範囲: 機能の氾濫よりもプライベートな日記作成
- 巧妙さよりもシンプルさ: 可動部品が少なく、攻撃対象領域が小さく、メンテナンスが容易
完全な原則と、それがアーキテクチャにどのように反映されているかは、PHILOSOPHY.md で読むことができます。
[!NOTE] Mini Diarium は、人間のエンジニアを支援するための手段として AI ツールを使用しており、決して代替として使用していません。すべての変更は、依然として意図的な設計、慎重な実装、適切なテスト、直接的なフィードバックを経ています。責任、作者性、最終的な判断は人間にあります。
機能
- キーファイル認証: パスワードの代わりに(またはパスワードに加えて)X25519 秘密鍵ファイルで日記のロックを解除します。日記用の SSH キーのようなものです。docs/KEY_FILE_AUTHENTICATION.md を参照してください。
- ローカルのみの日記: デバイス上で自動的にロック解除される(パスワードプロンプトなし)日記を作成しながら、エントリを保存時に暗号化します。
- AES-256-GCM 暗号化: すべてのエントリはランダムなマスターキーで暗号化されます。各認証方法はそのキーのラップされたコピーを保持するため、方法の追加または削除は O(1) で、エントリの再暗号化は不要です。
- 複数の日記: 目的別(個人用、仕事用、旅行用)に別々の日記を保持できます。
- リッチテキストエディタ: 画像も含みます。
- タグ
- 1日あたり複数のエントリ: 同じ日付のエントリをマージせずに別々に保持できます
- カレンダーナビゲーション
- インポート: Mini Diary JSON、Day One JSON/TXT、jrnl JSON。同じ日付の別々のエントリを保持する追加型インポートに対応
- エクスポート: 構造的忠実性のための JSON と、人間が読めるベストエフォート型エクスポートのための Markdown
- テーマ
- 自動バックアップ: 移行や破壊的操作の前に取得される検証済みの暗号化スナップショット。1年間にわたる段階的な保持ポリシー付き
- 統計
- 環境設定: 週の開始日、未来のエントリの切り替え、タイトルの表示、スペルチェック、自動ロック、パスワード変更、認証方法の管理
- クロスプラットフォーム: 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 では、Ctrl の代わりに Cmd を使用してください。
ソースからのビルド
前提条件: 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 バックエンド、Web フロントエンド)
- SolidJS: リアクティブ UI フレームワーク
- Rust: バックエンドロジック、暗号化、データベース
x25519-dalek、hkdf、sha2: キーファイル認証用の X25519 ECIES キーラッピング
- SQLite: ローカル暗号化データベースストレージ
- TipTap: リッチテキストエディタ
- UnoCSS: ユーティリティファースト CSS
- Kobalte: アクセシブルな UI プリミティブ
既知の問題
既知の制限、意図的なトレードオフ、技術的負債の完全なリストについては、docs/KNOWN_ISSUES.md を参照してください。
ユーザー向けのハイライト:
- 同じ日記ファイルへの同時アクセスはサポートされていません(設計による)
- パスワードの復旧手段はありません — すべての認証情報を失うことは永久的です(設計による)
- 全文検索は、復号化されたエントリに対するインメモリスキャンとして実行されます(v0.2.0 の FTS 削除後に再追加されました)。検索可能なものはディスクに書き込まれません
- 同じファイルを2回インポートすると、重複したエントリが作成されます(重複排除なし)
- プラグインの変更を有効にするには、アプリの再起動が必要です
Mini Diarium の拡張
日記の plugins/ フォルダに Rhai スクリプトを使用して、ローカルのインポート/エクスポート拡張機能を追加できます。
要件、ベストプラクティス、完全なサンプルプラグインについては、docs/user-plugins/USER_PLUGIN_GUIDE.md を参照してください。
パフォーマンスベンチマーク
暗号化とデータベースのホットパスに関する Criterion ベンチマークは、master へのプッシュのたびに追跡され、fjrevoredo.github.io/mini-diarium/benchmarks/ で公開されています。
このページでは、Argon2id キー導出(意図的に遅い — ブルートフォースに耐えるため約 200 ms)、3つのエントリサイズでの AES-256-GCM 暗号化/復号化、SQLite 操作(挿入、更新、削除、日付列挙、フルスキャン)、および単語数計算の4つの領域をカバーしています。各カードには最新のタイミングと、過去30回の CI 実行にわたる Chart.js トレンドチャートが表示されます。
コントリビューション
セットアップ手順、開発ワークフロー、規約については、CONTRIBUTING.md を参照してください。 公式プラグインを追加するメンテナー向け: docs/BUILTIN_PLUGIN_GUIDE.md を参照してください。 フロントエンドの UI/状態、Rust バックエンド、Tauri IPC 境界、WebView セキュリティ、または CI を変更するメンテナー向け: docs/best-practices を参照してください。
翻訳
Mini Diarium は以下の言語で提供されています:
- English
- French (Français)
- German (Deutsch)
- Hindi (हिन्दी)
- Italian (Italiano)
- Portuguese (Brazil) (Português (Brasil))
- Spanish (Español)
別の言語のサポートを追加したい場合は、ロケールファイルの作成と PR の提出方法について docs/TRANSLATIONS.md を参照してください。
リリース
メンテナー向け: ステップバイステップのリリース手順については、docs/releasing/RELEASING.md を参照してください。
セキュリティ
セキュリティモデルと脆弱性の報告方法については、SECURITY.md を参照してください。
ライセンス
Mini Diarium は MIT ライセンスの下でライセンスされています。LICENSE を参照してください。
クレジット
Francisco J. Revoredo によって愛情を込めて作られました(Claude Code の少しの助けもあり)。
コントリビューター
Mini Diarium にコード、翻訳、改善を提供してくれたすべての人に感謝します: