Add: Password Store Extension
Description
Raycast Extension for copying/pasting credentials from your password store (aka pass)
Screenshot
Checklist
- [x] I read the extension guidelines
- [x] I read the documentation about publishing
- [x] I ran
npm run buildand tested this distribution build in Raycast - [x] I checked that files in the
assetsfolder are used by the extension itself - [x] I checked that assets used by the
READMEare placed outside of themetadatafolder
Congratulations on your new Raycast extension! :rocket:
We're currently experiencing high demand and limited capacity. As a result, extension reviews might take longer than usual to get the initial review. Please expect an initial review within 5-10 business days.
Once the PR is approved and merged, the extension will be available on our Store.
Sorry for the inconvenience
Hi! Thank you for your contribution! My name is Milena and I will be reviewing it today.
I tried using your extension, but I couldn't make pass work. Do you know where I can find a dummy pass file to try with? Or do you mind making a video using your extension?
Hi! Thank you for your contribution! My name is Milena and I will be reviewing it today.
I tried using your extension, but I couldn't make pass work. Do you know where I can find a dummy pass file to try with? Or do you mind making a video using your extension?
Hi @mil3na,
I can not provide you with a dummy pass file. The file needs to be generated by you so that it's encrypted (and later decrypted) using your own GPG key.
You can install pass using the following command brew install pass (following the instructions of the official pass website).
After that you need to also have a GPG key. To generate a GPG key (if you don't already have one) you can follow Github's own docs for Generating a new GPG key
Finally, you will be able to initialize the password store: pass inint <GPG KEY ID>, and insert a couple of password (ex. pass insert Dev/Github/work, pass insert Dev/Github/personal, etc).
After that, the extension should work.
Let me know if you need anything else from me!
Aha! Thank you! The GPG key was not clear to me, and that was what was missing! I managed to make it list the passwords I setup, but I can't decrypt
Error: Command failed: export PATH=$PATH:/opt/homebrew/bin && pass Dev/Github/personal
gpg: public key decryption failed: No such file or directory
gpg: decryption failed: No such file or directory
at ChildProcess.exithandler (node:child_process:422:12)
at ChildProcess.emit (node:events:514:28)
at ChildProcess.emit (node:domain:488:12)
at maybeClose (node:internal/child_process:1105:16)
at Socket.<anonymous> (node:internal/child_process:457:11)
at Socket.emit (node:events:514:28)
at Socket.emit (node:domain:488:12)
at Pipe.<anonymous> (node:net:337:12)
Any ideas what I did wrong? And I hope the users of this extension are more knowledgeable than me on this matter 😅
And I hope the users of this extension are more knowledgeable than me on this matter 😅
I assumed that the users of this extension would already be familiar with the pass command and setup.
Any ideas what I did wrong?
It looks like the extension could not decrypt the password file. Most likely because it doesn't have the password. There are two solutions for that.
- You can store your password in macOS Keychain (that is why it was working on my Macbook, I already had the GPG password saved)
- I added a new 'preferences' option to save the GPG password directly in the extension. Please let me know if either of those two options worked for you.
That preference definitely helped! But I'm still getting errors:
Error: Command failed: export PATH=$PATH:/opt/homebrew/bin && gpg -d /Users/milena/.password-store/Dev/Github/work.gpg
gpg: encrypted with rsa3072 key, ID F62CD0F2A60E38B7, created 2024-07-05
"Milena <myemail>"
gpg: public key decryption failed: Inappropriate ioctl for device
gpg: decryption failed: Inappropriate ioctl for device
at ChildProcess.exithandler (node:child_process:422:12)
at ChildProcess.emit (node:events:514:28)
at ChildProcess.emit (node:domain:488:12)
at maybeClose (node:internal/child_process:1105:16)
at ChildProcess._handle.onexit (node:internal/child_process:305:5)
Any ideas? Feel free to contact me on Slack (https://raycast.com/community) if you feel it would be faster that way.
Published to the Raycast Store: https://raycast.com/afok/password-store
:tada: :tada: :tada:
Such a great contribution deserves a reward, but unfortunately we couldn't find your Raycast account based on your GitHub username (@aetiosfokeas). Please link your GitHub account to your Raycast account to receive your credits and soon be able to exchange them for some swag.