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.

📖 Introduction

Most password managers focus on graphical interfaces, leaving terminal enthusiasts behind. Onilock changes that by offering a sleek, terminal-based user experience paired with a comprehensive set of command-line options.

It’s designed for those working without a graphical interface, users who need quick password access over SSH, or anyone who simply prefers the command line over traditional GUI tools.

With full support for command-line arguments, Onilock empowers users to create custom aliases and streamline password management to fit their unique workflows.

🚀 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

⚠️ Issues

If you encounter any issues with the init command, make sure the following dependancies are setup in your system:

  1. Ensure xclip and gpg are installed. If not, run the following command
sudo apt install xclip gpg

📌 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.7.0

  • Implement file encryption capabilities.
    • Possibility to encrypt any file in your system and add it to the vault.
    • View, and Edit files directly in the vault without exposing them to external threats.
    • Ability to export a single file or all files in the vault to a zip file.
  • Introduce env.py to fix the circular import problem.
  • Other bug fixes and improvements

v1.6.0

  • Fix some bugs.
  • Implement support for terminal-based distros.
  • Implement git-hub actions for auto-deployment when a new release is created.
  • Improve project structure, and implement some design patterns

v1.5.4

  • Update version command
  • Ignore case for delete and copy commands
  • Detect file corruption and manipulation using checksums

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

View full 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.7.2.tar.gz (20.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.7.2-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: onilock-1.7.2.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for onilock-1.7.2.tar.gz
Algorithm Hash digest
SHA256 cc3058f2fe3b221d355a292520e0daff16030fbd1796927e53ce4de48d11070d
MD5 d05e2994a38889829f409d0b5d6854fe
BLAKE2b-256 dfece323a1b3fbc1998dc967d2593a2a1013a4c262ed5c87119c50562c6db4fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for onilock-1.7.2.tar.gz:

Publisher: pypi-publish.yml on aiokaizen/onilock

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

File details

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

File metadata

  • Download URL: onilock-1.7.2-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for onilock-1.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 65dad9769ae03afa56dfbe851db76961d57f7ef3c506272b2e7dc854e5420660
MD5 b30f7f0f6ca1b85eeb4d554d16594e24
BLAKE2b-256 421bde1c6a074a7e6873998462318a9fdeabbdc2b6409fa50fdf8a6f9919f0bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for onilock-1.7.2-py3-none-any.whl:

Publisher: pypi-publish.yml on aiokaizen/onilock

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