Skip to content

xqtr/clipass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CliPass - KeePassXC CLI Frontend

A terminal-based graphical interface for KeePassXC password manager, built with Python and Textual.

CliPass Screenshot CliPass Screenshot CliPass Screenshot CliPass Screenshot


Important

This application uses keepassxc-cli which handles the decryption of your password database. The password is only passed via stdin to the subprocess and is never stored or logged. However, always ensure you're using the application in a secure environment.


DISCLAIMER

  • This project was built with the assistance of LLM/AI tools
  • Always backup your files. I am not responsible if your file gets corrupted. This program uses keepassxc-cli to read/write the database file. The program doesn't affect any database file by it's own.

Features

  • Browse Database Files: Navigate your filesystem to select .kdbx database files
  • Unlock Database: Secure password prompt to unlock your KeePassXC databases
  • Tree Navigation: Hierarchical view of groups and entries
  • Entry Management:
    • View entry details (username, password, URL, notes)
    • Create new entries and groups
    • Edit existing entries
    • Delete entries and groups
  • Export Database: Export your database to CSV or XML format
  • Database Information: View database metadata
  • Clipboard Integration:
    • Copy passwords to clipboard
    • Copy all entry details
  • Password Visibility: Toggle password visibility with Ctrl+S
  • Keyboard Shortcuts: Full keyboard navigation support

Testing

For testing purposes there is a database file included in this project. The password is test. Do not use this file to store your passwords. Create a new one, using keepassxc-cli.

Requirements

  • Python 3.8 or higher
  • KeePassXC installed with keepassxc-cli in PATH
  • Linux, macOS, or Windows (with WSL for best experience)

Installation

1. Install KeePassXC

# Ubuntu/Debian
sudo apt install keepassxc

# Fedora
sudo dnf install keepassxc

# Arch Linux
sudo pacman -S keepassxc

# macOS
brew install --cask keepassxc

2. Install CliPass

Clone the repository

git clone https://github.com/yourusername/clipass.git cd clipass

Install Python dependencies

pip install -r requirements.txt

Or just install textual

pip install textual

3. Install clipboard tool (Linux only)

For clipboard support on Linux

sudo apt install xclip

or

sudo dnf install xclip

Usage

Basic Usage

Start with file browser

python clipass.py

Open a specific database directly

python clipass.py -f /path/to/database.kdbx

Start file browser in a specific directory

python clipass.py -d /path/to/databases/

Combine both parameters

python clipass.py -d /path/to/databases/ -f database.kdbx

Command Line Options

Option      Description

-f, --file	Database file to open directly
-d, --dir	Directory where password databases are stored

Keyboard Shortcuts

Global Shortcuts

Shortcut	Action
Ctrl+Q	    Quit application
Esc	        Go back / Cancel

Database Browser

Shortcut	Action
c	        Copy password to clipboard
Ctrl+S	    Toggle password visibility
Ctrl+E	    Edit selected entry
Ctrl+Q	Quit

Forms (New/Edit Entry)

Shortcut	Action

Ctrl+G	    Generate random password
Ctrl+Enter	Save/Create entry
Esc	    Cancel

Features in Detail

Database Browser

The main interface is split into two panels:

  • Left Panel: Tree view showing all groups and entries
  • Right Panel: Details of the selected entry

Creating Entries

  • Select a group/folder in the tree
  • Click "New Entry" or press Ctrl+N
  • Fill in the entry details: -Title (required) - Username - Password (required, can generate with Ctrl+G) - URL - Group path (auto-filled from selection) - Notes
  • Click "Create" or press Ctrl+Enter

Editing Entries

  • Select an entry in the tree
  • Click "Edit Entry" or press Ctrl+E
  • Modify the fields as needed
  • Click "Save" or press Ctrl+Enter

Exporting Database

  • CSV Export: Export to CSV format for spreadsheet applications
  • XML Export: Export to XML format for further processing

Files are saved in the same directory as the database with the same name

Database Information

Click "DB Info" to view:

  • Database name and location
  • Creation date
  • Last modified date
  • Number of entries
  • Other metadata

Troubleshooting

"keepassxc-cli not found"

Ensure KeePassXC is installed and keepassxc-cli is in your PATH:

which keepassxc-cli

Clipboard not working on Linux

Install xclip:

sudo apt install xclip  # Debian/Ubuntu
sudo dnf install xclip  # Fedora

Export fails

Ensure you have write permissions in the database directory:

ls -la /path/to/database.kdbx

Password not working

Verify the password using the command line:

keepassxc-cli ls /path/to/database.kdbx

License

MIT License - see LICENSE file for details

Version History

** v1.0.0 (Current) **

  • Initial release
  • Basic database browsing and entry management
  • Export to CSV/XML
  • Clipboard integration
  • Password visibility toggle

Built with ❤️ using Python and Textual

About

A TUI frontend for the KeePassXC-cli tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages