/Android-Password-Store

Android application compatible with ZX2C4's Pass command line application

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

PwdStore

IRC ![Gitter](https://badges.gitter.im/Join Chat.svg) Android Arsenal

This application tries to be 100% compatible with pass

You can install the application from:

  • F-Droid (the prefered way)
  • Play Store (always lags behind)
  • Using the apk file found at app/app-release.apk or build everything from source (always updated before Play Store, but usually after F-Droid)

Pull requests are more than welcome (see TODO).

Community

A few ways to get in touch:

  • Github issues, use it if you have a bug report, you do not understand how somehting works or feature request
  • reddit, want to discuss something and it's midnight, no one on irc and you really want to write more than a couple of lines? reddit is your way!

FAQ

  • Q: What kind of repository can I clone from?
  • A: Make sure to only clone from bare repositories (see git-clone(1) for how to create a bare repository from an existing one). Otherwise the clone will fail.
  • Q: I get a "Permission Denied" error when trying to import my ssh-key, why?
  • A: ssh-key files are usually created with permissions set to 600, meaning that only the creator of this key has the right to read from it. The application needs a read access, at least temporarily, make the permissions to 644, import the key, then set them back to 600.
  • Q: I tried to use APG and it does not work... why?
  • A: We only support OpenKeychain.

TODO

Urgent

  • Implement a keyboard to replace the copy/paste and avoid clipboard hijicking (see #50)

Less urgent

  • Create a new category
  • Multi-select (for password deletion)
  • Multiple password stores (multiple git repositories).
  • Solve issues labeld as enhancement (see enhancement issues)

How-To

Note: This section is work in progress

Clone using SSH-key, then decrypt a password

Clone And Decrypt

Features

  • Clone an existing pass repository (ssh-key and user/pass support)
  • List the passwords
  • Handle the directories as categories
  • Decrypt the password files (first line is the password, the rest is extra data)
  • Add a new password to the current category (or no category if added at the root)
  • Pull and Push changes to the remote repository
  • Ability to change remote repository info

Libraries

This project uses three libraries:

  • OpenKeyChain for encryption and decryption of passwords. To download the library, run the following commands at the root of the project

      git submodule init
      git submodule update
    
  • JGit a pretty good git lib

  • Apache's FileUtils for files manipulations

Cookie