Skip to content

CyprienBarbault/dashlane-cli

 
 

Repository files navigation

Experimental Dashlane CLI

GitHub GitHub package.json version

Dashlane CLI Demo

How to install with brew

brew install --build-from-source dashlane-cli.rb

How to install (manually)

Install the dependencies:

npm ci

In order to build:

npm run build

In order to link:

npm link

In order to bundle for Linux-x64, macOS-x64 and Windows-x64:

npm run pkg

It outputs in bundle directory. Be aware you must use the same Node version as the target.

How to use

In order to get help:

dcli help

In order to sync your vault (this is also the recommended first step):

dcli sync

In order to get a password:

dcli p mywebsite
# will return any entry for which either the url or the title matches mywebsite

dcli p id=xxxxxx
# will return any entry for which the id matches xxxxxx

dcli p url=someurl title=mytitle
# will return any entry for which the url matches someurl, or the title matches mytitle

dcli p url,title=mywebsite
# will return any entry for which either the url or the title matches mywebsite

Note: You can select a different output for passwords among clipboard, password, json. The JSON option outputs all the matching credentials.

In order to generate an OTP:

dcli otp [filters]

In order to get a secure note:

dcli note [titleFilter]

Options

You can use --debug to see all the debug logs of the CLI.

In order to disable automatic synchronization of your vault that is done every hour you can use dcli configure disable-auto-sync true.

If you don't want to use the OS keychain or if you don't want the CLI to save your master password encrypted you can use dcli configure save-master-password false. If you previously had saved your master password encrypted it will delete it and also delete the local key from the OS keychain.

How private data is stored on the computer

See src/crypto/README.md.

Contributing

Feel free to contribute to this project, fork and pull request your ideas. Don't include work that is not open source or not from you.

Warranty note: Dashlane CLI project is provided “as is,” without warranty of any kind, either express or implied. Neither Dashlane, Inc. nor its affiliates, employees or contractors warrant that Dashlane CLI will meet your requirements, operate as required without error or provide future updates. Dashlane, Inc. does not provide customer support on this project. The community is invited to submit bugs and improvements in the issues and pull requests sections of this repository.

Authors

twitter/mikescops twitter/plhery
Corentin Mors Paul-Louis HERY Jérôme Boillot

Troubleshooting

mismatching signatures

If you are using the CLI in multiple environments, and particularly in an IDE like WebStorm, they may use different OS keychain environments so the local keys may not match: the reason why signatures are invalid.

To detect this problem you can, on Linux, install secret-tool: sudo apt install libsecret-tools, execute secret-tool search service dashlane-cli on every environment and check if the secrets match.

If they don't, you can fix the error by manually editing what is stored in the OS keychain using this command: secret-tool store --label "dashlane-cli@<dashlaneId>" service dashlane-cli account <dashlaneId> in the failing environment with the secret from the healthy environment.

About

👩‍💻 A Dashlane CLI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 90.9%
  • JavaScript 6.6%
  • Shell 1.4%
  • Ruby 1.1%