zapret-discord-youtube/service_diagnostics.bat
2025-04-26 21:01:41 +03:00

131 lines
3.6 KiB
Batchfile

@echo off
setlocal EnableDelayedExpansion
:: Admin rights check
if "%1"=="admin" (
echo Started with admin rights
cls
) else (
echo Requesting admin rights...
powershell -Command "Start-Process 'cmd.exe' -ArgumentList '/c \"\"%~f0\" admin\"' -Verb RunAs"
exit /b
)
:: AdguardSvc.exe
tasklist /FI "IMAGENAME eq AdguardSvc.exe" | find /I "AdguardSvc.exe" > nul
if !errorlevel!==0 (
call :PrintRed "[X] Adguard process found. Adguard may cause problems with Discord"
call :PrintRed "https://github.com/Flowseal/zapret-discord-youtube/issues/417"
) else (
call :PrintGreen "Adguard check passed"
)
echo:
:: Killer
sc query | findstr /I "Killer" > nul
if !errorlevel!==0 (
call :PrintRed "[X] Killer services found. Killer conflicts with zapret"
call :PrintRed "https://github.com/Flowseal/zapret-discord-youtube/issues/2512#issuecomment-2821119513"
) else (
call :PrintGreen "Killer check passed"
)
echo:
:: Check Point
sc query | findstr /I "Check" | findstr /I "Point" > nul
if !errorlevel!==0 (
call :PrintRed "[X] Check Point services found. Check Point conflicts with zapret"
call :PrintRed "Try to uninstall Check Point"
) else (
call :PrintGreen "Check Point check passed"
)
echo:
:: SmartByte
sc query | findstr /I "SmartByte" > nul
if !errorlevel!==0 (
call :PrintRed "[X] SmartByte services found. SmartByte conflicts with zapret"
call :PrintRed "Try to uninstall or disable SmartByte through services.msc"
) else (
call :PrintGreen "SmartByte check passed"
)
echo:
:: VPN
sc query | findstr /I "VPN" > nul
if !errorlevel!==0 (
call :PrintYellow "[?] Some VPN services found. Some VPNs can conflict with zapret"
call :PrintYellow "Make sure that all VPNs are disabled"
) else (
call :PrintGreen "VPN check passed"
)
echo:
:: DNS
set "dnsfound=0"
for /f "skip=1 tokens=*" %%a in ('wmic nicconfig where "IPEnabled=true" get DNSServerSearchOrder /format:table') do (
echo %%a | findstr /i "192.168." >nul
if !errorlevel!==0 (
set "dnsfound=1"
)
)
if !dnsfound!==1 (
call :PrintYellow "[?] DNS servers are probably not specified."
call :PrintYellow "Provider's DNS servers are automatically used, which may affect zapret. It is recommended to install well-known DNS servers and setup DoH"
) else (
call :PrintGreen "DNS check passed"
)
echo:
:: Discord cache clearing
echo Do you want to clear the Discord cache? (Y/N) (default: Y)
set /p answer=
if "%answer%"=="" set answer=Y
if "%answer%"=="y" set answer=Y
if /i "%answer%"=="Y" (
tasklist /FI "IMAGENAME eq Discord.exe" | findstr /I "Discord.exe" > nul
if !errorlevel!==0 (
echo Discord is running, closing...
taskkill /IM Discord.exe /F > nul
if !errorlevel! == 0 (
call :PrintGreen "Discord was successfully closed"
) else (
call :PrintRed "Unable to close Discord"
)
)
set "discordCacheDir=%appdata%\discord"
for %%d in ("Cache" "Code Cache" "GPUCache") do (
set "dirPath=!discordCacheDir!\%%~d"
if exist "!dirPath!" (
rd /s /q "!dirPath!"
if !errorlevel!==0 (
call :PrintGreen "Successfully deleted !dirPath!"
) else (
call :PrintRed "Failed to delete !dirPath!"
)
) else (
call :PrintRed "!dirPath! does not exist"
)
)
)
echo:
pause
exit /b
:: Utility functions
:PrintGreen
powershell -Command "Write-Host \"%~1\" -ForegroundColor Green"
exit /b
:PrintRed
powershell -Command "Write-Host \"%~1\" -ForegroundColor Red"
exit /b
:PrintYellow
powershell -Command "Write-Host \"%~1\" -ForegroundColor Yellow"
exit /b