
mini-diarium v0.6.3
Un diario solo locale con crittografia seria. Gratuito, open source e non tocca mai internet.
Mini Diarium
Un diario locale con crittografia seria. Gratuito, open source e che non tocca mai Internet.
mini-diarium.com · Download · Documentazione · Funzionalità · Filosofia · Benchmark
☕ Supporta il Progetto
Mini Diarium è gratuito, open source e lo sarà sempre. Se lo trovi utile e vuoi sostenere il suo sviluppo, considera l'idea di offrirmi un caffè su Ko-fi. Ogni donazione va direttamente a mantenere vivo questo progetto e a migliorarlo.
Preferisci le criptovalute? Monero, Bitcoin e Lightning sono qui sotto e in DONATE.md.
Dona con criptovalute (Monero · Bitcoin · Lightning)
Monero (XMR), indirizzo standard mainnet:
4ApNmqczyAoWsprSrCMsPNKTGhxaH1Cs6agLVaGiKuBBVSotWK9uj3oVQkWYUX9XUGQJyC9WB7cMofE8wfp5BbUoEdcwbjv
Bitcoin (BTC), SegWit nativo on-chain (bech32):
bc1q0y6v888ala2f8r7tm8g30vqt9ma09w9ww4jhum
Bitcoin su Lightning, un indirizzo Lightning compatibile con Cake Wallet, Phoenix, Zeus, Blink e Wallet of Satoshi:
Verifica sempre gli indirizzi confrontandoli con DONATE.md sul ramo master prima di inviare. Quel file copre anche gli avvisi di rete e cosa le donazioni comprano e non comprano.
Download
Scarica l'ultima versione per la tua piattaforma da GitHub Releases.
Richiede Windows 10 (1809)+, macOS 10.15 Catalina+ o Linux (Ubuntu 20.04+, Fedora 36+, Arch o equivalente).
Installazione rapida:
- Windows (Microsoft Store): apps.microsoft.com/detail/9PJFTX44ZS43
- Windows (WinGet):
winget install fjrevoredo.MiniDiarium - macOS (Homebrew):
brew tap fjrevoredo/mini-diariume poibrew install --cask mini-diarium - Linux (Flatpak):
flatpak install flathub io.github.fjrevoredo.mini-diarium - NixOS / Nix (Flakes):
nix run github:fjrevoredo/mini-diarium
Per i formati di pacchetto, le note sul primo avvio (Gatekeeper / SmartScreen) e la verifica dei checksum, consulta docs/INSTALLATION.md.
Avvio Rapido
- Avvia Mini Diarium
- Crea una password (questa crittografa il tuo diario; non c'è recupero se la dimentichi)
- Scrivi la tua prima voce. Si salva automaticamente mentre scrivi
- Naviga tra i giorni con
Ctrl+[/Ctrl+]o clicca le date sul calendario - Blocca il tuo diario quando hai finito
Contesto
Mini Diarium è il successore spirituale di Mini Diary di Samuel Meuli. Amavo lo strumento originale. Era semplice, privato e faceva esattamente ciò che un'app di diario dovrebbe fare. Purtroppo, non è più mantenuto da anni e le sue dipendenze sono invecchiate. Inizialmente ho pensato di farne un fork e modernizzare lo stack, ma si è rivelato poco pratico. Così ho ricominciato da zero, mantenendo la stessa filosofia di base (crittografato, solo locale, focalizzato) mentre ricostruivo completamente con Tauri 2, SolidJS e Rust. Il risultato è un'app più leggera e veloce con crittografia più forte e alcuni tocchi personali.
Prima la Filosofia
Mini Diarium è intenzionalmente opinabile. La filosofia non è una nota a margine, è il prodotto:
- Nucleo piccolo ed estensibile: mantieni le responsabilità principali ristrette (crittografare, archiviare, autenticare) e spingi gli extra verso punti di estensione
- Sicurezza noiosa: usa algoritmi consolidati e librerie sottoposte ad audit, mai crittografia personalizzata
- Solo locale per design: niente sincronizzazione cloud, niente telemetria, niente analisi, nessun comportamento di rete nascosto
- Facile entrare, facile uscire: importa da formati comuni ed esporta in formati aperti per evitare il lock-in
- Ambito focalizzato: diario privato piuttosto che proliferazione di funzionalità
- Semplicità piuttosto che ingegnosità: meno parti mobili, superficie d'attacco più piccola, manutenzione più facile
Leggi i principi completi e come si traducono nell'architettura in PHILOSOPHY.md.
[!NOTE] Mini Diarium usa strumenti di IA come leva per gli ingegneri umani, mai come sostituto. Ogni modifica passa comunque attraverso progettazione deliberata, implementazione attenta, test adeguati e feedback diretto. Responsabilità, paternità e giudizio finale restano umani.
Funzionalità
- Autenticazione con file chiave: sblocca il tuo diario con un file di chiave privata X25519 invece della (o insieme alla) password, come le chiavi SSH per il tuo diario. Vedi docs/KEY_FILE_AUTHENTICATION.md.
- Diari solo locali: crea diari che si sbloccano automaticamente sul tuo dispositivo (senza richiesta di password) pur continuando a crittografare le voci a riposo.
- Crittografia AES-256-GCM: tutte le voci sono crittografate con una chiave master casuale. Ogni metodo di autenticazione conserva la propria copia avvolta di quella chiave, quindi aggiungere o rimuovere un metodo è O(1), senza ri-crittografare le tue voci.
- Più diari: tieni diari separati per scopi diversi (personale, lavoro, viaggio).
- Editor di testo ricco: incluse le immagini.
- Tag
- Più voci al giorno: tieni voci separate per la stessa data senza unirle
- Navigazione tramite calendario
- Importazione: Mini Diary JSON, Day One JSON/TXT e jrnl JSON con importazioni additive che preservano voci separate della stessa data
- Esportazione: JSON per la fedeltà strutturale e Markdown per un'esportazione leggibile dall'uomo best-effort
- Temi
- Backup automatici: snapshot crittografati e verificati eseguiti prima di migrazioni e azioni distruttive, con conservazione a livelli che risale a un anno
- Statistiche
- Preferenze: primo giorno della settimana, opzione voci future, visibilità del titolo, controllo ortografico, blocco automatico, cambio password, gestione dei metodi di autenticazione
- Multipiattaforma: Windows, macOS e Linux
- Zero accesso di rete: niente telemetria, niente analisi, niente controlli aggiornamenti
Documentazione
- Documentazione utente online: https://mini-diarium.com/docs
- Guida utente offline / GitHub: docs/USER_GUIDE.md
- Installazione: docs/INSTALLATION.md
- Autenticazione con file chiave: docs/KEY_FILE_AUTHENTICATION.md
- Diagrammi dell'architettura e flussi: docs/ARCHITECTURE.md
- Problemi noti / compromessi: docs/KNOWN_ISSUES.md
- Privacy: docs/PRIVACY.md
- Modello di sicurezza + segnalazioni: SECURITY.md
- Plugin utente (Rhai): docs/user-plugins/USER_PLUGIN_GUIDE.md
Architettura
Per i diagrammi e i flussi di dati dettagliati, consulta docs/ARCHITECTURE.md.
Scorciatoie da Tastiera
| Azione | Scorciatoia |
|---|---|
| Giorno precedente | Ctrl+[ |
| Giorno successivo | Ctrl+] |
| Vai a Oggi | Ctrl+T |
| Vai a una Data | Ctrl+G |
| Mese precedente | Ctrl+Shift+[ |
| Mese successivo | Ctrl+Shift+] |
| Preferenze | Ctrl+, |
Statistiche, Importazione ed Esportazione sono disponibili tramite il menu Diario (nessun acceleratore da tastiera predefinito).
Su macOS, usa Cmd invece di Ctrl.
Compilazione dal Codice Sorgente
Prerequisiti: Rust (vedi rust-toolchain.toml), Bun 1.x e dipendenze di sistema Tauri v2.
Per istruzioni dettagliate specifiche per piattaforma (nomi dei pacchetti Linux, configurazione Fedora, risoluzione problemi Wayland), consulta CONTRIBUTING.md.
git clone https://github.com/fjrevoredo/mini-diarium.git
cd mini-diarium
bun install
bun run tauri build
Gli artefatti saranno in target/release/bundle/ (la root del workspace Cargo possiede target/).
Stack Tecnologico
- Tauri 2: framework per app desktop (backend Rust, frontend web)
- SolidJS: framework UI reattivo
- Rust: logica backend, crittografia, database
x25519-dalek,hkdf,sha2: avvolgimento chiave X25519 ECIES per l'autenticazione con file chiave
- SQLite: archiviazione locale del database crittografato
- TipTap: editor di testo ricco
- UnoCSS: CSS utility-first
- Kobalte: primitive UI accessibili
Problemi Noti
Per l'elenco completo delle limitazioni note, dei compromessi deliberati e del debito tecnico, consulta docs/KNOWN_ISSUES.md.
Punti salienti per l'utente:
- L'accesso concorrente allo stesso file di diario non è supportato (per design)
- Nessun recupero password — perdere tutte le credenziali è permanente (per design)
- La ricerca full-text viene eseguita come scansione in memoria sulle voci decrittografate (riaggiunta dopo la rimozione FTS della v0.2.0); nulla di ricercabile viene scritto su disco
- Importare due volte lo stesso file crea voci duplicate (nessuna deduplicazione)
- Le modifiche ai plugin richiedono un riavvio dell'app per avere effetto
Estendere Mini Diarium
Puoi aggiungere estensioni locali di importazione/esportazione usando script Rhai nella cartella plugins/ del tuo diario.
Consulta docs/user-plugins/USER_PLUGIN_GUIDE.md per requisiti, best practice e un esempio completo di plugin.
Benchmark delle Prestazioni
I benchmark Criterion per i percorsi critici di crittografia e database vengono tracciati a ogni push su master e pubblicati su fjrevoredo.github.io/mini-diarium/benchmarks/.
La pagina copre quattro aree: derivazione della chiave Argon2id (intenzionalmente lenta — ~200 ms per resistere alla forza bruta), crittografia/decrittografia AES-256-GCM a tre dimensioni di voce, operazioni SQLite (insert, update, delete, enumerazione date, scansione completa) e calcolo del conteggio parole. Ogni scheda mostra l'ultimo tempo e un grafico di tendenza Chart.js sugli ultimi 30 run CI.
Contribuire
Consulta CONTRIBUTING.md per le istruzioni di configurazione, il flusso di lavoro di sviluppo e le convenzioni. Per i manutentori che aggiungono plugin ufficiali, consulta docs/BUILTIN_PLUGIN_GUIDE.md. Per i manutentori che modificano UI/state del frontend, il backend Rust, il confine IPC Tauri, la sicurezza WebView o la CI, consulta docs/best-practices.
Traduzioni
Mini Diarium è disponibile nelle seguenti lingue:
- Inglese (English)
- Francese (Français)
- Tedesco (Deutsch)
- Hindi (हिन्दी)
- Italiano (Italiano)
- Portoghese (Brasile) (Português (Brasil))
- Spagnolo (Español)
Se desideri aggiungere il supporto per un'altra lingua, consulta docs/TRANSLATIONS.md per le istruzioni su come creare un file locale e inviare una PR.
Rilascio
Per i manutentori: consulta docs/RELEASING.md per le istruzioni di rilascio passo passo.
Sicurezza
Consulta SECURITY.md per il modello di sicurezza e come segnalare vulnerabilità.
Licenza
Mini Diarium è concesso in licenza sotto la MIT License. Vedi LICENSE.
Crediti
Fatto con amore da Francisco J. Revoredo (con un piccolo aiuto da Claude Code).
Collaboratori
Grazie a tutti coloro che hanno contribuito con codice, traduzioni o miglioramenti a Mini Diarium: