GithubHelp home page GithubHelp logo

victorgrycuk / streamdeck-keepass Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 0.0 1.95 MB

Simple interface to retrieve information from KeePass database

License: GNU General Public License v3.0

C# 57.91% HTML 23.23% JavaScript 18.85%
streamdeck keepass elgato csharp keepass-database streamdeck-plugin

streamdeck-keepass's Introduction

KeePass for Stream Deck

Description

Simple interface to retrieve information from a KeePass database and generate passwords using KeePassLib.

I wanted to learn how to use the Elgato Stream Deck SDK using BarRaider's Stream Deck Tools, so I created this simple plug-in.

Features

Retrieve

It retrieves a field of a stored entry from a .kdbx file and copies it to the clipboard.

It uses the following configuration:

  • KeePass db path. The absolute path to the KeePass file.
  • KeePass db password. The main password of the KeePass file.
  • Entry Name or UUID. The name or UUID of the entry that has the desired information.
  • Field to retrieve. The field whose content will be copied to the clipboard
    • Password
    • Username
    • Notes
    • URL
  • Clear Time. The time in seconds to keep the value in the clipboard. Use 0 to leave it indefinitely (default).

Generate

it will generate a random password using KeePassLib using the given configuration.

It uses the following configuration:

  • Password Length. Default 20.
  • Lower Case. abcdefghijklmnopqrstuvwxyz. Default true.
  • Upper Case. ABCDEFGHIJKLMNOPQRSTUVWXYZ. Default true.
  • Use Digits. 0123456789. Default true.
  • Use Punctuation. ,.;:. Default true.
  • Use Brackets. ()[]{}<>. Default true.
  • Use Special Characters. !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~. Default true.
  • Exclude Look-Alike characters. It will avoid using two character that look similar, like O and 0. Default false.
  • Must occur at most Once. It will prevent characters from appearing more than once. Default false.
  • Characters to Exclude. Any character included in the text field will be excluded from the generated password.
  • Custom Pattern. Allows to use a custom defined password generation pattern. Refer to the section Generating Passwords that Follow Rules of KeePass Password Generator documentation.
    • Note: Using a custom pattern will override all the previous configuration.
  • Clear Time. The time in seconds to keep the value in the clipboard. Use 0 to leave it indefinitely (default).

Check KeePass Password Generator help site for more information.

Aware

Its function its identical to Retrieve, except it retrieves the stored field based on the current active window.

It only replaces the Entry Name option with a new one:

  • Process Mapping. A key=value that maps a running process with a KeePass entry title/UUID.
    • Examples:
      • steam.exe=Steam
      • Discord.exe=2A8CC713A463524C928E1F613BA10DAC
    • Add one mapping per line.

MircoBabin's KeePassCommander

It allows direct communication with the KeePass application to retrieve a field of a stored entry to the clipboard. Note: It requires the KeePassCommander plugin for KeePass.

It uses the following configuration:

  • CommandDLL path. The absolute path to the KeePassCommandDll.dll.
  • Entry Name. The name of the entry that has the desired information.
    • Note: It does not support search by UUID.
  • Field to retrieve. The field whose content will be copied to the clipboard
    • Password
    • Username
    • Notes
    • URL
  • Clear Time. The time in seconds to keep the value in the clipboard. Use 0 to leave it indefinitely (default).

My other Stream Deck plugins


The icon for this action is a modified version of iOS Filled at Icon8.

streamdeck-keepass's People

Contributors

victorgrycuk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

streamdeck-keepass's Issues

Key file

Hello!
How can i use a DB that require a key file?

Unable to retrieve passwords

I've verified that I've used the correct password for my database, but it doesn't retrieve anything from the database.

image

image

I've tried both key file and password, with and without quotes in the text fields

I've also tried an older version but I cannot get it to work. Am I missing anything obvious here?

Allow entry matching to be done by entry UID

I attempted to use the entry UID to locate my KeePass entries but it did not appear to work. Can the plugin search for the entries using UID?

Also, if possible can the passphrase for the DB be optional and just leverage the locked/unlocked status?

Retrieve Not Working

When attempting to use the 'Retrieve' function the plugins logs show:

2022-10-20 10:51:05.5986|INFO|BarRaider.SdTools.Logger|The file version is unsupported.

A newer KeePass version is required to open this file

I am using:
StreamDeck-KeePass Plugin version 1.5.0 - 1/24/2022

KeePass 2.52 (64-bit)
KeePassLibC (1.x File Support) 1.40.1 - 0x01C2

Fail to retrieve information

I'm unable to retrieve any information from my KeePass DB.
Log shows me this info:

2021-12-02 16:34:47.4490|INFO|BarRaider.SdTools.Logger|The file version is unsupported.
A newer KeePass version is required to open this file.

I'm running the latest version of KeePass 2.49

Any hints on what's going?
Thanks

Support for placeholders and field references

It's a way to generate one-time password tokens like the ones you can obtain with Microsoft authenticator or authy for extra login security.

Keepass has a feature to also generate OTPs which is handy.
https://keepass.info/help/base/placeholders.html#otp

It would be great (don't know if possible/effort) for keepass to give you the translated placeholder/field reference with the real value

Another use I give to placeholders/field references is having one password value in one keepass entry and then using a field reference of that password entry in another keepass entry, that way if I change the password in one place I don't have to update all the other entries.

Originally posted by @Redirts in #9 (comment)

Keepass db path isn't saved

When I enter the path for the keepass db it doesn't persist the value. When I enter the data and go to a different button and then back, the KeePass db path is empty. When I enter all the the config and press the button on the streamdeck it logs the following:

2022-01-20 10:27:27.0793|INFO|BarRaider.SdTools.Logger|Value cannot be null.
Parameter name: value

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.