Axel Meyer 0cae2407a9
Some checks failed
Release / build (push) Failing after 46s
Fix CI: remove CGO panel builds, match working pipeline pattern
The act runner doesn't have CGO/MinGW available by default. Ship tray +
setup binaries only (panel requires CGO cross-compile, deferred to later).
Also move apt-get install to the step that needs it (zip).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:20:11 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00

SyncWarden

Lightweight system tray wrapper for Syncthing. Cross-platform, native-feeling, ~10 MB.

Features

  • Tray icon with 5 states: idle (green), syncing (blue), paused (gray), error (red), disconnected (dark gray)
  • Real-time monitoring via Syncthing event API (long-polling)
  • Transfer rates in tooltip and menu
  • Context menu: folder list, recent files, conflict counter, pause/resume, rescan, restart
  • Embedded admin panel using the system browser engine (Edge WebView2 / WebKit / WebKit2GTK)
  • OS notifications for sync complete, device connect/disconnect, new device requests, conflicts
  • Settings toggleable via menu checkboxes (persisted to JSON config)
  • Auto-start Syncthing with crash recovery
  • API key auto-discovery from Syncthing's config.xml

Architecture

Binary Purpose
syncwarden Tray icon, menu, API polling, notifications, process management
syncwarden-panel Embedded browser showing Syncthing admin panel
syncwarden-setup Cross-platform installer

Separate binaries avoid main-thread conflicts between systray and webview.

Installation

From release

Download the latest release for your platform and run syncwarden-setup.

From source

Requires Go 1.24+ and CGO (MinGW-w64 on Windows for the panel binary).

# Tray binary (pure Go on Windows)
go build -o syncwarden ./cmd/syncwarden

# Panel binary (requires CGO + C++ compiler)
CGO_ENABLED=1 go build -o syncwarden-panel ./cmd/panel

# Setup
go build -o syncwarden-setup ./cmd/setup

Configuration

Config file location:

  • Windows: %LOCALAPPDATA%\syncwarden\config.json
  • Linux: ~/.config/syncwarden/config.json
  • macOS: ~/Library/Application Support/syncwarden/config.json

The API key is auto-discovered from Syncthing's config.xml on first run. All settings are configurable via the tray menu.

Dependencies

License

MIT

Description
Lightweight system tray wrapper for Syncthing
Readme MIT 994 KiB
v0.3.0 Latest
2026-03-03 23:57:39 +00:00
Languages
Go 99.8%
Shell 0.2%