npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

raspberry-password-manager

v1.0.3

Published

A simple AES-GCM CLI password manager

Readme

raspberry-password-manager

A simple AES-256-GCM–encrypted CLI password manager for the terminal.


Table of Contents


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 inquirer and chalk.

Installation

From npm

Install the CLI globally so passwdm is available on your PATH:

npm install -g raspberry-password-manager

Or 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-manager

From 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 init

Initialization

Before first use, run:

passwdm init

This will:

  1. Prompt you to set and confirm a master application password.
  2. Generate a 32-byte Base64 encryption key.
  3. Save both to ~/.passwdm/config.json (file permissions 600).

Important: Backup your encryption key! If you lose it, stored passwords become irretrievable.


Usage

Launch the interactive menu:

passwdm

You’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 ENTER

Configuration & 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 public

Users can then update:

npm update -g raspberry-password-manager

Uninstallation

  1. Uninstall the CLI
    npm uninstall -g raspberry-password-manager
  2. Remove your data (optional)
    rm -rf ~/.passwdm

Contributing

  1. Fork this repository.
  2. Create a branch:
    git checkout -b feature/awesome-new-feature
  3. Make changes and commit.
  4. 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.