Skip to main content

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

Build Status PyPI version

  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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Jimpass-0.0.2.dev1.tar.gz (27.2 kB view details)

Uploaded Source

Built Distribution

Jimpass-0.0.2.dev1-py2.py3-none-any.whl (25.8 kB view details)

Uploaded Python 2 Python 3

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

Hashes for Jimpass-0.0.2.dev1.tar.gz
Algorithm Hash digest
SHA256 0b7af7c47902a33bfffde6a907d59a2805c9b5554a63b36e578e353891d1c1c3
MD5 fb5f35dc8b16b1e466f60a7e9bb726fd
BLAKE2b-256 9058c5a4be335cd0463f448304dc4b83ce2236e579adb25b798d39b9cfca51c1

See more details on using hashes here.

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

Hashes for Jimpass-0.0.2.dev1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 eb63d7ffdc2e6fb480a2b69efa2e1255fda516f551f99ad5f387e5593ab449cb
MD5 d406adc273636ce2360ac3abe30872b1
BLAKE2b-256 2e9fef3990f2e7a5bf296a36d8bd9397932c77d3510bfe0824c96f12e47f3fc9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page