Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python module and commandline client #1

Closed
cryptomilk opened this issue Feb 14, 2019 · 12 comments
Closed

Python module and commandline client #1

cryptomilk opened this issue Feb 14, 2019 · 12 comments
Labels
wontfix This will not be worked on

Comments

@cryptomilk
Copy link

Hi,

this is more or less what I'm looking for. Why not name this project python-keepassxc and provide a python module and a command line client.

I would like to use that protocol to query passwords on the command line, e.g. to get the password for my backup job. So I have more or less in the end

keepassxc-query --url 'sftp:mars:/backup'

and then I'm asked in keepassxc if the command line client is allowed to retrieve the password.

@hrehfeld
Copy link
Owner

hrehfeld commented Feb 14, 2019 via email

@Phidica
Copy link
Contributor

Phidica commented Mar 5, 2019

Hi. I'm also looking for a Python library exactly like this, and very nearly didn't find it and ended up writing the whole thing myself in a considerably worse fashion! It would be awesome if this code had some documentation and was perhaps listed on the PyPI :) Thanks a lot!

Also, I would second the idea of naming it "python-keepassxc", and I'd further suggest dropping the "http" from your directory. The API has nothing to do with HTTP any more and it just encourages confusion with the deprecated "KeePassHttp" protocol (which is why I nearly ignored this repo in the first place)

@Phidica
Copy link
Contributor

Phidica commented Mar 11, 2019

So my perspective was that the protocol was called "KeePassXC", and hence this repo should just be named python-keepassxc. I based that in part on the only real documentation of the protocol being called keepassxc-protocol. It seemed to me that "KeePassXC-Browser" was specifically the name of the web browser plugin, and it shouldn't also be the name of the protocol. Even though the protocol was written for the web browser plugin, it can easily be used by other applications and it wouldn't be named after the plugin

However now after playing around with the library a little more, I've realised that new logins created via this protocol are always placed in the "KeePassXC-Browser Passwords" group, which by analogy to the old "KeePassHttp Passwords" group clearly suggests that the protocol is called "KeePassXC-Browser". So by that token, the name of this repo is correct

However, I continue to believe that the library should be called keepassxc_browser rather than keepassxc_http. It seems very misleading otherwise

Would you be open to accepting a PR for this change? I'd be happy to make it, as well as create a basic readme and setup script

@varjolintu
Copy link

varjolintu commented Mar 11, 2019

However now after playing around with the library a little more, I've realised that new logins created via this protocol are always placed in the "KeePassXC-Browser Passwords" group, which by analogy to the old "KeePassHttp Passwords" group clearly suggests that the protocol is called "KeePassXC-Browser". So by that token, the name of this repo is correct

With KeePassXC 2.4.0 you can select the group for saving new credentials. See keepassxreboot/keepassxc#2637.

Updated protocol from the browser extension PR:
https://github.com/keepassxreboot/keepassxc-browser/blob/e3d325a0e65569f293680e4ba291a235f9d17630/keepassxc-protocol.md

@Phidica
Copy link
Contributor

Phidica commented Mar 11, 2019

My concern is not that there wasn't a control for where such passwords are stored. My concern is the semantic question of what the appropriate name for the protocol, and hence this library, is

@varjolintu
Copy link

I understand. Just wanted to give a heads up for that feature.

@hrehfeld
Copy link
Owner

hrehfeld commented Mar 11, 2019 via email

@Phidica
Copy link
Contributor

Phidica commented Mar 12, 2019

I'm probably just not very cluey about this topic, but I have to ask and hope you can enlighten me: is the "application protocol type" really HTTP? As far as I can see, we're just sending and receiving JSON strings between KeePassXC. To my eye, there is nothing which looks like a HTTP packet involved anywhere in this.

And even if technically this protocol is HTTP, all the KeePassXC documentation I've seen hasn't ever referred to it as that. Their message is basically "KeePassHTTP deprecated in favour of KeePassXC-Browser". So from there on out KeePassXC users are under the impression they must ignore tools with "HTTP" in the name and seek tools with "KeePassXC" and/or "Browser" in the name. Simply for the purpose of making it easy for those people to find this library, and further software which is derived from this library, I think that using the terminology that KeePassXC uses is the most appropriate choice. Hence that is "keepassxc" or "keepassxc_browser"

@hrehfeld
Copy link
Owner

hrehfeld commented Mar 12, 2019 via email

@Phidica
Copy link
Contributor

Phidica commented Mar 12, 2019

Ah, my apologies for the misunderstanding then.

I'll work on a PR 🙂

@hrehfeld
Copy link
Owner

hrehfeld commented Mar 13, 2019 via email

@hrehfeld hrehfeld added the wontfix This will not be worked on label May 12, 2019
@hrehfeld
Copy link
Owner

A commandline client should be a separate project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

4 participants