ayushnix / tessen

an interactive menu to autotype and copy pass and gopass data
GNU General Public License v2.0
77 stars 12 forks source link

Add support for gopass #14

Closed svrana closed 2 years ago

svrana commented 2 years ago

gopass is a rewrite of the venerable pass code in golang. Unfortunately the commands are not always the same; the largest difference is gopass requires the use of a 'show' command to display output. Haven't tested the otp support, but with minimal changes tessen works really well with gopass.

ayushnix commented 2 years ago

I'd love to support gopass as well but I don't think I can add the ability to parse YAML files using bash in tessen. I guess I can use tools like yq for that but I'm not sure if I should go down that route.

Since I don't use gopass myself, can you confirm if gopass uses this key-value format like pass does or does it use/support this kind of YAML format as well?

If gopass users use the same format mentioned here, adding support for gopass should be fairly trivial.

svrana commented 2 years ago

Yeah, same format. Just changing the invocation to gopass and using gopass show is working for me well enough to use.

ayushnix commented 2 years ago

Looks like gopass supports parsing YAML natively and also handles OTP. In addition, it also supports something they call "mounts" which is just multiple different password store dirs. There are other features and some subtle differences as well.

I'll work on adding gopass support properly but that might take some time. The PR #16 in its present form needs a bit more work to make sure it works as expected for all users. One of the issues I've come across by taking a brief look at gopass is adding support for all active gopass mounts. tessen will need to scan all possible .gpg files in all active mounts, something which is absent in #16, among other things.

ayushnix commented 2 years ago

@svrana A new version of tessen has been released and it supports parsing data from gopass. Let me know if there are any issues with it and I'll re-open this issue.