Skip to content

projectlighthouse-io/rune

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rune

A CLI password manager built lesson-by-lesson in Rust from Zero on projectlighthouse.io.

Each commit on master corresponds to one chapter. Read the book; the diff is the lesson.

Subject to change as the repo evolves (bug fixes, dep updates) or the book updates. Book v1 published at commit 56dcca049e3abf4e590c3b87c7b0d9e83760aeb5.

What it does

  • AES-GCM sealed vault, Argon2id-derived key
  • Local SQLite + file blob store, optional git sync
  • Session cache (TTL) so you don't retype the master password
  • Password generator with character-class controls
  • Axum HTTP server with cookie sessions and x25519 keypair sharing
  • JSON output, shell completions, masked reveal (eh)

Build

cargo build --release
./target/release/rune --help

Requires Rust 2024 edition (1.85+).

Quick start

rune init                       # create default vault
rune add github.com             # prompts for password
rune get github.com --json
rune gen --length 24
rune serve --addr 127.0.0.1:8080
rune completions fish > ~/.config/fish/completions/rune.fish

Config lives at $XDG_CONFIG_HOME/rune/config.toml (override with --config).

Test

cargo test
cargo test --test properties

Contributing

See CONTRIBUTING.md. Short version: bug fixes and dep bumps welcome; new features and refactors are not, because each commit maps to a book chapter.

License

AGPL-3.0 (see LICENSE).

About

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages