Initial commit: 浼佷笟寰俊 AI 鏈哄櫒浜哄姪鐞?MVP
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
80
install-cloudflared.ps1
Normal file
80
install-cloudflared.ps1
Normal file
@@ -0,0 +1,80 @@
|
||||
# Auto download and install cloudflared
|
||||
|
||||
Write-Host "=== Cloudflare Tunnel Installer ===" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
# Check if already installed
|
||||
$cloudflaredPath = Get-Command cloudflared -ErrorAction SilentlyContinue
|
||||
if ($cloudflaredPath) {
|
||||
Write-Host "cloudflared is already installed" -ForegroundColor Green
|
||||
cloudflared --version
|
||||
exit 0
|
||||
}
|
||||
|
||||
Write-Host "[1/3] Downloading cloudflared MSI..." -ForegroundColor Yellow
|
||||
|
||||
# Download URL
|
||||
$downloadUrl = "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.msi"
|
||||
$downloadPath = "$env:TEMP\cloudflared-windows-amd64.msi"
|
||||
|
||||
try {
|
||||
# Download file
|
||||
Write-Host "Downloading from GitHub..." -ForegroundColor Cyan
|
||||
Invoke-WebRequest -Uri $downloadUrl -OutFile $downloadPath -UseBasicParsing
|
||||
|
||||
if (Test-Path $downloadPath) {
|
||||
Write-Host "Download completed: $downloadPath" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
Write-Host "[2/3] Installing cloudflared..." -ForegroundColor Yellow
|
||||
Write-Host "Starting installer..." -ForegroundColor Cyan
|
||||
|
||||
# Install using msiexec
|
||||
$installArgs = "/i `"$downloadPath`" /quiet /norestart"
|
||||
Start-Process -FilePath "msiexec.exe" -ArgumentList $installArgs -Wait -NoNewWindow
|
||||
|
||||
Write-Host "Installation completed" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
# Clean up
|
||||
Remove-Item $downloadPath -Force -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Host "[3/3] Verifying installation..." -ForegroundColor Yellow
|
||||
|
||||
# Refresh PATH
|
||||
$machinePath = [System.Environment]::GetEnvironmentVariable("Path", "Machine")
|
||||
$userPath = [System.Environment]::GetEnvironmentVariable("Path", "User")
|
||||
$env:Path = "$machinePath;$userPath"
|
||||
|
||||
# Wait for PATH update
|
||||
Start-Sleep -Seconds 3
|
||||
|
||||
# Check installation
|
||||
$cloudflaredPath = Get-Command cloudflared -ErrorAction SilentlyContinue
|
||||
if ($cloudflaredPath) {
|
||||
Write-Host "cloudflared installed successfully!" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
cloudflared --version
|
||||
Write-Host ""
|
||||
Write-Host "=== Next Step ===" -ForegroundColor Cyan
|
||||
Write-Host "Run this command to start tunnel:" -ForegroundColor Yellow
|
||||
Write-Host " cloudflared tunnel --url http://localhost:8000" -ForegroundColor White
|
||||
} else {
|
||||
Write-Host "Installation completed, but you may need to restart PowerShell" -ForegroundColor Yellow
|
||||
Write-Host "Please close and reopen PowerShell, then run: cloudflared --version" -ForegroundColor Yellow
|
||||
}
|
||||
} else {
|
||||
Write-Host "Download failed" -ForegroundColor Red
|
||||
Write-Host "Please download manually:" -ForegroundColor Yellow
|
||||
Write-Host " $downloadUrl" -ForegroundColor Cyan
|
||||
exit 1
|
||||
}
|
||||
} catch {
|
||||
Write-Host "Download or installation failed: $_" -ForegroundColor Red
|
||||
Write-Host ""
|
||||
Write-Host "Please install manually:" -ForegroundColor Yellow
|
||||
Write-Host "1. Visit: https://github.com/cloudflare/cloudflared/releases/latest" -ForegroundColor Cyan
|
||||
Write-Host "2. Download: cloudflared-windows-amd64.msi" -ForegroundColor Cyan
|
||||
Write-Host "3. Double-click to install" -ForegroundColor Cyan
|
||||
exit 1
|
||||
}
|
||||
Reference in New Issue
Block a user