Currently only the following binaries are available, if you require additional binaries feel free to put in a ticket.
If you downloaded one of the binaries above please follow these steps to run the application.
<yourfolder>/1pass
file that resides in your path.1pass
binary from cli with: ./1pass
or create a desktop link for it etc.This application was started due to the need for a linux 1Password client. There currently is no other packages that even compare closely to the functionality. As seen in the screenshots above this does work however currently it requires compilation / manipulation of the main.go file to indicate where the 1password files live. AND easy of use that 1Password provides. I know there are many others like dashlane / lastpass / keypass etc and I've used them all, but none compares to 1password. I Welcome contributions to this repository as with life sometimes I have time and sometimes I will have no time to work on this but I'm always appreciative of testers, and merge requests.
go get -u https://github.com/Nitecon/1Password
or if you would like to contribute, fork and clone it, (but make sure you check it out under the correct path in golang scope) fix / add functionality and PR back!
Once you have the repo cloned you should be able to immediately build it (if you run on a linux 64 bit host with golang installed + configured) That will upgrade you to the revision that we currently use for the program.
Answer to this is simple, it's easy to support multiple OS's which is obviously missing from the official clients. Second and probably most importantly it will allow us an easy way to do non intrusuve updates as the frontend is disconnected from the backend application that actually does the work etc. The frontend in this case electron is only responsible for spawning the application and eventually to check and do updates, downloads of the updates and respawn of the newly downloaded go binary. This greatly simplifies things and simplicity is very dear to me, so live with it. Finally this allows us the ability to build a cross OS app that can be deployed on windows / mac and perhaps in the future support more than basic functionality.
There is a couple of different ways you can help.
app/main.js
file if you are interested in binary names / where it will be stored.More questions beyond reading the entry points (app/main.js
) for electron and (main.go
) for golang feel free to ask / create an issue.
1Password design is based on a frontend / backend setup. The frontend is handled by electron (chromium) as it already has window management etc solved and reduces our need to deal with native gui implementations across multiple OS's. Node.js is responsible for spawning the OS specific golang binary application, and go into listening mode. The go application upon startup responds to the electron application with a random port location that the application is listening to locally, and then redirects to that location for the actual "main" or homepage whatever you want to call it. Beyond the redirection electron will have a couple of menu items over time for getting general application help / checking for updates, downloading updates / respawning the app and exit etc and thats just about it.