keepassxreboot / keepassxc

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
https://keepassxc.org/
Other
20.82k stars 1.44k forks source link

Multi computer sync with keeshare #10724

Open bastiane273 opened 4 months ago

bastiane273 commented 4 months ago

At first I will give all thanks to this great product! It makes my life so much easier!

Overview

We did the following setup:

There are several nextcloud-clients thich are sharing several keepassXC databases on Windows and Linux - possibly several versions on Windows.

At example my Root-Database has some keeshare databases which a placed on nextcloud-space which is synchonizing with nextcloud server (no webdav or other type of fileshare.) One of the guys ist master of the shared database and has set "Synchronizing" on a shared database included in KeeShare. All other are set to "Import" only. Setting up like this produced no file-share-conflicts within nextcloud. Generally in most situations it is working like a charm and is extremely useful!

Problem 1: If I am using Linux I have a Path like: /home/bepting/Nextcloud/RM/Password-RM-Technic.kdbx

If I have a Windows I have a Path like this: d:\Nextcloud\RM\Password-RM-technic.kdbx

On my Laptop - Possibly I have an other Nextcloud-Root-Directory like c:\Users\Bastian\Nextcloud so my Keeshare-Directory is c:\Users\Bastian\Nextcloud\

If I am synchronizing on Windows 1 (d:\nextcloud) and Windows 2 (c:\users\bastian\Nextcloud) Everytime I want to use the kee-shared databases - i have to change my keeshare-path from d:\nextcloud\RM\Password-RM-Technix.kdbx to c:\Users\Bastian\Nextcloud\RM\Password-RM-Technix.kdbx

With sharing passwords on Windows and Linux it is even more difficult.

Steps to Reproduce

  1. Setting up a nextcloud-Server
  2. Setting Up Client A with Nextcloud-Directory d:\Nextcloud
  3. Setting up Client B with Nextcloud-Directory c:\users\bastian\Nextcloud
  4. Setting up Clinet C with /home/bastian/nexcloud May be a dual-boot system (Windows/Linux) will also fit the problem.

Expected Behavior

If I will Synchronize a keeshared-database and both (User A and User B) has implemented "Synchronize" there are often file synchronisation conflicts. If only one has implemented "Synchronize" and all other has implemented "Import" you will get the error like #3340 while starting under Linux

History entry of xwiki cloudservice[a834a78b52db4da69a94dee034ab5624] at 2024-01-17 07-57-20-000 contains conflicting changes - conflict resolution may lose data! and Entry of xwiki cloudservice[a834a78b52db4da69a94dee034ab5624] contains conflicting changes - conflict resolution may lose data!

[In the first step I want to know how to solve these conflicts - e.g. the "Entries" - History-Entries are not so important, but conflict of entries are not nice in my opinion]

Actual Behavior

Same like expected

Context

Maybe - It would be nice to implement an Kee-Share-Root-Directory

On Client A: d:\Nextcloud On Client B: c:\Users\bastian\Nextcloud On Client C: /home/bastian/nextcloud

and implementing an automatic change of "\" to "/" depending on operating system.

If this would be exist, I were able to kee-share Password-databases across operating systems with synchonizing systems. (Maybe also a backup can run into these problems.

KeePassXC - 2.7.6.AppImage / Windows 2.7.6 Revision: dd21def

Operating System: Windows/Linux (Zorin OS/Ubuntu and Win10/11) Desktop Env: Gnome Windowing System: Wayland I think the exact environment is not important. Should be same of erveyone

image image

droidmonkey commented 4 months ago

Since keeshare synchronizes (or imports) based on entry uuid ONLY, you should be able to setup three different groups with the three different keeshare paths. Only one group will be green cloud depending on the system you are on. The first keeshare group would contain the entries, the other two would just be syncing to that first group.