GitHunt
JC

jcrd/passless

A declarative password manager based on lesspass

passless test

passless manages a user-edited GPG-encrypted file containing arguments for the
lesspass command-line client.

Packages

  • RPM package available from copr. Copr build status

    Install with:

    dnf copr enable jcrd/passless
    dnf install passless
    

Usage

usage: passless [options] [command|SITE]

options:
  -h            Show help message
  -f CONFIG     Path to config file
  -l LOGIN      Get password of SITE with given login
  -s            Print password
  -p            Push commits to git remote after editing
  -P            Do not pull from git remote before editing
  -v            Show version

commands:
  edit          Edit config file
  list          List sites and logins
  find          Select site with fuzzy finder
  log           Show git commit log
  status        Show git status
  push          Push commits to git remote
  pull          Pull commits from git remote
  encrypt FILE  Encrypt existing file

Automatic sync with remote git repository

If passless detects that its configuration file exists in a git repository,
it will:

  • pull changes from remote before editing
  • commit after editing and re-encryption
  • push commits when the -p flag is present
    (allows amending commits before push)

Set up a local git repository using the remote origin and branch master:

cd ~/.config/passless
git init
git remote add origin <remote-url>
git branch --set-upstream-to origin/master

Configuration

The configuration file is an INI file where section names are sites
and section keys correspond to lesspass command-line arguments.

If a configuration file doesn't exist, the edit command will create one using
a default template.

An existing plain configuration file can be encrypted using the encrypt
command.

Example:

[example.com]
login=myusername
symbols=false
counter=2

See below for valid keys.

  • master_password=

The master password.
Corresponds to lesspass MASTER_PASSWORD argument.

  • login=

The site login.
Corresponds to lesspass LOGIN argument.

  • length=

The generated password length.
Corresponds to lesspass --length flag.

  • counter=

Password counter.
Corresponds to lesspass --counter flag.

  • lowercase=

Include lowercase in password if set to true.
Corresponds to lesspass --lowercase or --no-lowercase flags.

  • uppercase=

Include uppercase in password if set to true.
Corresponds to lesspass --uppercase or --no-uppercase flags.

  • digits=

Include digits in password if set to true.
Corresponds to lesspass --digits or --no-digits flags.

  • symbols=

Include symbols in password if set to true.
Corresponds to lesspass --symbols or --no-symbols flags.

  • password=

Use this password instead of generating one.

License

This project is licensed under the MIT License (see LICENSE).

Languages

Shell90.8%Makefile6.3%Perl2.7%Dockerfile0.2%

Contributors

MIT License
Created November 19, 2019
Updated April 25, 2024
jcrd/passless | GitHunt