diff --git a/clientupdate/clientupdate.go b/clientupdate/clientupdate.go index 3a24110b9..2bfb0f294 100644 --- a/clientupdate/clientupdate.go +++ b/clientupdate/clientupdate.go @@ -1295,10 +1295,23 @@ func LatestTailscaleVersion(track string) (string, error) { if err != nil { return "", err } - if latest.Version == "" { - return "", fmt.Errorf("no latest version found for %q track", track) + ver := latest.Version + switch runtime.GOOS { + case "windows": + ver = latest.MSIsVersion + case "darwin": + ver = latest.MacZipsVersion + case "linux": + ver = latest.TarballsVersion + if distro.Get() == distro.Synology { + ver = latest.SPKsVersion + } + } + + if ver == "" { + return "", fmt.Errorf("no latest version found for OS %q on %q track", runtime.GOOS, track) } - return latest.Version, nil + return ver, nil } type trackPackages struct {