2014-08-06 19:35:03 +00:00
PwdStore
========
2014-12-14 15:31:11 +00:00
[![IRC ](irc_badge.png )](https://webchat.freenode.net/?channels=%23Android-Password-Store& uio=d4)
2017-04-11 09:32:15 +00:00
[![Gitter ](https://badges.gitter.im/Join%20Chat.svg )](https://gitter.im/zeapo/android-password-store?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
2015-01-05 16:28:23 +00:00
[![Android Arsenal ](https://img.shields.io/badge/Android%20Arsenal-Android--Password--Store-blue.svg?style=flat )](https://android-arsenal.com/details/1/1208)
2015-03-18 23:17:33 +00:00
[![Build Status ](https://travis-ci.org/zeapo/Android-Password-Store.svg?branch=travis )](https://travis-ci.org/zeapo/Android-Password-Store)
2018-04-01 13:12:08 +00:00
[![Backers on Open Collective ](https://opencollective.com/Android-Password-Store/backers/badge.svg )](#backers) [![Sponsors on Open Collective ](https://opencollective.com/Android-Password-Store/sponsors/badge.svg )](#sponsors)
2017-01-11 16:20:34 +00:00
**Donations**:
2017-07-08 18:44:58 +00:00
[![Flattr this git repo ](http://api.flattr.com/button/flattr-badge-large.png )](https://flattr.com/submit/auto?user_id=zeapo& url=https://github.com/zeapo/Android-Password-Store& title=Android-Password-Store& language=en& tags=github& category=software) or bitcoin at `1H1Z1NPTrR5Cej9bKV3Hu4f5WJZYtkbpox`
2014-08-06 19:35:03 +00:00
2014-11-01 22:05:48 +00:00
This application tries to be 100% compatible with [pass ](http://www.passwordstore.org/ )
2014-08-06 19:35:03 +00:00
2014-10-29 22:34:16 +00:00
You can install the application from:
- [F-Droid ](https://f-droid.org/repository/browse/?fdid=com.zeapo.pwdstore ) (the prefered way)
- [Play Store ](https://play.google.com/store/apps/details?id=com.zeapo.pwdstore ) (always lags behind)
2014-12-08 08:35:56 +00:00
Pull requests are more than welcome (see [TODO ](#todo )).
2014-12-04 23:18:17 +00:00
2016-04-25 21:25:10 +00:00
How-To
======
See the wiki https://github.com/zeapo/Android-Password-Store/wiki/First-time-setup for a newer written version of the following gif walkthrough
2014-12-14 15:21:37 +00:00
2014-11-04 21:35:38 +00:00
FAQ
====
- **Q:** What kind of repository can I clone from?
- **A:** Make sure to only clone from bare repositories (see [git-clone(1) ](http://git-scm.com/docs/git-clone ) 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` .
2015-03-14 22:33:44 +00:00
- **Q** I get the error *No encrypted data with known secret key found in stream*
- **A** In OpenKeyChain ** (under the left drawer) Apps > Password Store > Accounts > (select the account) > Account key** select the key used to encrypt your passwords.
2014-11-04 21:35:38 +00:00
2016-04-25 21:25:10 +00:00
Community
=========
A few ways to get in touch:
- [Github issues ](https://github.com/zeapo/Android-Password-Store/issues ), use it if you have a bug report, you do not understand how somehting works or feature request
- [reddit ](https://www.reddit.com/r/androidpwd ), 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!
2014-12-08 08:36:20 +00:00
TODO
2014-12-08 08:35:56 +00:00
=====
2016-04-25 21:14:29 +00:00
- ~~Implement a keyboard to replace the copy/paste and avoid clipboard hijicking (see [#50 ](https://github.com/zeapo/Android-Password-Store/issues/50 ))~~ (Autofill does the job)
2014-12-08 08:35:56 +00:00
- Create a new category
- Multiple password stores (multiple git repositories).
- Solve issues labeld as *enhancement* (see [enhancement issues ](https://github.com/zeapo/Android-Password-Store/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement ))
2014-11-04 21:35:38 +00:00
2016-03-19 03:31:10 +00:00
2015-03-14 16:05:16 +00:00
Generate a ssh key for your git repo
--------------------------------------------
2017-11-25 20:37:29 +00:00
### From the application
2015-07-19 12:26:09 +00:00
- Go to **settings** > **Generate SSH key pair**
- Select the key size (length)
- Set the passphrase (optional) and a comment (optional)
- Press **Generate**
- Press **Copy** to copy the public key and add it to your ssh server
2017-11-25 20:37:29 +00:00
### From a terminal
2015-03-14 16:05:16 +00:00
- Generate the private and public key
```
ssh-keygen -C droid_phone -b 2048 -t rsa -f /tmp/id_rsa_droid
```
- Copy the public key `/tmp/id_rsa_droid.pub` on your ssh server and add in to the `~/.ssh/authorized_keys` file
```
cat id_rsa_droid.pub >> ~/.ssh/authorized_keys
```
- Copy the private key `/tmp/id_rsa_droid` to your phone and import it in your Android-Password_Store app through the settings
Export your gpg private key
--------------------------------------------
- Get your pass script gpg id(s) ie: `cat ~/.password-store/.gpg-id`
- You can also get a full ids list using `gpg -k`
- Export your private key with
```
gpg --export-secret-key [the_id] > keys.asc
```
- Import it in OpenKeychain
2014-09-13 09:36:02 +00:00
Clone using SSH-key, then decrypt a password
--------------------------------------------
2014-09-13 09:56:59 +00:00
2018-01-06 17:16:31 +00:00
< img src = "tutorial_clone_ssh_then_decrypt.gif" alt = "Clone And Decrypt" width = "320" >
2014-08-15 20:57:07 +00:00
2014-11-01 22:05:48 +00:00
2014-08-09 00:11:26 +00:00
Features
2014-08-06 19:35:03 +00:00
========
2014-08-23 19:29:08 +00:00
- Clone an existing pass repository (ssh-key and user/pass support)
2014-08-06 19:35:03 +00:00
- 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)
2014-08-09 00:11:26 +00:00
- Pull and Push changes to the remote repository
- Ability to change remote repository info
2014-08-06 19:35:03 +00:00
Libraries
=========
This project uses three libraries:
2014-08-06 22:07:42 +00:00
2014-08-15 20:57:07 +00:00
- [OpenKeyChain ](https://github.com/open-keychain/open-keychain ) for encryption and decryption of passwords.
2014-08-15 20:47:28 +00:00
To download the library, run the following commands at the root of the project
git submodule init
git submodule update
2014-09-21 16:29:54 +00:00
- [JGit ](http://www.eclipse.org/jgit/ ) a pretty good git lib
2014-08-06 22:07:42 +00:00
- [Apache's FileUtils ](https://commons.apache.org/proper/commons-io/ ) for files manipulations
2018-04-01 13:12:08 +00:00
## Contributors
This project exists thanks to all the people who contribute. [[Contribute ](CONTRIBUTING.md )].
< a href = "graphs/contributors" > < img src = "https://opencollective.com/Android-Password-Store/contributors.svg?width=890&button=false" / > < / a >
## Backers
Thank you to all our backers! 🙏 [[Become a backer ](https://opencollective.com/Android-Password-Store#backer )]
< a href = "https://opencollective.com/Android-Password-Store#backers" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/backers.svg?width=890" > < / a >
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor ](https://opencollective.com/Android-Password-Store#sponsor )]
< a href = "https://opencollective.com/Android-Password-Store/sponsor/0/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/0/avatar.svg" > < / a >
< a href = "https://opencollective.com/Android-Password-Store/sponsor/1/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/1/avatar.svg" > < / a >
< a href = "https://opencollective.com/Android-Password-Store/sponsor/2/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/2/avatar.svg" > < / a >
< a href = "https://opencollective.com/Android-Password-Store/sponsor/3/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/3/avatar.svg" > < / a >
< a href = "https://opencollective.com/Android-Password-Store/sponsor/4/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/4/avatar.svg" > < / a >
< a href = "https://opencollective.com/Android-Password-Store/sponsor/5/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/5/avatar.svg" > < / a >
< a href = "https://opencollective.com/Android-Password-Store/sponsor/6/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/6/avatar.svg" > < / a >
< a href = "https://opencollective.com/Android-Password-Store/sponsor/7/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/7/avatar.svg" > < / a >
< a href = "https://opencollective.com/Android-Password-Store/sponsor/8/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/8/avatar.svg" > < / a >
< a href = "https://opencollective.com/Android-Password-Store/sponsor/9/website" target = "_blank" > < img src = "https://opencollective.com/Android-Password-Store/sponsor/9/avatar.svg" > < / a >