{"id":18714997,"url":"https://github.com/bennyboer/diary","last_synced_at":"2025-09-07T10:35:35.347Z","repository":{"id":120035169,"uuid":"583355165","full_name":"bennyboer/diary","owner":"bennyboer","description":"Digital diary with state-of-the-art encryption","archived":false,"fork":false,"pushed_at":"2023-01-08T22:58:27.000Z","size":1200,"stargazers_count":8,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-18T21:20:59.449Z","etag":null,"topics":["desktop","diary","encryption","flutter","flutter-app","rust"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bennyboer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-29T14:30:44.000Z","updated_at":"2025-05-20T07:46:26.000Z","dependencies_parsed_at":"2023-06-14T19:30:50.804Z","dependency_job_id":null,"html_url":"https://github.com/bennyboer/diary","commit_stats":{"total_commits":23,"total_committers":1,"mean_commits":23.0,"dds":0.0,"last_synced_commit":"a8a6db109fbc27e8f809712fe7052acc292f04a9"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bennyboer/diary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bennyboer%2Fdiary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bennyboer%2Fdiary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bennyboer%2Fdiary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bennyboer%2Fdiary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bennyboer","download_url":"https://codeload.github.com/bennyboer/diary/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bennyboer%2Fdiary/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267175595,"owners_count":24047886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop","diary","encryption","flutter","flutter-app","rust"],"created_at":"2024-11-07T13:07:12.862Z","updated_at":"2025-07-26T13:37:09.329Z","avatar_url":"https://github.com/bennyboer.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Diary\n\n\u003e A digital diary with state-of-the-art encryption.\n\n![Calendar](assets/calendar.png)\n\n![Editor](assets/editor.png)\n\n## Background\n\nI feel like the days of traditional diaries are over.\nNot only are they inconvenient to carry around, but they are also not very secure.\nThus, I decided to create a digital diary that is secure and easy to use.\n\n## Technology\n\nThe project is a local Desktop application that stores all data on the local file system.\nAll files in the repository are encrypted using the ChaCha20-Poly1305 cipher which uses a 256-Bit key.\nThat is plenty to protect your diary for the next years.\nThe key is derived from a password using the **Argon2** algorithm, which is currently the recommended algorithm.\nYou can only decrypt the diary again using the same password.\nIn the future we might add support for a second factor like a FIDO2 key that offers a higher level of security.\n\nIf you want to save your data in the cloud you can bind a directory to a cloud storage service like Dropbox or Google\nDrive.\nSince your data is encrypted and the cloud service private your diary should be safe from prying eyes.\n\n## Installation\n\n### Build it yourself\n\n```bash\ncd client\nflutter build windows\n```\n\nYou'll find the executable in `client/build/windows/runner/Release/`.\n\n### Build Installer\n\n```bash\nflutter pub run msix:create\n```\n\n## Usage\n\nThe app currently consists of a simple calendar that just shows whether a day has an entry or not.\nWhen clicking on the day in the calendar you'll be able to either create a new entry or edit an existing one (if you\nknow the password for decryption at least).\n\nThe encrypted diary entries are stored under your home directory in a folder named `.diary`.\n\n## Getting started\n\n### Prerequisites\n\n- Install Rust\n- Install Flutter\n- Install LLVM (https://pub.dev/packages/ffigen#installing-llvm)\n\n### Rebuilding Flutter \u003c\u003e Rust bridge\n\nRun `./tools/build_bridge.sh` or `./tools/build_bridge.bat` depending on your OS\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbennyboer%2Fdiary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbennyboer%2Fdiary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbennyboer%2Fdiary/lists"}