Skip to content

Distribution & install tooling for shellwatch-agent thin client #35

Description

@rado0x54

Context

Follow-up to #22 (SSH agent socket). Once the server-side WebSocket proxy and Go thin client are implemented, this issue covers everything needed to ship the thin client to users across platforms.

Scope

Cross-platform distribution

  • goreleaser configuration for multi-platform builds (darwin/amd64, darwin/arm64, linux/amd64, linux/arm64, linux/arm, windows/amd64, freebsd/amd64)
  • GitHub Actions release workflow (build on tag push, attach binaries + checksums)
  • Homebrew tap (brew install shellwatch/tap/shellwatch-agent)
  • Install script (curl -fsSL ... | sh) with OS/arch auto-detection

Auto-start services

  • shellwatch-agent install-service / uninstall-service CLI commands
  • macOS: ~/Library/LaunchAgents/com.shellwatch.agent.plist
  • Linux: ~/.config/systemd/user/shellwatch-agent.service

Optional: local agent socket (server-side)

  • For collocated deployments (ShellWatch + SSH client on same machine)
  • net.createServer() on Unix domain socket inside ShellWatch
  • Config: agentSocket.localSocket.enabled + socketPath
  • Lower priority than the remote proxy path

Future system packages

  • .deb for Debian/Ubuntu (via goreleaser nfpm)
  • .rpm for Fedora/RHEL
  • AUR for Arch

Windows named pipe support

  • OpenSSH for Windows uses \\.\pipe\openssh-ssh-agent
  • Go thin client may need --windows-pipe mode alongside AF_UNIX

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions