raspberry-password-manager
v1.0.3
Published
A simple AES-GCM CLI password manager
Maintainers
Readme
raspberry-password-manager
A simple AES-256-GCM–encrypted CLI password manager for the terminal.
Table of Contents
- Introduction
- Features
- Installation
- Initialization
- Usage
- Configuration & Data Files
- Updating
- Uninstallation
- Contributing
- License
Introduction
raspberry-password-manager (invoked as passwdm) is a zero-dependency Node.js CLI tool to:
- Generate strong, random passwords.
- Encrypt them with AES-256-GCM.
- Store them securely in your home directory (
~/.passwdm). - Protect access via a master application password.
Source code on GitHub: jithinrajtnr/my-password-manager
Features
- One-time setup (
passwdm init) for master password & encryption key. - Interactive menu:
- Generate a new password entry.
- Get (decrypt) an existing password.
- Delete all entries for a site.
- Automatic home-directory storage (
~/.passwdm/store.json). - Built with standard Node.js libraries, plus
inquirerandchalk.
Installation
From npm
Install the CLI globally so passwdm is available on your PATH:
npm install -g raspberry-password-managerOr view the package on npm: https://www.npmjs.com/package/raspberry-password-manager
Alternatively, to include it as a dependency in another project:
npm install --save raspberry-password-managerFrom GitHub (development)
Clone the source and link the CLI for development:
# via SSH
git clone [email protected]:jithinrajtnr/my-password-manager.git
# or via HTTPS
git clone https://github.com/jithinrajtnr/my-password-manager.git
cd my-password-manager
npm install
npm link
passwdm initInitialization
Before first use, run:
passwdm initThis will:
- Prompt you to set and confirm a master application password.
- Generate a 32-byte Base64 encryption key.
- Save both to
~/.passwdm/config.json(file permissions600).
Important: Backup your encryption key! If you lose it, stored passwords become irretrievable.
Usage
Launch the interactive menu:
passwdmYou’ll be asked for your master password, then presented with options:
- Generate – Create and display a new password.
- Get – Decrypt and show an existing password.
- Delete site – Remove all entries for a chosen site.
- Exit – Quit the tool.
Example Session
$ passwdm
Enter application access password: ••••••••
🔐 CLI Password Manager
? Choose: (Use arrow keys)
❯ Generate
Get
Delete site
Exit
# Choose “Generate”
? App/site name: example.com
✅ New password for "example.com":
L8&dR#2qPpXe
Press ENTERConfiguration & Data Files
All data lives under your home directory in ~/.passwdm:
config.json{ "appPassword": "your-master-password", "encryptionKey": "wN7...base64-32-bytes...XJ4" }store.json{ "entries": [ { "id": "uuid", "name": "example.com", "secret": "<AES-GCM payload>", "createdAt": "2025-08-05T12:34:56.789Z", "deprecated": false } ] }
Updating
After fixing bugs or adding features, bump the version in package.json:
npm version [patch|minor|major]
npm publish --access publicUsers can then update:
npm update -g raspberry-password-managerUninstallation
- Uninstall the CLI
npm uninstall -g raspberry-password-manager - Remove your data (optional)
rm -rf ~/.passwdm
Contributing
- Fork this repository.
- Create a branch:
git checkout -b feature/awesome-new-feature - Make changes and commit.
- Push and open a pull request against
main.
Please follow the existing code style and update documentation for any new behavior.
License
This project is licensed under the MIT License. See LICENSE for details.
