Commit Graph

7 Commits

Author SHA1 Message Date
Jaroslav Beneš e6eae24a7f Add install.sh, uninstall.sh and README
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>
2026-07-15 14:31:05 +02:00
Jaroslav Beneš 6448ea4f22 Add privileged mount helper + polkit policy
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>
2026-07-15 14:28:49 +02:00
Jaroslav Beneš fab2d65dd2 Add config pages: ConfigHosts + ConfigGeneral
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>
2026-07-15 14:27:01 +02:00
Jaroslav Beneš 47046665ed Add tray UI: main.qml + ShareItem.qml
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>
2026-07-15 14:24:42 +02:00
Jaroslav Beneš 43088a2316 Add nas.js logic layer (command builders + parsers)
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>
2026-07-15 14:22:03 +02:00
Jaroslav Beneš a462d8ab4f Add plasmoid scaffold: metadata.json + config schema
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>
2026-07-15 14:18:32 +02:00
Jaroslav Beneš 4f477bfe70 Initial commit 2026-07-15 12:07:42 +00:00