2025-08-18 18:54:08 +02:00
2025-08-21 10:45:41 +02:00
2025-08-21 09:44:57 +02:00
2025-08-18 18:54:08 +02:00
2025-08-19 10:03:12 +02:00
2025-08-19 12:44:15 +02:00
2025-08-19 12:44:15 +02:00
2025-08-20 14:56:29 +02:00
2025-08-20 14:59:05 +02:00
2025-08-20 14:19:12 +02:00

kpsync

A small util to launch keepassXC while the database file is on a remote webDAV server (e.g. Nextcloud).

Usage

  1. simply start kpsync
  2. On first start a example config in ~/.config/kpsync.json will be created, probably needs to be edited
  3. Afterwards start it again
  4. You can access the logs, functionality, state etc via the tray icon

Functionality

kpsync starts by downloading the latest db file from the webDAV to the (configured) temp directory
(if there already exists a local file, matching with the server version (via ETag), the download will be skipped)

If the download fails, the user gets the option to open a local (fallback) file (e.g. if the computer has no network)

Then KeepassXC is launched.

The temp directory is being watched (inotify) and on file changes they are uploaded to the server.

If there are conflicts (e.g. two clients editing the file at the same time) we ask the user what to do (via notify-send)

Prerequisites

Tested on Linux + Arch + KDE.

Needs notify-send to send desktop notifications.
Needs inotify to watch the directory for changes.
Needs keepassxc to be installed. duh.

Config (example)

{
    "webdav_url":        "https://cloud.example.com/remote.php/dav/files/YourUser/example.kdbx",
    "webdav_user":       "user",
    "webdav_pass":       "hunter2",
    "local_fallback":    "/home/user/example.kdbx",
    "work_dir":          "/tmp/kpsync",
    "debounce":          3500,
    "terminal_emulator": "konsole -e"
}

Screenshot

image
Description
No description provided
Readme 95 KiB
Languages
Go 97.4%
Makefile 2.6%