Project

General

Profile

Feature #91

Implement keepasshttp

Added by Christophe de Vienne over 5 years ago. Updated almost 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-

Description

The idea is to make use of PassIFox and ChromeIPass.

It would need to implement the https://github.com/pfn/keepasshttp protocol.

Since there is no plugin infrastructure in keepassx, could it be done inside the core program ?

Christophe


Related issues

Duplicated by Feature #165: KeePassHttp intergration with chrome Closed 04/06/2014

History

#1 Updated by Marcin Kulik about 5 years ago

That would be fantastic. I use KeePassX mainly for storing web passwords and it's a bit inconvenient to manually search/copy/paste passwords while browser plugins exists (like ChromeIPass) that use keepasshttp protocol.

#2 Updated by Dossy Shiobara about 5 years ago

As a user of KeePassX, I'm interested in the browser auto-fill integration as well. Looking at MacPass [[http://mstarke.github.io/MacPass/]] which uses [[https://github.com/robbiehanson/CocoaHTTPServer]] (although we may want to use [[https://github.com/swisspol/GCDWebServer]] -- not sure what would be the right choice, yet), there may be enough example code out there to cleanly implement KeePassHTTP in KeePassX.

There appears to be active development on KeePassX, but I don't see any commits relating to any KeePassHTTP-related functionality, so it doesn't appear that anyone else is already working on this?

#3 Updated by Felix Geyer about 5 years ago

Dossy Shiobara wrote:

As a user of KeePassX, I'm interested in the browser auto-fill integration as well. Looking at MacPass [[http://mstarke.github.io/MacPass/]] which uses [[https://github.com/robbiehanson/CocoaHTTPServer]] (although we may want to use [[https://github.com/swisspol/GCDWebServer]] -- not sure what would be the right choice, yet), there may be enough example code out there to cleanly implement KeePassHTTP in KeePassX.

I don't know the KeePassHTTP protocol but if you just need a very simple HTTP server you might get away with just implementing it on top of QTcpServer.

There appears to be active development on KeePassX, but I don't see any commits relating to any KeePassHTTP-related functionality, so it doesn't appear that anyone else is already working on this?

Not that I know of.

#4 Updated by Vijay Kantavil almost 5 years ago

This should really be on top of the list. It has already been discussed and requested in the forums for years:
http://www.keepassx.org/forum/viewtopic.php?f=2&t=1961&p=5934&hilit=keepasshttp#p5934
http://www.keepassx.org/forum/viewtopic.php?f=2&t=2408
http://www.keepassx.org/forum/viewtopic.php?f=10&t=3419&p=6098&hilit=keepasshttp#p6098

This shouldn't be a feature but a standard. Both, KeePass and LastPass - the current popular choices offer this functionality for years. Seems like the Mac user's only suitable is to go KyPass or LastPass at the moment.

Felix Geyer wrote:

Dossy Shiobara wrote:

As a user of KeePassX, I'm interested in the browser auto-fill integration as well. Looking at MacPass [[http://mstarke.github.io/MacPass/]] which uses [[https://github.com/robbiehanson/CocoaHTTPServer]] (although we may want to use [[https://github.com/swisspol/GCDWebServer]] -- not sure what would be the right choice, yet), there may be enough example code out there to cleanly implement KeePassHTTP in KeePassX.

I don't know the KeePassHTTP protocol but if you just need a very simple HTTP server you might get away with just implementing it on top of QTcpServer.

There appears to be active development on KeePassX, but I don't see any commits relating to any KeePassHTTP-related functionality, so it doesn't appear that anyone else is already working on this?

Not that I know of.

#5 Updated by Aristotle Pagaltzis almost 5 years ago

Vijay Kantavil wrote:

Seems like the Mac user's only suitable is to go KyPass or LastPass at the moment.

Or the very good but pricey 1Password. Or the free-if-you’ll-never-use-sync Dashlane, which I’ve settled on since it has good UI and it’s better than nothing.

But I don’t feel comfortable with non-Free closed-source apps particularly for this task. A KeePassX with built-in KeePassHttp support would be the first fully Free+open desktop password manager with decent browser integration on MacOS.

#6 Updated by M D over 4 years ago

In case this was missed, it seems there is already an implementation of the http protocol on top of keepassx 2.0-alpha5 here: https://github.com/keithbennett/keepassx

Maybe this helps to integrate it into the mainline version?

#7 Updated by M D over 4 years ago

I just tried a local merge of the changes to the current keepassx head: just a few merge conflicts and they do not look that bad (mostly 2-5 conflicting lines per conflict). Of course that does not mean that after resolving the merge conflicts it works, but at least it does not bark out with hundreds of long merge conflicts. So maybe worth a try to integrate and adapt it.

#8 Updated by Jeff Everett over 4 years ago

I have this all working beautifully on my windows boxen, would be thrilled to test on macs. Currently running Alpha 6 without issues daily.

#9 Updated by Vijay Kantavil over 4 years ago

Jeff Everett wrote:

I have this all working beautifully on my windows boxen, would be thrilled to test on macs. Currently running Alpha 6 without issues daily.

Am not a developer but I can test it out for you on a Mac.

#10 Updated by Andrew M-Y over 4 years ago

I'd be happy to test it on a Mac too.

#11 Updated by Kris Scott over 4 years ago

This fork (with keepasshttp) is up to date with keepassx upstream as of May 3. https://github.com/jdachtera/keepassx

#12 Updated by Vijay Kantavil over 4 years ago

Kris Scott wrote:

This fork (with keepasshttp) is up to date with keepassx upstream as of May 3. https://github.com/jdachtera/keepassx

Thanks Kris, it seems to be fork of https://github.com/keithbennett/keepassx/releases which I have been using due to AutoType and KeepassHTTP support, though it has a couple of bugs. I don't really know how to compile and there isn't a .dmg file in the releases. Though am sure I could try installing MacPorts and following the instructions in the install file but really don't want to go messing with that now.

I don't think KeePassHTTP will be implemented anytime soon in the main branch - I saw the roadmap for Beta 1 https://www.keepassx.org/dev/projects/keepassx/roadmap and am a bit dubious too if autotype will be implemented properly.

#13 Updated by Faust ino about 4 years ago

+1 for getting this into the keepassx upstream.

Both github forks don't compile on my Linux machine, because of the qjson lib.
Probably a relatively trivial issue for someone with experience.

-> it would be awesome to get this merged.

#14 Updated by Bugzy Little about 4 years ago

Faust ino wrote:

+1 for getting this into the keepassx upstream.

Both github forks don't compile on my Linux machine, because of the qjson lib.
Probably a relatively trivial issue for someone with experience.

-> it would be awesome to get this merged.

you can get it to build by turning off gui tests:
In the third step, instead of just running cmake .., run

cmake .. -DWITH_GUI_TESTS=ON

#15 Updated by Bugzy Little about 4 years ago

I meant run:

cmake .. -DWITH_GUI_TESTS=OFF

#16 Updated by Faust ino about 4 years ago

@Bugzy Little: thanks for your help, but it still doesn't work. I don't want to spam you here with my personal installation problems. In case you are interested, here are the logs http://sprunge.us/BgCC

Anyway I can only stress that not having the http backend in keepassx is the reason why I didn't migrate to keepassx. And I hold the opinion that when this functionality would find its way into the core other people would switch too :)

#17 Updated by Bugzy Little about 4 years ago

Faust ino wrote:

@Bugzy Little: thanks for your help, but it still doesn't work. I don't want to spam you here with my personal installation problems. In case you are interested, here are the logs http://sprunge.us/BgCC

The logs seem to indicate that your version of QT will not work with the qjson that comes in build files. In this case, you version of QT may be the problem.
The build works for me on:
Fedora 20
Qt & Qt-devel 4.8.6

Not sure if this will help any.

#18 Updated by Job Evers about 4 years ago

I was able to get https://github.com/jdachtera/keepassx to build on OSX Yosemite, and for the ten minutes I've been using it, have had no problems.

Steps:

git clone https://github.com/jdachtera/keepassx.git
cd keepassx
brew install qt cmake libgcrypt zlib ibmicrohttpd
cmake -DCMAKE_INSTALL_PREFIX=$HOME/local/apps/keepassxhttp -DCMAKE_VERBOSE_MAKEFILE=ON
make
make install

open finder to $HOME/local/apps/keepassxhttp and there will be KeePassX.app; install browser extension, etc..

#19 Updated by Daren Eiri almost 4 years ago

You may need brew: http://brew.sh/ - scroll down to bottom of page to copy/paste into Terminal.app

If you follow these steps and you run into:

Error: No available formula for zlib 

Then you can type:

brew tap homebrew/dupes

There's also a type in one of the commands written:

brew install qt cmake libgcrypt zlib libmicrohttpd

The 'l' was missing for libmicrohttpd

Everything else is good :)

Job Evers wrote:

I was able to get https://github.com/jdachtera/keepassx to build on OSX Yosemite, and for the ten minutes I've been using it, have had no problems.

Steps:

git clone https://github.com/jdachtera/keepassx.git
cd keepassx
brew install qt cmake libgcrypt zlib ibmicrohttpd
cmake -DCMAKE_INSTALL_PREFIX=$HOME/local/apps/keepassxhttp -DCMAKE_VERBOSE_MAKEFILE=ON
make
make install

open finder to $HOME/local/apps/keepassxhttp and there will be KeePassX.app; install browser extension, etc..

#20 Updated by Job Evers almost 4 years ago

And in linux, its something like:

sudo apt-get install zlib1g-dev qt4-default cmake libgcrypt20-dev libmicrohttpd-dev
git clone https://github.com/jdachtera/keepassx.git
cd keepassx
cmake -DCMAKE_INSTALL_PREFIX=$HOME/local/apps/keepassxhttp -DCMAKE_VERBOSE_MAKEFILE=ON
make
make install

Job Evers wrote:

I was able to get https://github.com/jdachtera/keepassx to build on OSX Yosemite, and for the ten minutes I've been using it, have had no problems.

Steps:

git clone https://github.com/jdachtera/keepassx.git
cd keepassx
brew install qt cmake libgcrypt zlib ibmicrohttpd
cmake -DCMAKE_INSTALL_PREFIX=$HOME/local/apps/keepassxhttp -DCMAKE_VERBOSE_MAKEFILE=ON
make
make install

open finder to $HOME/local/apps/keepassxhttp and there will be KeePassX.app; install browser extension, etc..

#21 Updated by l l over 3 years ago

For all of you who want to use keepassxhttp in the current version of keepassx. I found a more up to date
fork from jdachtera's fork:

https://github.com/Ivan0xFF/keepassx

#22 Updated by Eugene San over 3 years ago

I've created pull request with working implementation:
https://github.com/keepassx/keepassx/pull/110

If you use Ubuntu you might want to test following packages:
https://launchpad.net/~eugenesan/+archive/ubuntu/ppa/+packages?field.name_filter=keepassx

#23 Updated by Julien Furrer almost 3 years ago

I've bee able to build https://github.com/eugenesan/keepassx on OSX ELCapitan using Job Evers' procedure.

I had to install some more brew formulas, finally the formulas are:

brew install jpeg qjson homebrew/dupes/zlib homebrew/emacs/zlib libmicrohttpd libgcrypt cmake qt

The rest of the procedure was the same. It works fine with PassIFox 1.1.13.1

Thanks a lot folks !

#24 Updated by Eugene San almost 3 years ago

There is a formula for the procedure:
brew install eugenesan/homebrew-pfa/keepassx

BTW:
Related discussion is here: https://github.com/keepassx/keepassx/pull/111

Julien Furrer wrote:

I've bee able to build https://github.com/eugenesan/keepassx on OSX ELCapitan using Job Evers' procedure.

I had to install some more brew formulas, finally the formulas are:

brew install jpeg qjson homebrew/dupes/zlib homebrew/emacs/zlib libmicrohttpd libgcrypt cmake qt

The rest of the procedure was the same. It works fine with PassIFox 1.1.13.1

Thanks a lot folks !

Also available in: Atom PDF