Skip to content

dicethedev/LockNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” LockNote

LockNote is a secure local note manager written in Rust.
It uses Argon2 password hashing and AES-GCM encryption to safely store your private notes, only you can read them.


πŸš€ Features

  • 🧠 Password-based encryption using Argon2 + AES-GCM
  • πŸ”’ AES-256 encryption for every note
  • πŸ“ Create, list, view, and delete encrypted notes
  • πŸ” Full-text search across notes (decrypted in-memory only)
  • ⚑ Asynchronous file operations via Tokio
  • πŸ’Ύ Stored in a simple JSON lockfile and locally in your home directory (~/.locknote.json)

Built With


πŸ› οΈ Installation

git clone https://github.com/dicethedev/LockNote.git
cd LockNote
cargo build --release

How to Use it

locknote init

Creates a new encrypted lockfile (locknote.json).

Add a Note

locknote add

You’ll be prompted for a title and content.

List Notes

locknote list

Shows IDs and titles of all notes.

View a Note

locknote view <id>

Decrypts and prints a specific note.

Delete a Note

locknote delete <id>

Removes a note from your lockfile

Search Notes

locknote search <keyword>

Finds all notes containing the keyword in decrypted text.

πŸ”’ Security Model

  • Each lockfile is encrypted using AES-GCM with a key derived from your password via Argon2.
  • Notes are decrypted only in memory during viewing/searching.
  • JSON structure makes backups and portability simple.

Running Tests

cargo test

You can write CLI tests in tests/cli_tests.rs using assert_cmd.

Workflow EXample

locknote init
locknote add
locknote list
locknote view 123e4567-e89b-12d3-a456-426614174000
locknote delete 123e4567-e89b-12d3-a456-426614174000
locknote search password

or

locknote init          # Initialize a secure note store
locknote add "My note" # Add a note
locknote list          # List all notes
locknote view 1        # View a note
locknote delete 1      # Delete a note

Distribution

You can copy the built binary anywhere and use it standalone

cp target/release/locknote/usr/local/bin

Future Improvements

  • Password-based encryption for each session
  • Configurable note directories
  • Cross-platform desktop version

Author

Author

Built with πŸ¦€ by Blessing Samuel

About

πŸ” A secure encrypted note manager built in Rust using Argon2 + AES-GCM + Tokio.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages