From 7f3a6b930220b15a1be80d5f69d91caea2f260a3 Mon Sep 17 00:00:00 2001 From: PharmQ Admin Date: Sat, 30 May 2026 15:54:29 +0000 Subject: [PATCH] fix(windows): use pkgs stable 'latest' installer to avoid 404 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GitHub의 releases/latest 태그(예: 1.98.3)와 pkgs.tailscale.com/stable 채널 버전(예: 1.98.4)이 어긋나면 tailscale-setup-<버전>.exe URL이 404가 난다. 버전 조립을 없애고 항상 존재하는 tailscale-setup-latest.exe를 사용. Co-Authored-By: Claude Opus 4.8 (1M context) --- farmq-install-en.ps1 | 24 ++++++++---------------- farmq-install.ps1 | 24 ++++++++---------------- 2 files changed, 16 insertions(+), 32 deletions(-) diff --git a/farmq-install-en.ps1 b/farmq-install-en.ps1 index 997a45c..79583fa 100644 --- a/farmq-install-en.ps1 +++ b/farmq-install-en.ps1 @@ -110,22 +110,14 @@ function Install-Tailscale { } Write-Info "Installing Tailscale for Windows..." - - # Get latest Tailscale version - try { - Write-Status "Getting latest Tailscale version..." - $latestRelease = Invoke-RestMethod -Uri "https://api.github.com/repos/tailscale/tailscale/releases/latest" -UseBasicParsing - $version = $latestRelease.tag_name.TrimStart('v') - Write-Info "Latest version: $version" - } - catch { - Write-Warning "Failed to get latest version, using fallback" - $version = "1.86.2" - } - - # Temporary download path - $tempPath = "$env:TEMP\tailscale-setup-$version.exe" - $downloadUrl = "https://pkgs.tailscale.com/stable/tailscale-setup-$version.exe" + + # Always use the 'latest' installer from the official stable channel. + # NOTE: GitHub's "latest release" tag and pkgs.tailscale.com/stable can be out + # of sync (e.g. GitHub reports 1.98.3 while stable already serves 1.98.4), so + # building a versioned URL such as tailscale-setup-.exe results in a + # 404. The 'latest' alias always exists, so we use it directly. + $downloadUrl = "https://pkgs.tailscale.com/stable/tailscale-setup-latest.exe" + $tempPath = "$env:TEMP\tailscale-setup-latest.exe" try { Write-Status "Downloading Tailscale from: $downloadUrl" diff --git a/farmq-install.ps1 b/farmq-install.ps1 index beeaca4..7f5b232 100644 --- a/farmq-install.ps1 +++ b/farmq-install.ps1 @@ -116,22 +116,14 @@ function Install-Tailscale { } Write-Info "Windows용 Tailscale 설치 중..." - - # 최신 Tailscale 버전 확인 - try { - Write-Status "최신 Tailscale 버전 확인 중..." - $latestRelease = Invoke-RestMethod -Uri "https://api.github.com/repos/tailscale/tailscale/releases/latest" -UseBasicParsing - $version = $latestRelease.tag_name.TrimStart('v') - Write-Info "최신 버전: $version" - } - catch { - Write-Warning "최신 버전 확인 실패, 기본 버전 사용" - $version = "1.86.2" - } - - # 임시 다운로드 경로 - $tempPath = "$env:TEMP\tailscale-setup-$version.exe" - $downloadUrl = "https://pkgs.tailscale.com/stable/tailscale-setup-$version.exe" + + # 공식 stable 채널의 'latest' 설치 파일을 항상 사용한다. + # 주의: GitHub "최신 릴리스" 태그와 pkgs.tailscale.com/stable 채널 버전이 + # 어긋날 수 있다(예: GitHub=1.98.3 인데 stable=1.98.4). 그래서 + # tailscale-setup-<버전>.exe 식으로 URL을 조립하면 404가 난다. + # 'latest' 별칭은 항상 존재하므로 이걸 직접 사용한다. + $downloadUrl = "https://pkgs.tailscale.com/stable/tailscale-setup-latest.exe" + $tempPath = "$env:TEMP\tailscale-setup-latest.exe" try { Write-Status "Tailscale 다운로드 중: $downloadUrl"