Skip to main content

A secure, local-first CLI password manager

Project description

App Logo

Vokul

Python Version License PyPI - Version PyPI - Downloads Hours Spent

Vokul is a local-first command-line interface (CLI) password manager designed for security and ease of use. It allows you to securely store, retrieve, and manage your sensitive credentials directly on your machine, encrypted with a master password.

Features

  • Local-First Storage: Your data stays on your machine, never touching external servers.
  • Strong Encryption: Utilizes cryptography with AES-GCM and Argon2id for key derivation.
  • CLI Interface: Manage your vault efficiently from the terminal.
  • TOTP Support: Generate Time-based One-Time Passwords for 2FA-enabled services.
  • Password History: Keeps a short history of previous passwords for each service.
  • Clipboard Integration: Automatically copies passwords to clipboard and clears them after a short delay.
  • Security Throttling: Protects against brute-force attacks with persistent lockout mechanisms.
  • Vault Backup & Recovery: Automatic backups and self-healing from corrupted vaults.
  • JSON Output: Supports machine-readable output for integration with other tools.

Installation

Prerequisites

  • Python 3.8 or higher

Using pip (Recommended)

pip install vokul

From Source

  1. Clone the repository:
    git clone https://github.com/your-repo/vokul-cli.git
    cd vokul-cli
    
  2. Install dependencies:
    pip install -e .
    

Quick Start

1. Initialize Your Vault

Before you can use VOKUL, you need to initialize a new vault and set your master password. This will create a vault.vk file in your current directory.

vokul init

2. Add a New Service

Store credentials for a new service. You will be prompted for the password if not provided directly.

vokul add --service github
vokul add --service mybank --password "StrongP@ssw0rd!" --totp "JBSWY3DPEHPK3PXP"

3. Retrieve a Password

Get a password for a service. By default, it copies to your clipboard and clears after 15 seconds.

vokul get --service github

To display the password directly in the terminal (use with caution):

vokul get --service github --show

4. Generate a TOTP Code

If you've stored a TOTP secret, you can generate the current 2FA code.

vokul totp --service mybank

5. List All Services

See all services stored in your vault.

vokul list

6. Generate a Strong Password

Create a new strong password. You can specify length, exclude symbols, or generate a memorable passphrase.

vokul generate --length 20
vokul generate --memorable
vokul generate --no-symbols

7. Delete a Service

Remove a service from your vault. This requires confirmation.

vokul delete --service oldservice

8. Destruct Your Vault

Permanently delete your entire vault file. This action is irreversible.

vokul destruct --force

Usage

For a full list of commands and options, use the --help flag:

vokul --help
vokul [command] --help

Contributing

Contributions are welcome! Please see the CONTRIBUTING.md for guidelines.

License

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

Contact

For questions or feedback, please open an issue on the GitHub repository.

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

vokul-1.0.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

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

vokul-1.0.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file vokul-1.0.0.tar.gz.

File metadata

  • Download URL: vokul-1.0.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vokul-1.0.0.tar.gz
Algorithm Hash digest
SHA256 224058a1797f427944f8593ed42424af764a67891ce0bf06601b8e5c4850d445
MD5 d13b9634311ff535bff1f5fb41b328cc
BLAKE2b-256 843541bb67206e34fc3449876ff67cd1854a77cf3e7d53aad833d19298a2a272

See more details on using hashes here.

Provenance

The following attestation bundles were made for vokul-1.0.0.tar.gz:

Publisher: pypi-publish.yaml on DevX-Dragon/vokul

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vokul-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: vokul-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vokul-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c8238f466b421e117729405cf41db9464c88b862a9be9c91065be263ff5f09c
MD5 b34e9524358075c50951b4b7dd05b7b8
BLAKE2b-256 8b5f733dbd0bb00aca4c6c74713dd41a3033c0fe134e648178d34196d1c407c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for vokul-1.0.0-py3-none-any.whl:

Publisher: pypi-publish.yaml on DevX-Dragon/vokul

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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