1Password on Linux

I've been a long time user of 1Password, a password vault by AgileBits. However, it only supports OS X and Windows; which is a problem for Linux desktop converts like myself. Their desktop application - a very nice app and also required for the browser extension - is only for Windows and OS X. AgileBits also offers 1Password Families which does support Linux, but you lose control over where your password data is stored.

In the past, 1Password had a browser-based user interface that could be served out of Dropbox or by opening the local file from your browser (called 1PasswordAnywhere, a single HTML file). However, browser security has "improved" and now block XHR requests to local filesystems and Dropbox discontinued the feature that allowed you to serve up this HTML file privately. So AgileBits was forced to sunset this feature.

Despite this announcement, 1PasswordAnywhere still seems to work! And as long as you can browse the file tree of 1Password's data, this method should work for you.

I use Dropbox to sync my 1Password data, so I've opened a terminal and browsed to where the 1Password.agilekeychain directory is kept. For me, that's ~/Dropbox/Apps/1Password/1Password.agilekeychain/. Within this directory is where 1PasswordAnywhere.html should be placed. I renamed mine to index.html.

Next, set up an web server to serve up this directory. If you're running Linux you probably already have Python, and you can use its built-in minimal server:

$ pwd
/home/dave/Dropbox/Apps/1Password/1Password.agilekeychain
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

Next, browse to http://127.0.0.1:8000/ and you'll be presented with a working - but visually outdated - 1PasswordAnywhere instance! Of course, this isn't the most secure - anyone on your network can access the web interface too! To be fair - your password is needed to decrypt the data - though it would be better to serve only on localhost. But I'll leave this as homework for the reader.

Also, first post of 2017!

Update: I also stumbled across gonepass, a native Linux desktop app intended to replace the 1Password app. I've not tried it yet, so expect a follow-up article!

Update 2: I downloaded and compiled gonepass on my system. It was pretty easy and works great! Definitely a safer idea than the web-based version above.