@echo off
setlocal enabledelayedexpansion
:menu
cls

:: Create the Escape Character for colors
for /f "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do set "ESC=%%b"

:: Define Colors
set "C1=%ESC%[38;2;255;255;0m"
set "C2=%ESC%[38;2;255;190;0m"
set "C3=%ESC%[38;2;255;130;0m"
set "C4=%ESC%[38;2;255;70;0m"
set "RST=%ESC%[0m"

echo.
echo %C1%      _              __ _           _            
echo %C2%   __^| ^|_ __  ___   / _(_)_ __   __^| ^| ___ _ __ 
echo %C3%  / _` ^| '_ \/ __^| ^| ^|_^| ^| '_ \ / _` ^|/ _ \ '__^|
echo %C4% ^| (_^| ^| ^| ^| \__ \ ^|  _^| ^| ^| ^| ^| (_^| ^|  __/ ^|   
echo %C4%  \__,_^|_^| ^|_^|___/ ^|_^| ^|_^|_^| ^|_^|\__,_^|\___^|_^|  
echo 				%C1%by sim%C2%plyt%C3%wea%C4%ks.com
echo %RST%
echo.

echo [1] Start Test
echo [2] Set Dns
echo [3] Exit
set /p choice="$> "

if "%choice%" == "1" (
    echo Starting Test. It may take a few minutes.
    echo.

    echo Google DNS:
    for /f "tokens=6 delims== " %%a in ('ping 8.8.8.8 ^| find "Average"') do echo %%a

    echo Cloudflare DNS:
    for /f "tokens=6 delims== " %%a in ('ping 1.1.1.1 ^| find "Average"') do echo %%a

    echo Quad9 DNS:
    for /f "tokens=6 delims== " %%a in ('ping 9.9.9.9 ^| find "Average"') do echo %%a

    echo OpenDNS:
    for /f "tokens=6 delims== " %%a in ('ping 208.67.222.222 ^| find "Average"') do echo %%a

    echo NextDNS:
    for /f "tokens=6 delims== " %%a in ('ping 45.90.28.232 ^| find "Average"') do echo %%a

    echo Control D DNS:
    for /f "tokens=6 delims== " %%a in ('ping 76.76.10.1 ^| find "Average"') do echo %%a

    echo Surfshark DNS:
    for /f "tokens=6 delims== " %%a in ('ping 194.169.169.169 ^| find "Average"') do echo %%a

	echo.
	echo Test Complete. Results Above.
)


if "%choice%" == "3" exit
if "%choice%" == "2" goto DnsMenu


echo [1] Set Dns
echo [2] Back

set /p choice2="$> "

if "%choice2%" == "1" (
	goto DnsMenu
) else if "%choice2%" == "2" (
	goto menu
)


:DnsMenu
echo [1] Google   [2] Cloudflare   [3] Quad9
echo [4] OpenDNS  [5] NextDNS      [6] Control D
echo [7] Surfshark

set /p dns="$> "
set "primary=0"
set "secondary=0"
set "adapter=Wi-Fi"

if "%dns%" == "1" (
	set "primary=8.8.8.8"
	set "secondary=8.8.4.4"

) else if "%dns%" == "2" (
	set "primary=1.1.1.1"
	set "secondary=1.0.0.1"

) else if "%dns%" == "3" (
	set "primary=9.9.9.9"
	set "secondary=149.112.112.112"

) else if "%dns%" == "4" (
	set "primary=208.67.222.222"
	set "secondary=208.67.220.220"

) else if "%dns%" == "5" (
	set "primary=45.90.28.232"
	set "secondary=45.90.30.232"

) else if "%dns%" == "6" (
	set "primary=76.76.10.1"
	set "secondary=76.76.10.2"

) else if "%dns%" == "7" (
	set "primary=194.169.169.169"
	set "secondary=193.138.218.74"

) else (
	echo invalid input 
)

netsh interface ip set dns name="%adapter%" static "%primary%"
netsh interface ip add dns name="%adapter%" "%secondary%" index=2

echo Dns Succesfully set to : "%primary%" / "%secondary%"
pause
goto menu






