Skip to main content

A secure command-line password manager with sudo authentication

Project description

pass-cli

PyPI version Python versions License: MIT

A secure command-line password manager with sudo authentication.

Features

  • Secure password storage with AES-256 encryption
  • Generate strong random passwords
  • Store and retrieve passwords for different services
  • Sudo authentication for added security
  • Secure encryption key management
  • System keyring integration

Installation

pip install password-cli

Quick Start

  1. Initialize the password manager:
pass-cli init

This will prompt you to set up your encryption key or generate a secure random one.

  1. Authenticate with sudo:
pass-cli auth

Usage

Generate Passwords

Generate a random secure password:

pass-cli generate -l 16

Generate and store a password:

pass-cli generate -l 16 -s github -u johndoe

Store Passwords

Store an existing password:

pass-cli store -s github -u johndoe -p your-password

Retrieve Passwords

Retrieve a stored password:

pass-cli retrieve -s github -u johndoe

Check Authentication

Check sudo authentication status:

pass-cli auth-check

List Passwords

List all stored passwords:

pass-cli list

List passwords for a specific service:

pass-cli list -s github

Delete Passwords

Delete a stored password (with confirmation):

pass-cli delete -s github -u johndoe

Delete a stored password without confirmation:

pass-cli delete -s github -u johndoe --force

Security Features

  • AES-256 encryption for all stored passwords
  • PBKDF2 key derivation with high iteration count
  • Secure random password generation using secrets module
  • System keyring integration for encryption key storage
  • Sudo authentication requirement for all operations
  • Local storage only - no cloud sync for enhanced security
  • Safe deletion with confirmation mechanism

Development Setup

  1. Clone the repository:
git clone https://github.com/yourusername/pass-cli.git
cd pass-cli
  1. Create and activate virtual environment:
python -m venv venv
source venv/bin/activate  # Linux/Mac
# or
venv\Scripts\activate     # Windows
  1. Install dependencies:
pip install -r requirements.txt
pip install -r requirements-dev.txt
  1. Run tests:
pytest

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

password_cli-0.1.6.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

password_cli-0.1.6-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file password_cli-0.1.6.tar.gz.

File metadata

  • Download URL: password_cli-0.1.6.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for password_cli-0.1.6.tar.gz
Algorithm Hash digest
SHA256 4f4e0c015be654ee7c3f9689e049bbfda012cfbc5b47fb018fa0b7c2c7fdac3c
MD5 2af191c0d66b77e94c78d23551d9a419
BLAKE2b-256 20f8654f39f860f62b23ab657fa97b664c8d729cec08f247e65077a9d80c5270

See more details on using hashes here.

File details

Details for the file password_cli-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: password_cli-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for password_cli-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f574aee7258e309c6b5f4ad778f5eafbfc82d2a15ae8d99254687b553962d190
MD5 62f962af41813fb35e86810de1c87d72
BLAKE2b-256 9222b925399d5f09c38257da12e58da3688dca641dd1a157da7ea51633e4b17e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page