Skip to main content

Password Manager CLI

Project description

OniLock - Secure Password Manager CLI

OniLock is a command-line password manager that allows you to securely store, retrieve, and manage your passwords with ease. Designed for simplicity and security, OniLock offers encryption and clipboard integration to keep your credentials safe.

🚀 Features

  • Initialize a secure profile using onilock init
  • Store new accounts with onilock new
  • List stored accounts using onilock list
  • Copy passwords to clipboard securely with onilock copy
  • Remove accounts using onilock remove
  • Generate strong passwords with onilock generate
  • Shell completion support for faster command-line usage

🛠 Installation

OniLock is best installed using pipx to keep it isolated:

  1. Install pipx
sudo apt install pipx
  1. Install OniLock systemwide

N.B. Make sure you don't have any active virtual environments before executing this command.

pipx install onilock

📌 Usage

Once installed, you can use onilock directly from your terminal:

onilock --help

🔹 Initialize OniLock

Before using OniLock, initialize your profile:

onilock init

🔹 Add a New Account

onilock new

You will be prompted to enter the account name, username, and password.

🔹 List Stored Accounts

onilock list

Displays all saved accounts.

🔹 Copy a Password to Clipboard

onilock copy <account_name>

This copies the password to your clipboard securely.

🔹 Remove an Account

onilock remove <account_name>

Deletes the stored credentials.

🔹 Generate a Secure Password

onilock generate

Creates a strong random password.

🔒 Security

  • OniLock encrypts stored passwords and prevents direct file access.
  • Uses the system keyring for secure storage (if available).
  • Passwords copied to the clipboard are automatically cleared after a short period.

🖥️ Shell Autocompletion

Enable shell autocompletion for easier usage:

onilock --install-completion

📜 License

OniLock is open-source and licensed under the Apache 2.0 License.

🤝 Contributing

Contributions are welcome! Feel free to submit issues and pull requests.

📝 Changelog

v1.5.0

  • Rename shadow to vault
  • Clear clipboard after 25 seconds if it still contains the password.
  • Encrypt json files using PGP key instead of storing them as raw json file.
  • Detect file corruption and manipulation using checksums

v1.4.0

  • Publish the project under the Apache 2.0 license
  • Multiple refactoring
  • Big upgrade to README.md file.

v1.3.2

  • Prepare for publishing to PyPi

v1.3.1

  • Renamed Account to Profile
  • Renamed Password to Account
  • Renamed the accounts command to list
  • Remove exceptions and replace them with meaningful messages.

v1.3.0

  • Removed .env support
  • Implement keyring secret storage.
  • Introduce prompts to facilitate user input

View more changelog history on CHANGELOG.md file.

📧 Contact

Author: Mouad Kommir
Email: mouadkommir@gmail.com

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

onilock-1.5.4.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

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

onilock-1.5.4-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file onilock-1.5.4.tar.gz.

File metadata

  • Download URL: onilock-1.5.4.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for onilock-1.5.4.tar.gz
Algorithm Hash digest
SHA256 a44f6b99f7bcd7098cdaabfba2705f258a6bdbb74d0ae04d11f6620b8c8e7d14
MD5 00351d149325e8e0377b3934d0f60a72
BLAKE2b-256 600813f24c5c0d7d40cf89463b058200b365ebb1a6397e6f44a5b6d16e33fed2

See more details on using hashes here.

File details

Details for the file onilock-1.5.4-py3-none-any.whl.

File metadata

  • Download URL: onilock-1.5.4-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for onilock-1.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 380d4cc1eb216573330eb3e801611849bd9ea2b09e54b07a860f59f8ed06265f
MD5 ace3350762ffef5962e236c278bc22b9
BLAKE2b-256 6ad084201f06e54438fe6c1753e450773f467067437a63fbb8aeb46087b5591d

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