109 lines
2.7 KiB
PowerShell
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 |