Skip to content
This repository has been archived by the owner on May 25, 2022. It is now read-only.

Is a command line client planned? #1

Closed
fortes opened this issue Mar 22, 2017 · 30 comments
Closed

Is a command line client planned? #1

fortes opened this issue Mar 22, 2017 · 30 comments

Comments

@fortes
Copy link

fortes commented Mar 22, 2017

Is this just a placeholder repository, or are there actual plans here?

@nogweii
Copy link

nogweii commented Mar 24, 2017

Another request for more information!

Are you planning on writing the client in a particular language?

@nojaf
Copy link

nojaf commented Jun 2, 2017

Any updates here?

@jamesbvaughan
Copy link

Bump.

I'd love to have a command line client as well! Any updates now?

@TheDan64
Copy link

TheDan64 commented Sep 7, 2017

Rust might be a good choice to write this in; given that it is a memory safe language.

@fidiego
Copy link

fidiego commented Sep 9, 2017

Bumpiddy bump bump bump

@victorjtfranco
Copy link

From https://bitwarden.com/ :
image

@davekaufman
Copy link

I'd love to switch from LastPass Premium - a command line interface to bitwarden is the only thing stopping me. Please implement!

@scotte
Copy link

scotte commented Dec 27, 2017

Lack of a command line keeps me from trying bitwarden, so I'll continue to use a combination of keepassxc and pass (passwordstore.org) for now, I guess. I'd really like to have a unified solution for command line, web, and Android.

@jamesbvaughan
Copy link

I really like Bitwarden and wanted to continue to support it, but the lack of a CLI client was pretty frustrating.

If anyone here is in need of a great CLI password manager, I'd highly recommend pass. I reluctantly switched from Bitwarden a while ago after I gave up on getting a CLI client, and it's been really great. I added Bitwarden support to the pass importer so it should be pretty easy to switch.

@ghost
Copy link

ghost commented Jan 13, 2018

Any details on the plans for this app? How can we help?

@kspearrin
Copy link
Member

All: Yes, a CLI is planned, which is why this repo exists. There is no timeline planned for it yet, other than we plan to build it. Hopefully later this year after we ship the desktop app (being worked on now).

@zpeters
Copy link

zpeters commented Jan 26, 2018 via email

@kspearrin
Copy link
Member

@zpeters There is a bit of discovery that needs to be done before we can start working on the CLI app. I have never personally used a CLI for password management (I'm not really a heavy CLI app user all around for that matter) so I will need to "survey the field" to educate myself and see what features our competitors offer, what's good about each, what's not good, etc. Detailed input regarding that would be a good starter.

Technology wise we will likely end up building this with .NET Core (C#) or NodeJS (JavaScript/TypeScript), since these are the two technologies we use across the board for all of our work. They both offer the cross-platform compatibility that we need for the CLI.

@schmitmd
Copy link

@kspearrin How would you like that request/wishlist submitted? A gist? I imagine a comment in this issue isn't the best.

@kspearrin
Copy link
Member

You can reply here or open a new issue for discussion.

@maetthu
Copy link

maetthu commented Jan 27, 2018

@kspearrin My primary use case for a CLI would be automated backups/exports. I do like the convenience of a hosted solution, but like to keep my data at a safe place in my control as well. As an alternative, API docs would be really nice - I was thinking about reverse engineering the chrome extension to build a simple backup tool, but it's a bit tedious and would be much easier with API docs. And if someone needs to do other automation tasks (like automatic password changes), it might be even easier/cleaner with an (REST-)API than with a CLI.

@scotte
Copy link

scotte commented Jan 27, 2018

I went ahead and paid for premium bitwarden in support of this and the Linux client, and in general towards bitwarden being a future single source of truth for passwords...

@zpeters
Copy link

zpeters commented Feb 5, 2018

I'm agreeing w/ @maetthu but my use case would be slightly different. I'd like a cli or "easy to use" api access to integrate bitwarden in "alternative" browsers. One i was working on was qutebrowser, but it was a dead-end for me because i didn't have a convenient way to tie in bitwarden.

Thinking out loud here but it might be less effort on the bitwarden teams side to just get the api/api docs up to a good standard and let the community develop the CLI? That might be more manageable from a "community" standpoint. i could imagine different people will want different things out of a cli. Depending on the environment they might need to be particular to the programming language, etc.

Happy to help out & contribute however i can!

@Mange
Copy link

Mange commented Feb 7, 2018

Thinking out loud here but it might be less effort on the bitwarden teams side to just get the api/api docs up to a good standard and let the community develop the CLI?

My primary usecase is twofold:
Wrapping the CLI in other programs (to quickly connect to some machine over SSH, or to download and install something, writing a small GUI, etc) and to be able to reverse-engineer it to create my own CLI and/or library in a language that I use for my own stuff.

Having good API documentation and a stable API would also help me achieve these goals, so for me that would be sufficient.

@NonlinearFruit
Copy link

My main use case for my cli password manager is:

  1. pswd github | yy
  2. [master password]
  3. git push
  4. NonlinearFruit
  5. Ctrl+Shift+V
  6. Done

pswd is the alias for my password manager and yy my alias for xclip

@johnolos
Copy link

johnolos commented Mar 13, 2018

My two cents: Rust seems like a good alternative to write the CLI with.

Furthermore; I use fzf quite heavily, and being able to wrap my own alias around the use of stdin/stdout with Bitwarden CLI is a must-have feature for me.

Example: https://github.com/junegunn/fzf/wiki/Examples-(fish)#lastpass-cli

@birlorg
Copy link

birlorg commented Apr 8, 2018

I've written alpha quality CLI client in python3 and rust, the crypto works, the CLI itself is functional, but is very very limited at the moment. On macOS, it implements sudolikeaboss functionality. help making it better is appreciated. source repository links:

fossil-scm: https://fossil.birl.ca/bitwarden-cli/home
github mirror: https://github.com/birlorg/bitwarden-cli

@johnolos on macOS the slab functionality is superior IMHO and is implemented in my repo now. Should be trivial to support your method as well, but I'll tackle that tomorrow probably.

@maetthu
Copy link

maetthu commented Apr 8, 2018

@birlorg A word of caution, given that you are using rust-crypto: This library is more or less abandoned (last release ~2 years ago) and states in its README: "Rust-Crypto has not been thoroughly audited for correctness, so any use where security is important is not recommended at this time.". (I don't know much about rust, so I don't know about better alternatives, I just checked out its crypto support for another project a while back). But thanks for your work, I'll gladly test the python version soon 😃

@birlorg
Copy link

birlorg commented Apr 8, 2018

@maetthu Thanks! I must have missed that. The crypto code needed a serious re-factor anyway ;)

@birlorg
Copy link

birlorg commented Apr 8, 2018

@johnolos @NonlinearFruit implemented:

bitwarden find example.com -f tsv --no-headers | fzf | cut -f 1 | xargs bitwarden fetch_uuid -p

bitwarden find --help will show details and this example.

even easier now in 0.3.0 release:

bitwarden config slab_location `which fzf`

then to run:

bitwarden slab

and it will launch fzf and everything and spit out the password. it only searches entries with a url sudolikeaboss://local however (and lets you pick from any one with that URI) bitwarden find will work for any URI.

@johnolos
Copy link

johnolos commented Apr 9, 2018

@birlorg : I'll make sure to check out your rust-version when I have time.

Edit:
Regarding crypto-libs in rust:
https://github.com/rust-unofficial/awesome-rust#cryptography

@birlorg
Copy link

birlorg commented Apr 9, 2018

@johnolos
That list includes rust-crypto which apparently is dead. hyper, and tokio call out to openssl it seems, so that is probably where I will end-up. Also I'm pretty sure that is where the NPM/nodejs insanity eventually lands which bitwarden proper seems to use.

@kspearrin
Copy link
Member

For those interested, I have started working on this project. You can follow along in the master branch.

@kspearrin
Copy link
Member

The CLI is now complete and has been released as a public beta test. You can participate in the beta if you like in this issue: #3 . A full release will follow the beta test, hopefully sometime next week.

WIP docs about using the CLI: https://help.bitwarden.com/article/cli/

This issue will now be closed.

CLI

@kspearrin
Copy link
Member

This CLI is now generally available. See this blog post for the release announcement: https://blog.bitwarden.com/bitwarden-command-line-tool-now-available-e6184407b719

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests