Implement SyncWarden v0.1.0
Some checks failed
Release / build (push) Failing after 19s

Full Syncthing tray wrapper with:
- System tray with 5 icon states (idle/syncing/paused/error/disconnected)
- Syncthing REST API client with auto-discovered API key
- Long-polling event listener for real-time status
- Transfer rate monitoring, folder tracking, recent files, conflict counting
- Full context menu with folders, recent files, settings toggles
- Embedded admin panel binary (webview, requires CGO)
- OS notifications via beeep (per-event configurable)
- Syncthing process management with auto-restart
- Cross-platform installer with autostart
- CI pipeline for Linux (.deb + .tar.gz) and Windows (.zip)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Axel Meyer
2026-03-03 21:16:28 +01:00
parent 2256df9dd7
commit 34a1a94502
30 changed files with 2156 additions and 38 deletions

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "SyncWarden installed. It will start automatically on next login."
echo "To start now: syncwarden &"

View File

@@ -0,0 +1,2 @@
#!/bin/sh
pkill -f syncwarden || true

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=SyncWarden
Comment=System tray wrapper for Syncthing
Exec=/usr/bin/syncwarden
Terminal=false
Categories=Network;FileTransfer;
X-GNOME-Autostart-enabled=true

27
packaging/nfpm.yaml Normal file
View File

@@ -0,0 +1,27 @@
name: syncwarden
arch: amd64
platform: linux
version: "${VERSION}"
maintainer: "calic"
description: "Lightweight system tray wrapper for Syncthing"
vendor: "calic"
homepage: "https://git.davoryn.de/calic/syncwarden"
license: MIT
contents:
- src: ./syncwarden
dst: /usr/bin/syncwarden
- src: ./syncwarden-panel
dst: /usr/bin/syncwarden-panel
- src: ./packaging/linux/syncwarden.desktop
dst: /etc/xdg/autostart/syncwarden.desktop
type: config
scripts:
postinstall: ./packaging/linux/postinstall.sh
preremove: ./packaging/linux/preremove.sh
depends:
- syncthing
recommends:
- libwebkit2gtk-4.0-37