Giter Club home page Giter Club logo

qtpass's Introduction

QtPass

Build Status Build status Coverity scan Coverage Status codecov

QtPass is a GUI for pass, the standard unix password manager.

Features

  • Using pass or git and gpg2 directly
  • Configurable shoulder surfing protection options
  • Cross platform: Linux, BSD, OS X and Windows
  • Per-folder user selection for multi recipient encryption
  • Multiple profiles
  • Easy onboarding

Logo based on Heart-padlock by AnonMoos.

Installation

From package

OpenSUSE & Fedora yum install qtpass dnf install qtpass

Debian, Ubuntu and derivates like Mint, Kali & Raspbian apt-get install qtpass

Arch Linux pacman -S qtpass

Gentoo emerge -atv qtpass

Sabayon equo install qtpass

FreeBSD pkg install qtpass

macOS brew cask install qtpass

Windows choco install qtpass

From Source

Dependencies

  • QtPass requires Qt 5.
  • The Linguist package is required to compile the translations.
  • For use of the fallback icons the SVG library is required.

At runtime the only real dependency is gpg2 but to make the most of it, you'll need git and pass too.

Your GPG has to be set-up with a graphical pinentry when applicable, same goes for git authentication. On Mac OS X this currently seems to only work with MacGPG2 from gpgtools.

On most unix systems all you need is:

qmake && make && make install

Testing

This is done with make check

Codecoverage can be done with make lcov, make gcov, make coveralls and/or make codecov.

Be sure to first run: make distclean && qmake CONFIG+=coverage qtpass.pro

Security considerations

Using this program will not magically keep your passwords secure against compromised computers even if you use it in combination with a smartcard.

It does protect future and changed passwords though against anyone with access to your password store only but not your keys. Used with a smartcard it also protects against anyone just monitoring/copying all files/keystrokes on that machine and such an attacker would only gain access to the passwords you actually use. Once you plug in your smartcard and enter your PIN (or due to CVE-2015-3298 even without your PIN) all your passwords available to the machine can be decrypted by it, if there is malicious software targeted specifically against it installed (or at least one that knows how to use a smartcard).

To get better protection out of use with a smartcard even against a targeted attack I can think of at least two options:

  • The smartcard must require explicit confirmation for each decryption operation. Or if it just provides a counter for decrypted data you could at least notice an attack afterwards, though at quite some effort on your part.
  • Use a different smartcard for each (group of) key.
  • If using a YubiKey or U2F module or similar that requires a "button" press for other authentication methods you can use one OTP/U2F enabled WebDAV account per password (or groups of passwords) as a quite inconvenient workaround. Unfortunately I do not know of any WebDAV service with OTP support except ownCloud (so you would have to run your own server).

Known issues

  • Filtering (searching) breaks the tree/model sometimes
  • Starting without a correctly set password-store folder gives weird results in the tree view
  • On Mac OS X only the gpgtools MacGPG2 version works with passphrase or PIN

Planned features

  • Plugins based on field name, plugins follow same format as password files
  • Colour coding folders (possibly disabling folders you can't decrypt)
  • Optional table view of decrypted folder contents
  • Opening of (basic auth) urls in default browser? Possibly with helper plugin for filling out forms?
  • WebDAV (configuration) support
  • Some other form of remote storage that allows for accountability / auditing (web API to retrieve the .gpg files?)

Further reading

FAQ and CONTRIBUTING documentation. CHANGELOG

Website Source code Issue queue Chat

qtpass's People

Contributors

annejan avatar jounathaen avatar tezeb avatar rdoeffinger avatar realitygaps avatar treat1 avatar ahippo avatar innir avatar iamtew avatar beefcurtains avatar asalamon74 avatar daveol avatar dakk avatar friedy avatar marcool04 avatar damnlie avatar reesenemesis avatar mexus avatar lftl avatar cgonzalez avatar achimh3011 avatar muff1nman avatar bram-ivs avatar mwfc avatar da2x avatar dennisdegreef avatar svetlemodry avatar jonhanks avatar jorti avatar vladimiroff avatar

Stargazers

Indrajith Bandara avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.