passnag

Crates.iopassnag
lib.rspassnag
version
sourcesrc
created_at2025-02-12 19:03:33.218889+00
updated_at2025-02-12 19:03:33.218889+00
descriptiona tool that nags you to train your passwords
homepage
repositoryhttps://github.com/GoldsteinE/passnag
max_upload_size
id1553309
Cargo.toml error:TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Max “Goldstein” Siling (GoldsteinE)

documentation

README

passnag

a simple thingy that nags you to train your passwords.

install with attached flake.nix or just with cargo install --locked passnag. I will accept patches that add new packaging schemes as long as they're not too bothersome to maintain.

add passnag nag to your shell config so it nags you every time you start a new shell session. run passnag to train your passwords. run passnag all to train all of them, even if it's not time yet. run passnag add <name> to add a new password.

passwords are stored in $XDG_DATA_DIR/passnag/<name>, salted + hashed with argon2id. a token attempt is made to zeroize passwords from memory, but I don't really believe in reliable zeroizing.

you can store a config at $XDG_CONFIG_DIR/passnag/config.toml, which has a single key right now:

interval = "1w 1d 1h 1m 1s"

it accepts a sequence of space-separated suffixed numbers. suffixes mean weeks, days, hours, minutes and seconds respectively. default is one day.

the time of the last successful attempt is stored in the file mtime, so if your FS messes with mtimes passnag will behave weird.

license is GPL 3.0 only.

Commit count: 3

cargo fmt