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. Make sure you installed dev dependancies

  2. cd into the root directory of the project

cd path/to/onilock
  1. Run the following command to create the package:
python -m build
  1. Install pipx
sudo apt install pipx
  1. Install the package systemwide

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

pipx install dist/onilock-<current-version>-py3-none-any.whl

📌 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 MIT License.

🤝 Contributing

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

📧 Contact

Author: Mouad Kommir
Email: mouad.kommir@payticconnect.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.3.2.tar.gz (13.0 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.3.2-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for onilock-1.3.2.tar.gz
Algorithm Hash digest
SHA256 59547a1f201a5ff33e3b963bcdc440ea1a95f4e9a4f2bc4dae2adc39428e6c54
MD5 743ce1e0186da7a11b6bc843bf644870
BLAKE2b-256 301b6f905cbef6cc4a34c9f8660d4c63ee23c7d66f3932df38a9eef763d4cf11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: onilock-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 15.8 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.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 78bac1481eb2ce96b1c248d57a3ac3a7e8f246c8f32d3df31bee7df09f6146ac
MD5 a83be67da0aff4bb5c7c6bd0dcb6800c
BLAKE2b-256 0975e9f650f90b6edc8aee5555767044f84d0e422e2dfb98667f0cd078042f70

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