-
Notifications
You must be signed in to change notification settings - Fork 140
Add -password and -2fa-totp options and pre-commit linting / formatting #269
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
base: master
Are you sure you want to change the base?
Conversation
|
This was intentionally left out because CLI flags leak sensitive information in shell history files. It should be possible to pass that info via stdin instead. |
That is a reasonable enough concern, especially for such something this important. Unfortunately, piping to stdin hasn't worked for me so far (at least in fish, bash, and nushell): ❯ echo foo | hydroxide auth username
Password:$ echo foo | hydroxide auth username
Password:❯ echo foo | hydroxide auth username
Password:Would you be open to either
|
|
I'll split my more recent changes into a separate PR. a quick comment on them though: basically, hydroxide doesn't actually build any more for go <=1.17, and under some conditions, |
|
Switched over to environment variables, in case that seems more secure (FWIW, I feel like environment variable secrets seem somewhat less secure if people are just leaving them in their shell all the time, although I guess that's more obvious than the Also, I looked into supporting piped stdin, and it seems less trivial than I'd expected (e.g. charmbracelet/huh's inputs don't seem to support it), so environment variables or arguments seem like the lower hanging fruits. If you'd prefer to include neither of them, no hard feelings; I can always just maintain a slightly-deviated personal fork) |
|
I'd prefer to fix the stdin read issue. Here's an example of how to do it: https://git.sr.ht/~emersion/chathistorysync/tree/master/item/askpass.go |
|
Hmm it doesn't seem too difficult, but I think that supporting multiple passwords (e.g. login password and then the 2FA TOTP) will require either of two funky decisions:
I think 1 is probably the better option, even though the performance hit for 2 won't matter most of the time |
|
I'd be fine with either FWIW. |
This reverts commit 58c4f7c. fix askBridgePass
@emersion , when you get a chance to review, I've implemented this option |
|
Oh, I remember now why we used |
|
hmm. I think we could support that by implementing something like a singleton for accessing Also, it'd require replacing every existing use of |
|
This would be handy and would work. Another way to solve it is:
|
Hi, I'd like to be able to automate my hydroxide setup, e.g.:
hydroxide auth \ -password $(op item get Protonmail --fields password) \ -2fa-totp $(op item get Protonmail --otp) \ $(op item get Protonmail --fields username)I also probably went a bit overboard with a bit of refactoring (the
if a == nilgot flagged by gopls as tautological), and adding the pre-commit hooks (especiallygofumpt, which if run on every file withpre-commit run --allwould generate a lot of changes), but I'll leave them in in case you appreciate some of them.Also, obviously open to different flag names.
pre-commit comment
If you are interested in keeping
pre-commit, pre-commit.ci is pretty cool, although I'd recommend settingci.autoupdate_branchtoquarterly, because IMO it's really noisy at weekly