Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 1.13 KB

File metadata and controls

23 lines (19 loc) · 1.13 KB

Tailscale Receiver — TODO

Completed (v3.1.0)

  • Go rewrite — single static binary, no shell dependencies
  • signal.NotifyContext for graceful shutdown
  • JSON-based tailscale status check before file get
  • Preflight checks at startup (tailscale binary, target user validity)
  • --once mode for one-shot execution / systemd timer mode
  • --version flag
  • Configurable via CLI flags + environment variables + /etc/default/tailscale-receive
  • Archive management throttled to once per hour (not every poll cycle)
  • notify-send via SysProcAttr.Credential (no sudo needed, works with NoNewPrivileges=true)
  • os.Chown receiver files instead of shelling out to chown
  • Systemd service hardened: PrivateTmp, ProtectSystem=strict, NoNewPrivileges, CapabilityBoundingSet, etc.
  • CI with Go build, vet, fmt check, race detection, and integration tests

Pending

  • 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)