
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)이며 항목을 다시 암호화할 필요가 없습니다.
- 여러 저널: 개인, 업무, 여행 등 목적에 따라 별도의 저널을 유지할 수 있습니다.
- 리치 텍스트 편집기: 이미지 포함.
- 태그
- 날짜당 여러 항목: 같은 날짜에 대해 별도의 항목을 병합하지 않고 유지할 수 있습니다
- 달력 탐색
- 가져오기: 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 백엔드, 웹 프론트엔드)
- SolidJS: 반응형 UI 프레임워크
- Rust: 백엔드 로직, 암호화, 데이터베이스
x25519-dalek,hkdf,sha2: 키 파일 인증을 위한 X25519 ECIES 키 래핑
- SQLite: 로컬 암호화 데이터베이스 저장
- TipTap: 리치 텍스트 편집기
- UnoCSS: 유틸리티 우선 CSS
- Kobalte: 접근성 UI 프리미티브
알려진 문제
알려진 제한 사항, 의도적인 트레이드오프, 기술 부채의 전체 목록은 docs/KNOWN_ISSUES.md를 참조하세요.
사용자에게 중요한 사항:
- 동일한 저널 파일에 대한 동시 접근은 지원되지 않습니다 (설계상)
- 비밀번호 복구 없음 — 모든 자격 증명을 잃으면 영구적입니다 (설계상)
- 전체 텍스트 검색은 복호화된 항목에 대한 인메모리 스캔으로 실행됩니다 (v0.2.0 FTS 제거 후 다시 추가됨); 검색 가능한 어떤 것도 디스크에 기록되지 않습니다
- 동일한 파일을 두 번 가져오면 중복 항목이 생성됩니다 (중복 제거 없음)
- 플러그인 변경 사항은 앱 재시작이 필요합니다
Mini Diarium 확장하기
저널의 plugins/ 폴더에 Rhai 스크립트를 사용하여 로컬 가져오기/내보내기 확장 기능을 추가할 수 있습니다.
요구 사항, 모범 사례, 완전한 예제 플러그인은 docs/user-plugins/USER_PLUGIN_GUIDE.md를 참조하세요.
성능 벤치마크
암호화 및 데이터베이스 핫 경로에 대한 Criterion 벤치마크는 master에 푸시될 때마다 추적되며 **fjrevoredo.github.io/mini-diarium/benchmarks/**에 게시됩니다.
이 페이지는 네 가지 영역을 다룹니다: Argon2id 키 파생 (의도적으로 느림 — 무차별 대입 저항을 위해 약 200ms), 세 가지 항목 크기의 AES-256-GCM 암호화/복호화, SQLite 작업 (삽입, 업데이트, 삭제, 날짜 열거, 전체 스캔), 단어 수 계산. 각 카드는 최신 타이밍과 지난 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)
다른 언어 지원을 추가하려면 docs/TRANSLATIONS.md에서 로케일 파일 생성 및 PR 제출 지침을 확인하세요.
릴리스
관리자용: 단계별 릴리스 지침은 docs/releasing/RELEASING.md를 참조하세요.
보안
보안 모델 및 취약점 신고 방법은 SECURITY.md를 참조하세요.
라이선스
Mini Diarium은 MIT 라이선스로 배포됩니다. LICENSE 참조.
크레딧
Francisco J. Revoredo가 사랑을 담아 만들었습니다 (Claude Code의 약간의 도움 포함).
기여자
Mini Diarium에 코드, 번역 또는 개선 사항을 기여해 주신 모든 분들께 감사드립니다: