Files
build_infra/refresh_fake_ip.ps1
2026-06-16 10:23:51 +08:00

109 lines
2.7 KiB
PowerShell

# refresh_proxy_dns.ps1
# 刷新 Windows DNS + Edge 进程缓存 + 重启 Clash Verge
Write-Host "=== 开始刷新 DNS / 浏览器 / 代理缓存 ===" -ForegroundColor Cyan
# 1. 关闭 Edge
Write-Host "`n[1/5] 正在关闭 Edge / WebView2..." -ForegroundColor Yellow
$edgeProcesses = @(
"msedge",
"msedgewebview2"
)
foreach ($proc in $edgeProcesses) {
Get-Process -Name $proc -ErrorAction SilentlyContinue |
Stop-Process -Force -ErrorAction SilentlyContinue
}
Start-Sleep -Seconds 2
Write-Host "Edge / WebView2 已关闭。" -ForegroundColor Green
# 2. 清 Windows DNS 缓存
Write-Host "`n[2/5] 正在清理 Windows DNS 缓存..." -ForegroundColor Yellow
ipconfig /flushdns | Out-Null
Clear-DnsClientCache -ErrorAction SilentlyContinue
Write-Host "Windows DNS 缓存已清理。" -ForegroundColor Green
# 3. 关闭 Clash Verge / mihomo
Write-Host "`n[3/5] 正在关闭 Clash Verge / mihomo..." -ForegroundColor Yellow
$clashProcesses = @(
"Clash Verge",
"clash-verge",
"clash-verge-service",
"mihomo",
"clash",
"verge-mihomo"
)
foreach ($proc in $clashProcesses) {
Get-Process -Name $proc -ErrorAction SilentlyContinue |
Stop-Process -Force -ErrorAction SilentlyContinue
}
Start-Sleep -Seconds 2
Write-Host "Clash Verge / mihomo 相关进程已尝试关闭。" -ForegroundColor Green
# 4. 重新启动 Clash Verge
Write-Host "`n[4/5] 正在重新启动 Clash Verge..." -ForegroundColor Yellow
$clashVergeDir = "C:\Program Files\Clash Verge"
$possibleExe = @(
"Clash Verge.exe",
"clash-verge.exe",
"Clash Verge Rev.exe",
"clash-verge-rev.exe"
)
$clashExe = $null
foreach ($exe in $possibleExe) {
$path = Join-Path $clashVergeDir $exe
if (Test-Path $path) {
$clashExe = $path
break
}
}
if ($clashExe) {
Start-Process $clashExe
Write-Host "已启动:$clashExe" -ForegroundColor Green
} else {
Write-Host "未找到 Clash Verge 可执行文件,请检查目录:" -ForegroundColor Red
Write-Host $clashVergeDir -ForegroundColor Red
}
Start-Sleep -Seconds 5
# 5. 重新打开 Edge
Write-Host "`n[5/5] 正在重新打开 Edge..." -ForegroundColor Yellow
$edgeExe = "${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe"
if (-not (Test-Path $edgeExe)) {
$edgeExe = "$env:ProgramFiles\Microsoft\Edge\Application\msedge.exe"
}
if (Test-Path $edgeExe) {
Start-Process $edgeExe
Write-Host "Edge 已启动。" -ForegroundColor Green
} else {
Start-Process "msedge.exe"
Write-Host "已尝试通过 PATH 启动 Edge。" -ForegroundColor Green
}
Write-Host "`n=== 刷新完成 ===" -ForegroundColor Cyan
Write-Host "如果 Clash Verge 还在初始化代理内核,等几秒后再访问网站测试。" -ForegroundColor Cyan