- Go rewrite — single static binary, no shell dependencies
-
signal.NotifyContextfor graceful shutdown - JSON-based tailscale status check before
file get - Preflight checks at startup (tailscale binary, target user validity)
-
--oncemode for one-shot execution / systemd timer mode -
--versionflag - Configurable via CLI flags + environment variables +
/etc/default/tailscale-receive - Archive management throttled to once per hour (not every poll cycle)
-
notify-sendviaSysProcAttr.Credential(nosudoneeded, works withNoNewPrivileges=true) -
os.Chownreceiver files instead of shelling out tochown - Systemd service hardened:
PrivateTmp,ProtectSystem=strict,NoNewPrivileges,CapabilityBoundingSet, etc. - CI with Go build, vet, fmt check, race detection, and integration tests
- Go unit tests with mocked tailscale CLI
- Nautilus/Dolphin integration scripts (send-side)
- Prometheus metrics endpoint (optional)
- Optional systemd timer deployment mode (alternative to daemon)