Coder Social home page Coder Social logo

gardian12 / keepassmasterslavesync Goto Github PK

View Code? Open in Web Editor NEW

This project forked from angelelz/keepassmasterslavesync

0.0 1.0 0.0 760 KB

KeePass 2 plugin that Allows synchronization of specific Groups or Tags between local databases.

License: MIT License

C# 100.00%

keepassmasterslavesync's Introduction

KeePassMasterSlaveSync

Latest release Github All Releases License

KeePassMasterSlaveSync is a KeePass 2 plugin that Allows synchronization of specific Groups or Tags between local databases. This plugin is heavily based on KeePassSubsetExport.

Why?

Automatically and securely share entries and groups with other databases. I have my personal database from which I share a group containing bank and family entries with my wife's database. My Database act as a Master for those entries: If I delete or move any entry, It will be deleted from the Slave; but if there is different data in any entry, the one with the newer modification time will be synced across both databases. Also, my wife's database (slave Database) can have entries to share too, for which it will be the master.

Disclaimer

I'm not an expert programmer and I tried not to compromise security - but I can't guarantee it.
So use this plugin at your own risk.
If you have more experience with KeePass plugins, I would be very grateful if you have a look on the code.

How to install?

  • Download the latest release from here
  • Place KeePassMasterSlaveSync.plgx in the KeePass program directory
  • Start KeePass and the plugin is automatically loaded (check the Plugin menu)

How to use?

  • Open the database containing the entries that should be exported/synced
  • Create a folder MSSyncJobs under the root folder
  • For each export job (slave database) create a new entry:
Setting Description Optional Example
Title Name of the job No MSS_MobilePhone
Password The password for the target database Yes, if MSS_KeyFilePath is set SecurePW!
Expires If the entry expires the job is disabled and won't be executed - -
MSS_KeyFilePath
[string field]
Path to a key file Yes, if Password is set C:\keys\mobile.key
MSS_TargetFilePath
[string field]
Path to the target database.
(Absolute, or relative to source database parent folder.)
No C:\sync\mobile.kdbx
or
mobile.kdbx
or
..\mobile.kdbx
MSS_Group
[string field]
Group(s) for filtering (, to delimit multiple groups - , is not allowed in group names) Yes, if MSS_Tag is set MobileGroup
MSS_Tag
[string field]
Tag(s) for filtering (, to delimit multiple tags - , is not allowed in tag names) Yes, if MSS_Group is set MobileSync
MSS_ExportUserAndPassOnly
[string field]
If True Only the Title, Url, Username and Password will be synced with the slave Database. Yes (defaults to False) True
MSS_PerformSlaveJobs
[string field]
If true, Sync jobs on slave database will be executed too (Making it the master for those jobs). Yes (defaults to True) True
MSS_IsSlave
[string field]
If True this job will be ignored when not executed from a Master database. This option prevents the warning "Missing Password or valid KeyFilePath" to show Yes (defaults to False). MSS_PerformSlaveJobs must be true True
  • Every time the (Master) database is saved, every configured sync job will be executed
  • To disable an sync job temporarily just set it to expire, it does not matter the time
  • If both MSS_Group and MSS_Tag are set, only entries matching both will be exported
  • You can have a sync job on a slave database to target the Master database without setting a password or a key file, by executing from the master and setting 'MSS_IsSlave' to true in slave and 'MSS_PerformSlaveJobs' to true on the master.
  • The plugin will automatically update the UI of any opened database.
  • To prevent duplicated Uuids, the plugin will delete any entry from the slave DB that has been moved out of the synced group or tag.

create

Next up!

  • You tell me...

keepassmasterslavesync's People

Contributors

angelelz avatar

Watchers

James Cloos avatar

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.