mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 22:07:03 +01:00
Add setup_dufs_cloud.sh: a self-sustaining installer that stands up dufs (single Rust binary; web UI + built-in WebDAV) on 127.0.0.1:5000 behind the existing Caddy + DuckDNS exposure stack at a new subdomain, so files are reachable from mobile network over HTTPS. An event-driven systemd path unit mirrors ~/Keepass/Passwords.kdbx into the served folder on every change, so KeePassDX syncs the vault natively over WebDAV. Paranoid secret handling for the gitignored .dufs_cloud.conf (plaintext web password): ignored at repo-root + linux_configuration + **/ globs; a new check-no-dufs-conf pre-commit hook blocks it even against `git add -f`; the installer refuses to write it unless git check-ignore confirms it is ignored; the password is hashed via `openssl passwd -6 -stdin` (never in argv); and a cloud-root guard forbids serving home/.ssh/.config/.gnupg/the repo/root. Verified: dufs auth (401/200) + WebDAV (207) against the real v0.46.0 binary, idempotent Caddy/DuckDNS/unit-render logic, and a live phone-on-cellular test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0126QvdMrv2WNeUVShFiLTc3
14 lines
602 B
Desktop File
14 lines
602 B
Desktop File
[Unit]
|
|
# Mirror the live KeePassXC vault into the dufs-served cloud folder.
|
|
# Triggered by keepass-cloud-sync.path on every change to Passwords.kdbx.
|
|
# Placeholders (__USER__ / __HOME__ / __CLOUD_ROOT__) are substituted by
|
|
# setup_dufs_cloud.sh at install time.
|
|
Description=Mirror KeePass vault into dufs cloud folder
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
User=__USER__
|
|
# Only the vault file — not the whole ~/Keepass dir (keeps local .backup_* vaults
|
|
# off the public server). No --delete: the cloud folder may hold other files.
|
|
ExecStart=/usr/bin/rsync -a __HOME__/Keepass/Passwords.kdbx __CLOUD_ROOT__/Keepass/
|