#Requires -RunAsAdministrator param([Parameter(Mandatory=$true)][string]$InterfaceAlias) $ErrorActionPreference = 'Stop' if (-not (Get-Command Add-DnsClientDohServerAddress -ErrorAction SilentlyContinue)) { throw 'This Windows version lacks system DoH support. Use router DNS or browser secure DNS.' } $null = Get-NetAdapter -Name $InterfaceAlias -ErrorAction Stop $Address = '31.76.89.94' $Template = 'https://doh.anonka.tech/dns-query' $Existing = Get-DnsClientDohServerAddress | Where-Object ServerAddress -eq $Address if ($Existing) { Set-DnsClientDohServerAddress -ServerAddress $Address -DohTemplate $Template -AllowFallbackToUdp $false -AutoUpgrade $true } else { Add-DnsClientDohServerAddress -ServerAddress $Address -DohTemplate $Template -AllowFallbackToUdp $false -AutoUpgrade $true } $Backup = Join-Path $env:TEMP ('anonka-dns-before-' + (Get-Date -Format yyyyMMdd-HHmmss) + '.json') Get-DnsClientServerAddress -InterfaceAlias $InterfaceAlias | ConvertTo-Json -Depth 4 | Set-Content $Backup Set-DnsClientServerAddress -InterfaceAlias $InterfaceAlias -ServerAddresses $Address Clear-DnsClientCache Write-Host "Anonka DoH enabled on $InterfaceAlias. Previous DNS saved to $Backup" Write-Host 'To return to DHCP DNS: Set-DnsClientServerAddress -InterfaceAlias YOUR_ADAPTER -ResetServerAddresses'