robertknight / passcards

A 1Password-compatible command-line and web-based password manager
robertknight.github.io/passcards
BSD 3-Clause "New" or "Revised" License
138 stars 5 forks source link
chrome dropbox firefox password-generator password-manager typescript

Build Status Join the chat at https://gitter.im/robertknight/passcards

Passcards is a 1Password-compatible password manager for browsers and the command line.

It saves logins and other credentials in an encrypted store in Dropbox and enables you to access them from a supported browser (currently Chrome, Firefox or Safari) on any device via a web app or browser extension. The browser extension (currently available for Chrome and Firefox) can auto-fill login forms using saved credentials and quickly add or update logins.

Passcards uses the same storage format as the popular 1Password app and can be used alongside the official 1Password apps. (Please be aware that Passcards is not affiliated with the makers of 1Password, AgileBits, in any way and they cannot support the use of 3rd-party apps to access 1Password vaults)

Features

Installation

passcards is available as a browser add-on for Firefox and Chrome, a web app and a command-line app.

See the passcards site for links to install the browser extensions, access the web app and instructions to install the command-line version.

Supported Browsers

Passcards targets the current stable releases of the major desktop and mobile browsers.

Development

Local development requires Node.js 6.0 or later. To build the CLI and web clients, clone the source and run make.

git clone https://github.com/robertknight/passcards
npm install
make all

Tests can be run with:

make test

To run a specific test, use:

node build/modulename_test.js -f <filter>

Running the Web App Locally

The web client is a single page application. The Dropbox client keys in the source are configured to allow the app to be served from http://localhost:8000/webui/index.html . You can set up a server for this locally by running, from the root of a source checkout, python -m SimpleHTTPServer.

If you want to host the web app from a different location you will need to register your own Dropbox API keys from the Dropbox App Console. When registering a new app, you currently need to give it full Dropbox access permissions (though this requirement could easily be dropped if necessary) and enable the 'implicit' authorization flow.