feat: DNS интерактивный выбор (Cloudflare/Google/Quad9/AdGuard/свой/не менять)
This commit is contained in:
@@ -22,16 +22,51 @@ netsh int tcp set global chimney=enabled >$null
|
||||
netsh int tcp set global initialRto=2000 >$null
|
||||
Write-Host " OK"
|
||||
|
||||
# 4. DNS — сохраняем текущий, только сбрасываем кэш
|
||||
Write-Host "[4/5] DNS cache flush..." -ForegroundColor Yellow
|
||||
$ifaces = Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
|
||||
ipconfig /flushdns >$null
|
||||
foreach ($iface in $ifaces) {
|
||||
$dns = (Get-DnsClientServerAddress -InterfaceIndex $iface.InterfaceIndex -AddressFamily IPv4).ServerAddresses -join ", "
|
||||
if ($dns) { Write-Host " $($iface.Name): $dns (сохранён)" }
|
||||
else { Write-Host " $($iface.Name): DHCP DNS" }
|
||||
# 4. DNS — интерактивный выбор
|
||||
Write-Host "[4/5] DNS..." -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host " [1] Cloudflare (1.1.1.1 / 1.0.0.1)"
|
||||
Write-Host " [2] Google (8.8.8.8 / 8.8.4.4)"
|
||||
Write-Host " [3] Quad9 (9.9.9.9 / 149.112.112.112)"
|
||||
Write-Host " [4] AdGuard (94.140.14.14 / 94.140.15.15)"
|
||||
Write-Host " [5] Свой DNS (ввести вручную)"
|
||||
Write-Host " [6] Не менять (оставить текущий)"
|
||||
Write-Host ""
|
||||
$choice = Read-Host " Выбор [1-6]"
|
||||
|
||||
$dns_servers = @()
|
||||
switch ($choice) {
|
||||
"1" { $dns_servers = @("1.1.1.1", "1.0.0.1"); $dns_name = "Cloudflare" }
|
||||
"2" { $dns_servers = @("8.8.8.8", "8.8.4.4"); $dns_name = "Google" }
|
||||
"3" { $dns_servers = @("9.9.9.9", "149.112.112.112"); $dns_name = "Quad9" }
|
||||
"4" { $dns_servers = @("94.140.14.14", "94.140.15.15"); $dns_name = "AdGuard" }
|
||||
"5" {
|
||||
$custom = Read-Host " Введи DNS (основной,резервный через запятую)"
|
||||
$dns_servers = $custom -split "," | ForEach-Object { $_.Trim() }
|
||||
$dns_name = "Свой"
|
||||
}
|
||||
"6" { $dns_name = "не менять" }
|
||||
default { Write-Host " Неверный выбор — оставляю текущий" -ForegroundColor Red; $dns_name = "не менять" }
|
||||
}
|
||||
|
||||
$ifaces = Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
|
||||
|
||||
if ($dns_servers.Count -gt 0) {
|
||||
foreach ($iface in $ifaces) {
|
||||
Set-DnsClientServerAddress -InterfaceIndex $iface.InterfaceIndex -ServerAddresses $dns_servers
|
||||
Write-Host " $($iface.Name) → $($dns_servers -join ', ') ($dns_name)"
|
||||
}
|
||||
} else {
|
||||
foreach ($iface in $ifaces) {
|
||||
$dns = (Get-DnsClientServerAddress -InterfaceIndex $iface.InterfaceIndex -AddressFamily IPv4).ServerAddresses -join ", "
|
||||
if ($dns) { Write-Host " $($iface.Name): $dns (сохранён)" }
|
||||
else { Write-Host " $($iface.Name): DHCP DNS (сохранён)" }
|
||||
}
|
||||
}
|
||||
|
||||
ipconfig /flushdns >$null
|
||||
Write-Host " Кэш DNS сброшен"
|
||||
|
||||
# 5. RSS на сетевых адаптерах
|
||||
Write-Host "[5/5] RSS (Receive Side Scaling)..." -ForegroundColor Yellow
|
||||
foreach ($iface in $ifaces) {
|
||||
@@ -48,7 +83,7 @@ Write-Host "Что сделано:"
|
||||
Write-Host " - Network throttling OFF (снято ограничение)"
|
||||
Write-Host " - Nagle OFF (меньше задержка TCP)"
|
||||
Write-Host " - TCP autotuning normal + RSS + Chimney"
|
||||
Write-Host " - DNS: сохранён текущий, кэш сброшен"
|
||||
Write-Host " - DNS: по выбору, кэш сброшен"
|
||||
Write-Host " - RSS по ядрам"
|
||||
Write-Host ""
|
||||
Write-Host "Для полного эффекта — перезагрузи ПК." -ForegroundColor Yellow
|
||||
|
||||
Reference in New Issue
Block a user