From 64734cad1faa1aae3b3090ce082f2dd20e9de65d Mon Sep 17 00:00:00 2001 From: Deivid Soto Date: Tue, 7 Apr 2026 23:28:41 +0200 Subject: [PATCH] feat(agent): send stream port and IPs in register request Include StreamPort, LanIP, and TailscaleIP in RegisterRequest so the server knows the agent's stream endpoints from the moment it registers, not just after the first heartbeat. Align HeartbeatRequest field order with RegisterRequest for consistency. --- internal/agent/daemon.go | 3 +++ internal/agent/types.go | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/agent/daemon.go b/internal/agent/daemon.go index 3fe8a75..af967c4 100644 --- a/internal/agent/daemon.go +++ b/internal/agent/daemon.go @@ -94,6 +94,9 @@ func (d *Daemon) Register(ctx context.Context) error { Arch: runtime.GOARCH, Version: d.cfg.Version, DownloadDir: d.cfg.DownloadDir, + StreamPort: d.cfg.StreamPort, + LanIP: d.cfg.LanIP, + TailscaleIP: d.cfg.TailscaleIP, } if free, total, err := DiskInfo(d.cfg.DownloadDir); err == nil { req.DiskFreeBytes = free diff --git a/internal/agent/types.go b/internal/agent/types.go index 51cef2b..f1ab153 100644 --- a/internal/agent/types.go +++ b/internal/agent/types.go @@ -15,6 +15,9 @@ type RegisterRequest struct { DownloadDir string `json:"downloadDir,omitempty"` DiskFreeBytes int64 `json:"diskFreeBytes,omitempty"` DiskTotalBytes int64 `json:"diskTotalBytes,omitempty"` + StreamPort int `json:"streamPort,omitempty"` + LanIP string `json:"lanIp,omitempty"` + TailscaleIP string `json:"tailscaleIp,omitempty"` } // RegisterResponse is returned by the server after registration. @@ -51,8 +54,8 @@ type UsenetServerInfo struct { type HeartbeatRequest struct { AgentID string `json:"agentId"` Name string `json:"name,omitempty"` - Version string `json:"version,omitempty"` OS string `json:"os,omitempty"` + Version string `json:"version,omitempty"` DownloadDir string `json:"downloadDir,omitempty"` DiskFreeBytes int64 `json:"diskFreeBytes,omitempty"` DiskTotalBytes int64 `json:"diskTotalBytes,omitempty"`