stuartcryan Posted March 3, 2015 Share Posted March 3, 2015 (edited) Simple LastPass Workflow for Alfred - quick and easy access to your LastPass vault Simple yet powerful integration with the Lastpass CLI so you can now get your passwords out of your Lastpass vault and straight into the clipboard from within Alfred. Version 1.4.7 update - Please Read ----------------------------------------------------------- Ladies and gents, I am happy to present v 1.4.5 of the workflow. Before I continue, this has represented a SIGNIFICANT amount of work for me so if you like it and use it, please say thank you by donating towards my Diet Coke and cake fund. Any amount will do, whatever you feel the value is for you/your business/your time. Please note you MUST update your LastPass CLI version to 0.7.1 or higher as this update relies on new functionality that I worked with the LastPass team on integrating into the official CLI. Additionally version 1.4.6 and higher of the workflow WILL ONLY SUPPORT ALFRED 3 (and are not backwards compatible) If you haven't used LastPass before... you are crazy and you should it is the single greatest password manager package out there so check it out at http://stu.link/LaStPaSs (Disclaimer, if you sign up through that link I get a free month otherwise you can go direct to http://www.lastpass.com). ----------------------------------------------------------- Donations This workflow represents many many hours effort of development, testing and rework. So if you love the workflow, and get use out of it every day, if you would like to donate as a thank you to buy me more caffeine giving Diet Coke, some Cake, or to put towards a shiny new gadget you can donate to me via Paypal. Download You can download the latest .alfredworkflow file directly or visit the official github repository (where you can log any issues, feedback or suggestions also). Installation Ensure you have Alfred installed with the Alfred Powerpack License Install Capture::Tiny Open up a Terminal Window run the command 'sudo cpan install Capture::Tiny' Accept the default options and ensure Capture::Tiny installs successfully Install Homebrew (if you do not have it already installed) You should be able to just run the command in a terminal window (as your own user account NOT with sudo) ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Alternatively visit http://brew.sh/ for further instructions. Install LastPass command line interface In a terminal window run brew install lastpass-cli --with-pinentry --with-doc Download the .alfredworkflow file Open the .alfredworkflow file to import into Alfred Run 'lpsetemail yourloginemail@yourdomain.com' in Alfred to set your LastPass username. Usage lpsetemail yourname@example.com - must be run when you first install/upgrade to version 1.2 or higher lpsettimeout NUMSEC - Set number of seconds until your login times out (where NUMSEC is an integer such as 28800, if you use 0 that will keep you logged in until your computer restarts) lplogin - Log in to LastPass lplogout - Log out of LastPass lp Search Lastpass vault for item containing , press return to copy to clipboard. Shift modifier can be used on lp to copy the username. Contributing Fork it! Create your feature branch: git checkout -b my-new-feature Commit your changes: git commit -am 'Add some feature' Push to the branch: git push origin my-new-feature Submit a pull request History Version 1.4.7 Changed mechanism for copying to clipboard. Now marks passwords as transient, Alfred will no longer store them in the clipboard history. Updated icon submitted by Tom Conroy has been merged in (thanks for this Tom!) Version 1.4.6 Updated to work with Alfred 3 (long awaited official release of the long-in-testing beta version). Username display functionality submitted by Guillermo Moreno has been merged in with some minor changes (thanks for your hard work Guillermo!) Released with my apologies for the delay in getting this version out of beta... my masters course was INTENSE this semester, thank you to all of those that waited patiently. Version 1.4.5 Fixed detection for when login has timed out, now correctly requests login. Fixed rare cases of login-script loops. Improved speed of copying usernames. Updated documentation. Version 1.4.4Merged in code submitted by Ariel Barreiro to better support two factor authentication (2FA). Version 1.4.3NOTE: This has the same requirements as v1.4.2 below Fixes the binary version of the flow so that it is ACTUALLY updated Adds a fix so that the CLI's copy to clipboard is now lightening fast and should happen pretty much instantly. Version 1.4.2NOTE: This version *requires* the LastPass CLI v 0.7.1 or higher due to this new feature --> Login process completely changed over to use AppleScript (cleaner and nicer). This was thanks to work between myself and Bob from LastPass who maintains the official LastPass CLI to add a feature allowing an external login prompt to be used. Login password prompt now uses an AppleScript password prompt. Fix to allow you to search for words in any order. Vault item's which now require re-authentication will pop up the AppleScript login prompt. Has now been tested with a Vault with over 30,000 items for performance tweaks. (I have since been told by LastPass support their soft limit is significantly lower than this at ~2500 items explains why I was having some issues in testing). More resilient escaping of text in the XML to ensure that special characters should not cause any issues. Fixed missing quotes in some areas that could cause issues with spaces. Squashed a little regex bug and wiped up the goo. Fixed issues with spaces in certain paths we referenced Fixed how the initial login process is run after a reboot. This required the changes made to how we manage the login process and it has subsequently been cleaned up significantly. Other minor general tweaks. Version 1.2Bug - Removed deprecated framework code Bug - Merged pull request #4 from jsquyres "we-love-macports-too" to support macports installs of the lastpass-CLI Bug - Further improved on jsquyres code to support some additional install locations. Bug - Fixed bash script reliability, after two login attempts the script was often failing. Improvement - Improved sync behaviour to better support extremely large vaults. Improvement - Added new 'lpsync' command to force a sync on demand. Improvement - Changed behaviour to store login email in your Apple Keychain (set with 'lpsetemail yourname@example.com'). Improvement - Added the ability to set the logout timeout and store in the keychain (set with 'lpsettimeout NUMSEC' where NUMSEC is an integer such as 28800, if you use 0 that will keep you logged in until your computer restarts). Improvement - Added hotkeys to the main functions. Version 1.1Removed code that worked around an old buggy version of pinentry Fixed incorrect handling of no search results found (previously reported CLI tools were not installed) Version 1.0 - Initial Release Credits Created by Stuart Ryan. If you would like to get into contact you can do so via: @StuartCRyan on Twitter Stuart Ryan on LinkedIn Technical Notebook Blog License Released under the GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Notes NOTE: This Alfred Workflow is not affiliated in any way with LastPass. The LastPass trademark and logo are owned by LastPass.com. The LastPass logo and product name have been used with permission of the LastPass team. My thanks go out to LastPass for their awesome product and the new CLI! Edited August 19, 2016 by stuartcryan thec13 and mixterdee 2 Link to comment
jyeakley Posted March 3, 2015 Share Posted March 3, 2015 Your link seems broken. Receiving the following error: Referral DeniedYou don't have permission to access "http://akamai.technicalnotebook.com/wiki/download/attachments/23363615/lastpass-cli-alfred-workflow.alfredworkflow" on this server. Reference #24.d7063e17.1425356061.8b54fc2 Link to comment
jyeakley Posted March 3, 2015 Share Posted March 3, 2015 I was able to download this through your confluence site. Really cool workflow! One possible enhancement - opening the URL associated to the site and copying password to clipboard upon clicking 'enter'. Just my $.02 Link to comment
stuartcryan Posted March 3, 2015 Author Share Posted March 3, 2015 (edited) Your link seems broken. Receiving the following error: My bad, referrer checking on my Akami CDN. I have pushed out a new config and she should be working now. Edited March 3, 2015 by stuartcryan Link to comment
stuartcryan Posted March 3, 2015 Author Share Posted March 3, 2015 I was able to download this through your confluence site. Really cool workflow! One possible enhancement - opening the URL associated to the site and copying password to clipboard upon clicking 'enter'. Just my $.02 Ooh good idea... I hadn't thought of that, will see what I can do. Link to comment
mixterdee Posted March 7, 2015 Share Posted March 7, 2015 Excellent. I have been waiting for a LastPass workflow. So fingers crossed and hope this hits the mark. Link to comment
stuartcryan Posted March 7, 2015 Author Share Posted March 7, 2015 Excellent. I have been waiting for a LastPass workflow. So fingers crossed and hope this hits the mark. Fingers crossed it does for you too. Let me know if you have any issues. I do believe there is another LastPass workflow out there, but I didn't find out about that until after I wrote it LOL and this one seems much simpler under the hood. (I like the KISS principle) Link to comment
mixterdee Posted March 7, 2015 Share Posted March 7, 2015 (edited) I am having a bit of a problem. I can't install the LastPass command line interface. Getting this: a2x --no-xmllint -f manpage lpass.1.txt a2x: ERROR: "xsltproc" --stringparam callout.graphics 0 --stringparam navig.graphics 0 --stringparam admon.textlabel 1 --stringparam admon.graphics 0 "/usr/local/Cellar/asciidoc/8.6.9/etc/asciidoc/docbook-xsl/manpage.xsl" "/private/tmp/lastpass-cli-BSVmgH/lastpass-cli-0.4.0/lpass.1.xml" returned non-zero exit status 5 make: *** [lpass.1] Error 1 **EDIT** Ignore above. Ran brew update and upgrade and that fixed the errors. Everything installed fine. It works perfect. Thanks. Edited March 7, 2015 by MJD Link to comment
dimitrijet Posted June 25, 2015 Share Posted June 25, 2015 Alright.. I think I might be going crazy.. It's almost 1 am and I've been at this for 4 hours now. And I simply cannot get this to work.. This same error keeps coming up: Error 13 Permission Denied. Please help. Link to comment
stuartcryan Posted July 12, 2015 Author Share Posted July 12, 2015 Alright.. I think I might be going crazy.. It's almost 1 am and I've been at this for 4 hours now. And I simply cannot get this to work.. This same error keeps coming up: Error 13 Permission Denied. Please help. Working with Dimitri on this offline (as it is requiring additional information) though it appears to be an isolated issue with the brew install I will keep everyone posted. Link to comment
stuartcryan Posted July 12, 2015 Author Share Posted July 12, 2015 [update 12th July 2015 - Version 1.1 Release] Howdy all, I am happy to announce this workflow is now up on Packal --> http://www.packal.org/workflow/lastpass-cli-workflow-alfred (can be downloaded from here) Version 1.1 Changes: Removed code that worked around an old buggy version of pinentry Fixed incorrect handling of no search results found (previously reported CLI tools were not installed) Link to comment
cka3o4h1k Posted July 18, 2015 Share Posted July 18, 2015 On 10.11 lplogin not work Terminal window not appear, manual cli login is ok Capture::Tiny - is works TY Link to comment
stuartcryan Posted July 18, 2015 Author Share Posted July 18, 2015 On 10.11 lplogin not work Terminal window not appear, manual cli login is ok Capture::Tiny - is works TY Hi Cka304h1k, Thanks for that, I will have to see if I can spin up a VM and upgrade it (not tried this before). Will keep you posted. Cheers Stuart Link to comment
stuartcryan Posted July 19, 2015 Author Share Posted July 19, 2015 Hi Cka304h1k, Thanks for that, I will have to see if I can spin up a VM and upgrade it (not tried this before). Will keep you posted. Cheers Stuart OK so it seems that El Capitan is not yet supported on VMs in Parallels. As soon as it is I will look into this (but don't have a machine to spare to install the beta just yet). I will keep you posted. Link to comment
danjng Posted July 29, 2015 Share Posted July 29, 2015 So I seem to be missing something since it is not currently working for me. I can install (using brew) and use the CLI alone just fine, but when trying to use the workflow, I log in, but can't search. It just tells me that I'm not logged in. Any ideas? Link to comment
stuartcryan Posted July 29, 2015 Author Share Posted July 29, 2015 Hi Danjng, You are the second person to report this... will DM you as I will likely need to set up a Teamviewer session with you so I can have a look at what is going wrong. Cheers, Stuart Link to comment
stuartcryan Posted July 29, 2015 Author Share Posted July 29, 2015 So I seem to be missing something since it is not currently working for me. I can install (using brew) and use the CLI alone just fine, but when trying to use the workflow, I log in, but can't search. It just tells me that I'm not logged in. Any ideas? All righty, seems I cant message you on the PM system: So... instead could you please add me on Skype and I can chat to you there. My Skype username is StuartCRyan Cheers, Stuart Link to comment
hyshai Posted August 3, 2015 Share Posted August 3, 2015 I don't know if this issue is specific to this workflow but when I try to run lp foo I get an error [ERROR: alfred.workflow.input.scriptfilter] Code 13: Can't locate strict.pm: Permission denied at -e line 1. BEGIN failed--compilation aborted at -e line 1. Seems to be some sort of permissions issue - What's the canonical way of fixing OS X Perl permission issues? Link to comment
stuartcryan Posted August 3, 2015 Author Share Posted August 3, 2015 I don't know if this issue is specific to this workflow but when I try to run lp foo I get an error [ERROR: alfred.workflow.input.scriptfilter] Code 13: Can't locate strict.pm: Permission denied at -e line 1. BEGIN failed--compilation aborted at -e line 1. Seems to be some sort of permissions issue - What's the canonical way of fixing OS X Perl permission issues? Hmm that is a weird one. General way to fix all permissions issues in OSX is to run Disk Utility, select your Macintosh HD (or whatever you have renamed it to) and click Repair Disk Permissions. Please give that a go and let me know how you go. Cheers, Stuart Link to comment
hyshai Posted August 3, 2015 Share Posted August 3, 2015 (edited) Hmm that is a weird one. General way to fix all permissions issues in OSX is to run Disk Utility, select your Macintosh HD (or whatever you have renamed it to) and click Repair Disk Permissions. Please give that a go and let me know how you go. Cheers, Stuart Tried that - unfortunately that didn't help - it didn't find any bad permissions (pertaining to Perl...) (Thanks for the quick response ) Edited August 3, 2015 by hyshai Link to comment
stuartcryan Posted August 3, 2015 Author Share Posted August 3, 2015 Tried that - unfortunately that didn't help - it didn't find any bad permissions (pertaining to Perl...) (Thanks for the quick response ) All good you caught me on lunch. Can you please private message me with the outputs of the following terminal commands: perl --version system_profiler SPSoftwareDataType cpan --version cpan -l (will be a long output, may need to send as a file, message me for my email address) sudo cpan -l (again, will potentially be quite a long output as above. Link to comment
hyshai Posted August 7, 2015 Share Posted August 7, 2015 (edited) Thanks to the tireless help of @stuartcryan I was able to fix the error by fixing the permissions of all paths in the @INC perl -e 'print join "\n", @INC' basically all paths have to be readable by user. More information here http://www.perlmonks.org/?node_id=1080639 Edited August 7, 2015 by hyshai Link to comment
klau Posted August 16, 2015 Share Posted August 16, 2015 Hi Stuart, I've had the same issue as danjng -- were you guys able to figure out a fix by any chance? Link to comment
stuartcryan Posted August 17, 2015 Author Share Posted August 17, 2015 Hi Stuart, I've had the same issue as danjng -- were you guys able to figure out a fix by any chance? Hi Klau, I haven't had contact, the other person that had this issue it magically cleared up (I hate it when that happens). I will PM you as I have a beta version of the workflow that may fix the issue for you. Cheers, Stuart Link to comment
stuartcryan Posted August 17, 2015 Author Share Posted August 17, 2015 (edited) Hi Stuart, I've had the same issue as danjng -- were you guys able to figure out a fix by any chance? OK can't seem to get you via PM (says you can't use it). So instead --> Could you please try downloading this new beta of the workflow --> [updated link August 18, 2015] https://dl.dropboxusercontent.com/u/9093155/alfred-workflows/stuartcryan-lastpass-cli/LastPassCLI_1.2.1_beta.alfredworkflow After you have installed the updated workflow you will need to run: lpsetemail yourname@example.com If you would like you can also use: lpsettimeout NUMSEC (where NUMSEC is either 0 - no timeout, or a number of seconds, otherwise a default of 28800 is used). Please let me know if you have any more success with that. Cheers, Stuart Edited August 18, 2015 by stuartcryan Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now