this post was submitted on 09 Mar 2024
63 points (98.5% liked)

Android

27941 readers
86 users here now

DROID DOES

Welcome to the droidymcdroidface-iest, Lemmyest (Lemmiest), test, bestest, phoniest, pluckiest, snarkiest, and spiciest Android community on Lemmy (Do not respond)! Here you can participate in amazing discussions and events relating to all things Android.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules


1. All posts must be relevant to Android devices/operating system.


2. Posts cannot be illegal or NSFW material.


3. No spam, self promotion, or upvote farming. Sources engaging in these behavior will be added to the Blacklist.


4. Non-whitelisted bots will be banned.


5. Engage respectfully: Harassment, flamebaiting, bad faith engagement, or agenda posting will result in your posts being removed. Excessive violations will result in temporary or permanent ban, depending on severity.


6. Memes are not allowed to be posts, but are allowed in the comments.


7. Posts from clickbait sources are heavily discouraged. Please de-clickbait titles if it needs to be submitted.


8. Submission statements of any length composed of your own thoughts inside the post text field are mandatory for any microblog posts, and are optional but recommended for article/image/video posts.


Community Resources:


We are Android girls*,

In our Lemmy.world.

The back is plastic,

It's fantastic.

*Well, not just girls: people of all gender identities are welcomed here.


Our Partner Communities:

[email protected]


founded 1 year ago
MODERATORS
 

I've been using Dropbox to sync my KeePass database for years, but I want to switch to Syncthing. My only concern is losing a password due to file versioning. Usually if I have KeePass open on both my phone and PC, there will be a conflict when saving to database, so Dropbox creates a conflicted copy. In some cases that means that I have to merge those databases but I don't lose the password.

What file versioning option should I be using in Syncthing? Should I be worried about losing a password due to conflicted file?

top 12 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 8 months ago
[–] [email protected] 5 points 8 months ago* (last edited 8 months ago)

I use the Simple file versioning on both sides, and since the files are small I tell em to keep like 20 versions.
It works just like you describe it does with Dropox. If there's a conflict you get a sync conflict file, then you just open Keepass and ask it to merge the two databases.

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

i use keeweb instead of syncthing and host the file on dropbox.

ive never gotten conflicts this way.

i use a certificate and a basic password to decrypt.

[–] [email protected] 5 points 8 months ago

I use it with nextcloud and sync through that. Keepass handles the conflict thing, not Dropbox, so you'll get that on any tool. I sometimes get these and just diff the files to find the differences.

[–] [email protected] 10 points 8 months ago

I do this with 4 different devices and it just works. I wouldn't leave the vault file open on any device I'm not actively using though.

Keepass XC (Windows) has a setting "automatically reopen the database when modified externally". If the file is open and Syncthing updates it from somewhere else, it should open the new file and prompt for the password again.

[–] [email protected] 2 points 8 months ago

It works pretty well. I use a one-way sync from my computer to my phone. I have two-way sync for notes, sometimes that creates conflicts but Synching always saves both versions

[–] [email protected] 5 points 8 months ago

I do this and it's pretty smooth.

If you conflict by saving in both locations it will sync one as an alternate filename so you don't lose anything and can resolve it manually.

I also run it on my NAS, and my NAS folder has versioned backup on it... So even if I do mess it up by deleting it, i can recover it.

[–] [email protected] 7 points 8 months ago (1 children)

I can 2nd that SyncThing works well with KeePass. I have it running on Windows, Android, and a few Debian computers (guys, I use Linux) and I've never had an issue. I just checked (and apparently I'm a thug), because I've been using "No File Versioning" for years. You may want to opt for any of the available options to err on the side of caution. As long as you're adamant about syncing any changes ASAP (and not modifying the database on 2 different devices simultaneously), you won't have issues. Even when I have screwed up (by editing the DB on 2 devices), the KeePassDX client on Android has handled it gracefully and allowed me to merge the conflicts. I also always keep regular backups of my database outside of the whole SyncThing monstrosity (just for worst case scenarios). Cheers mate, give a whirl.

[–] [email protected] 4 points 8 months ago (1 children)

I've had a lot of conflicts over the years of doing this but as you say keepass is good at merging. You'd only run into trouble if you change the file in two locations before syncing (file conflict) AND the time was way off on one of them (wrong change applied) AND you have no way of resetting your password.

[–] [email protected] 1 points 7 months ago

Okay, finally ran into a conflict that I noticed. Wonder how many passwords I've lost throughout the years. I got back the account that was swallowed but I'd much prefer this didn't happen in the first place. Other than making it a habit to sync (with syncthing) before editing a database it doesn't seem like there's a built-in solution for this. The problem is that keypass always performs a two-way sync (sync two files, modify two files). Guess I'll see how hard it would be to make a one-way sync plugin or if some other variant does one-way.

[–] [email protected] 5 points 8 months ago* (last edited 8 months ago)

I used to do this with both ResilioSync and SyncThing. Instead of directly loading the synced database file in keepass you need to enable database sync, which should merge your remote and local files a bit easier. You'll also want to create a trigger in keepass that syncs the database whenever anything is modified, as described here.

EDIT: Forgot to add, Syncthing has several versioning methods as well, so make sure to check those out!

[–] [email protected] 21 points 8 months ago

It works surprisingly well. As long as you don't update both databases offline, that is. In that case there will be a conflicted copy :)

I have not encountered this problem yet, I use the keepass database synced on my phone and 3 other computers.