Distro-agnostic installer (dep check, sudo helper+policy install, per-user
kpackagetool6 install/upgrade) and matching uninstaller; full public README
covering requirements, usage, architecture and security notes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
POSIX sh helper (pkexec target) that mounts/unmounts CIFS shares with strict
validation of the unprivileged caller's arguments: mountpoint confined to
$HOME or /run/media/<user>, //host/share source, credfile under the caller's
runtime dir at mode 0600, whitelisted SMB version/options/modes. Polkit
action authorizes it with auth_admin_keep.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Host manager (add/edit/remove Synology/SMB hosts) that stores non-secret
fields as JSON and writes passwords to KWallet via kwallet-query; general
page for default mount folder, SMB version, mount options and permissions.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PlasmoidItem with a system-tray icon (active when a share is mounted) and a
popup grouping shares per host. ExpandableListItem rows toggle mount/unmount
and open the mounted folder; empty-state placeholder links to config.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Injection-safe sh -c wrapper (static script + positional args), KWallet
password flow into a 0600 cred file for mount, smbclient/-g share parsing,
findmnt mounted-state parsing, and the pkexec helper invocations.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Plasma/Applet package metadata (tray applet, id sk.houmeres.synologynas)
and the KConfigXT schema (hosts JSON, mount root, SMB version, options).
Passwords are never stored in config — they live in KWallet.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>