A universal password manager interface, powered by Rofi
Project description
This project was heavily inspired by and builds on top of the ideas in bitwarden-rofi. Be sure to check it out!
Jimpass (alpha) - The unified password management interface
jimpass() {
system("/usr/bin/sendmail","jim@business.company", "Jim, get the password typed by 3PM", attachment=logins)
}
Autotype, copy, and manage(soon) your credentials from multiple providers through a single launcher.
There is no doubt password managers make security online better and easier, yet their use involves a lot of moving, searching and clicking. This is tedious at best, and depending on the context, they'll require additional software just to do some good old copy/pasting. In my experience it's really hard to convince someone to switch from their universal 8 year old muscle-memory-typed password, over to installing 2 apps and a browser extension which require a different search and click choreography to get similar results.
The people behind bitwarden-rofi nailed it by bridging this UX gap for Bitwarden users. But, what if I don't use Bitwarden, or even worse, what if I need to use multiple managers? That's where Jim comes into play.
Supported Managers
The architecture allows anyone to extend Jim to use their password manager, provided there's a CLI for it. See the currently implemented ones
Roadmap
- Customizable keybindings --- For actions such as
copy_username
,type_password
, etc - Templated item display --- Choose how Rofi displays items. Eg
"Bitwarden: {name} {username}"
- Better testing and CI
- Context based management --- Manage your managers from rofi itself
- Encrypted in-memory storage -- Duh...
Dependencies
- python3.6+
- rofi
- xdotool
xclip
/wl-copy
/xsel
Jim communicates with each password manager through specific CLIs. Only install and configure those you use.
Installation
Using pip:
pip install Jimpass
Locally:
git clone https://github.com/remyrd/jimpass
cd jimpass
pip install .
# or
python setup.py install
Usage
Usage: <jp|jimpass> [OPTIONS]
CLI Entrypoint
Options:
-c, --config FILENAME Path to the config file. Defaults to
$HOME/.jimpass.yaml or
$XDG_CONFIG_HOME/jimpass/config.yaml
--auto-lock Incompatible with --no-auto-lock
--no-auto-lock Incompatible with --auto-lock
--lock-timer INTEGER RANGE Lock the database after RANGE seconds,
ignored if --no-auto-lock
--clipboard-timeout INTEGER RANGE
RANGE seconds before clearing up the
clipboard after copying
--copy-command [xclip|xset|wayland]
Utility to use when copying
--danger-mode Automatically press Return after auto-type
--help Show this message and exit.
Configuration
managers: # REQUIRED. List all password managers to be loaded
- bitwarden
- lastpass
auto_lock: True
lock_timer: 500 # Ignored if auto_lock: False
clipboard_timeout: 5
copy_command: xclip # Command to use when copying [xclip|xsel|wayland]
danger_mode: False # After auto-typing a password, immediately presses Return
keybindings:
# pressing Return copies the password under the selected entry.
type_all: 'alt+1'
type_user: 'alt+2'
type_pass: 'alt+3'
copy_totp: 'alt+t'
sync: 'alt+r'
bitwarden:
template_str: 'bw: {name}: user {username}'
# available templated params include:
# - id
# - name
# - username
lastpass:
username: 'example@mail.box'
template_str: 'lp: {name}: {username} at {url}'
# available templated params include:
# - id
# - fullname
# - name
# - username
# - url
# - group
# - note
# - last_modified
# - last_touch
Extending
Instructions on how to integrate your own password manager coming soon... In the meantime you can get inspired by the current implementations
License
Released under the GNU General Public License, version 3. See LICENSE
file.
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
File details
Details for the file Jimpass-0.0.2.dev1.tar.gz
.
File metadata
- Download URL: Jimpass-0.0.2.dev1.tar.gz
- Upload date:
- Size: 27.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b7af7c47902a33bfffde6a907d59a2805c9b5554a63b36e578e353891d1c1c3 |
|
MD5 | fb5f35dc8b16b1e466f60a7e9bb726fd |
|
BLAKE2b-256 | 9058c5a4be335cd0463f448304dc4b83ce2236e579adb25b798d39b9cfca51c1 |
File details
Details for the file Jimpass-0.0.2.dev1-py2.py3-none-any.whl
.
File metadata
- Download URL: Jimpass-0.0.2.dev1-py2.py3-none-any.whl
- Upload date:
- Size: 25.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb63d7ffdc2e6fb480a2b69efa2e1255fda516f551f99ad5f387e5593ab449cb |
|
MD5 | d406adc273636ce2360ac3abe30872b1 |
|
BLAKE2b-256 | 2e9fef3990f2e7a5bf296a36d8bd9397932c77d3510bfe0824c96f12e47f3fc9 |