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:
- Install pipx
sudo apt install pipx
- 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:
- Ensure dbus and a keyring backend are installed. If not, run the following command
sudo apt install gnome-keyring dbus-x11
- Start the key-ring daemon
eval $(dbus-launch --sh-syntax)
export $(gnome-keyring-daemon --start)
📌 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.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
versioncommand - Ignore case for
deleteandcopycommands - 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
v1.4.0
- Publish the project under the Apache 2.0 license
- Multiple refactoring
- Big upgrade to README.md file.
View full changelog history on CHANGELOG.md file.
📧 Contact
Author: Mouad Kommir
Email: mouadkommir@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file onilock-1.6.1.tar.gz.
File metadata
- Download URL: onilock-1.6.1.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a872e167debc55ce26eb652e33b181443719d99c3f77f4282fc28b7c46d32ef5
|
|
| MD5 |
8b54c2e0bc8bb5df680cdc72daae08f2
|
|
| BLAKE2b-256 |
9534247e46b36a76c47fe96c93d724c8dc9046e45b89bb560b7174fc29028f73
|
Provenance
The following attestation bundles were made for onilock-1.6.1.tar.gz:
Publisher:
pypi-publish.yml on aiokaizen/onilock
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onilock-1.6.1.tar.gz -
Subject digest:
a872e167debc55ce26eb652e33b181443719d99c3f77f4282fc28b7c46d32ef5 - Sigstore transparency entry: 175999652
- Sigstore integration time:
-
Permalink:
aiokaizen/onilock@6cf6f986a14876601e51b8171a002a777277a9fc -
Branch / Tag:
refs/tags/v1.6.1 - Owner: https://github.com/aiokaizen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@6cf6f986a14876601e51b8171a002a777277a9fc -
Trigger Event:
release
-
Statement type:
File details
Details for the file onilock-1.6.1-py3-none-any.whl.
File metadata
- Download URL: onilock-1.6.1-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d20e0d8440dcf9d0521d499ec5bc94a49a856c6745c158ed6c9bd610fe6985d
|
|
| MD5 |
83b5f9f4134faa6d83b89c6f73102736
|
|
| BLAKE2b-256 |
7c82df85612d9a56042be430e02f6ae31d69bb56bb4f03ac21caf1f731c9fa1c
|
Provenance
The following attestation bundles were made for onilock-1.6.1-py3-none-any.whl:
Publisher:
pypi-publish.yml on aiokaizen/onilock
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onilock-1.6.1-py3-none-any.whl -
Subject digest:
7d20e0d8440dcf9d0521d499ec5bc94a49a856c6745c158ed6c9bd610fe6985d - Sigstore transparency entry: 175999653
- Sigstore integration time:
-
Permalink:
aiokaizen/onilock@6cf6f986a14876601e51b8171a002a777277a9fc -
Branch / Tag:
refs/tags/v1.6.1 - Owner: https://github.com/aiokaizen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@6cf6f986a14876601e51b8171a002a777277a9fc -
Trigger Event:
release
-
Statement type: