mirror of
https://github.com/Flowseal/zapret-discord-youtube.git
synced 2026-10-21 02:58:44 +00:00
GameFilter ports selection
This commit is contained in:
1 parent
6cec828910
commit
23849617df
1 file changed
+127
-34
+127
-34
@@ -731,35 +731,51 @@ goto menu
|
||||
chcp 437 > nul
|
||||
|
||||
set "gameFlagFile=%~dp0utils\game_filter.enabled"
|
||||
|
||||
if not exist "%gameFlagFile%" (
|
||||
set "GameFilterMode=disabled"
|
||||
set "GameFilterTCPRange=1024-65535"
|
||||
set "GameFilterUDPRange=1024-65535"
|
||||
set "GameFilterStatus=disabled"
|
||||
set "GameFilter=12"
|
||||
set "GameFilterTCP=12"
|
||||
set "GameFilterUDP=12"
|
||||
exit /b
|
||||
|
||||
if not exist "%gameFlagFile%" exit /b
|
||||
|
||||
set "GameFilterTCPCandidate="
|
||||
set "GameFilterUDPCandidate="
|
||||
for /f "usebackq tokens=1,* delims==" %%A in ("%gameFlagFile%") do (
|
||||
if /i "%%A"=="mode" set "GameFilterMode=%%B"
|
||||
if /i "%%A"=="all" set "GameFilterMode=all"
|
||||
if /i "%%A"=="udp" (
|
||||
if "%%B"=="" (set "GameFilterMode=udp") else set "GameFilterUDPCandidate=%%B"
|
||||
)
|
||||
if /i "%%A"=="tcp" (
|
||||
if "%%B"=="" (set "GameFilterMode=tcp") else set "GameFilterTCPCandidate=%%B"
|
||||
)
|
||||
)
|
||||
|
||||
set "GameFilterMode="
|
||||
for /f "usebackq delims=" %%A in ("%gameFlagFile%") do (
|
||||
if not defined GameFilterMode set "GameFilterMode=%%A"
|
||||
)
|
||||
call :validate_game_filter_range "%GameFilterTCPCandidate%"
|
||||
if defined ValidatedGameFilterRange set "GameFilterTCPRange=%ValidatedGameFilterRange%"
|
||||
call :validate_game_filter_range "%GameFilterUDPCandidate%"
|
||||
if defined ValidatedGameFilterRange set "GameFilterUDPRange=%ValidatedGameFilterRange%"
|
||||
|
||||
if /i "%GameFilterMode%"=="all" (
|
||||
set "GameFilterStatus=enabled (TCP and UDP)"
|
||||
set "GameFilter=1024-65535"
|
||||
set "GameFilterTCP=1024-65535"
|
||||
set "GameFilterUDP=1024-65535"
|
||||
set "GameFilter=%GameFilterTCPRange%"
|
||||
set "GameFilterTCP=%GameFilterTCPRange%"
|
||||
set "GameFilterUDP=%GameFilterUDPRange%"
|
||||
) else if /i "%GameFilterMode%"=="tcp" (
|
||||
set "GameFilterStatus=enabled (TCP)"
|
||||
set "GameFilter=1024-65535"
|
||||
set "GameFilterTCP=1024-65535"
|
||||
set "GameFilter=%GameFilterTCPRange%"
|
||||
set "GameFilterTCP=%GameFilterTCPRange%"
|
||||
set "GameFilterUDP=12"
|
||||
) else (
|
||||
) else if /i "%GameFilterMode%"=="udp" (
|
||||
set "GameFilterStatus=enabled (UDP)"
|
||||
set "GameFilter=1024-65535"
|
||||
set "GameFilter=%GameFilterUDPRange%"
|
||||
set "GameFilterTCP=12"
|
||||
set "GameFilterUDP=1024-65535"
|
||||
set "GameFilterUDP=%GameFilterUDPRange%"
|
||||
) else (
|
||||
set "GameFilterMode=disabled"
|
||||
)
|
||||
exit /b
|
||||
|
||||
@@ -767,38 +783,115 @@ exit /b
|
||||
:game_switch
|
||||
chcp 437 > nul
|
||||
cls
|
||||
call :game_switch_status
|
||||
|
||||
echo Select game filter mode:
|
||||
echo 0. Disable
|
||||
echo 1. TCP and UDP
|
||||
echo 2. TCP only
|
||||
echo 3. UDP only
|
||||
echo Select game filter option:
|
||||
if "%GameFilterMode%"=="disabled" (echo 1. * Disable) else echo 1. Disable
|
||||
if "%GameFilterMode%"=="all" (echo 2. * TCP and UDP) else echo 2. TCP and UDP
|
||||
if "%GameFilterMode%"=="tcp" (echo 3. * TCP) else echo 3. TCP
|
||||
if "%GameFilterMode%"=="udp" (echo 4. * UDP) else echo 4. UDP
|
||||
echo.
|
||||
echo 5. Change TCP port range (current: %GameFilterTCPRange%)
|
||||
echo 6. Change UDP port range (current: %GameFilterUDPRange%)
|
||||
echo 7. Change TCP and UDP port ranges
|
||||
echo.
|
||||
echo. 0. Exit
|
||||
echo.
|
||||
set "GameFilterChoice=0"
|
||||
set /p "GameFilterChoice=Select option (0-3, default: 0): "
|
||||
set /p "GameFilterChoice=Select option (0-7, default: 0): "
|
||||
if "%GameFilterChoice%"=="" set "GameFilterChoice=0"
|
||||
|
||||
if "%GameFilterChoice%"=="0" (
|
||||
if exist "%gameFlagFile%" (
|
||||
del /f /q "%gameFlagFile%"
|
||||
) else (
|
||||
goto menu
|
||||
)
|
||||
) else if "%GameFilterChoice%"=="1" (
|
||||
echo all>"%gameFlagFile%"
|
||||
if "%GameFilterChoice%"=="1" (
|
||||
set "GameFilterMode=disabled"
|
||||
) else if "%GameFilterChoice%"=="2" (
|
||||
echo tcp>"%gameFlagFile%"
|
||||
set "GameFilterMode=all"
|
||||
) else if "%GameFilterChoice%"=="3" (
|
||||
echo udp>"%gameFlagFile%"
|
||||
set "GameFilterMode=tcp"
|
||||
) else if "%GameFilterChoice%"=="4" (
|
||||
set "GameFilterMode=udp"
|
||||
) else if "%GameFilterChoice%"=="5" (
|
||||
call :change_game_filter_range tcp
|
||||
) else if "%GameFilterChoice%"=="6" (
|
||||
call :change_game_filter_range udp
|
||||
) else if "%GameFilterChoice%"=="7" (
|
||||
call :change_game_filter_range all
|
||||
) else (
|
||||
echo Invalid choice, exiting...
|
||||
pause
|
||||
goto menu
|
||||
)
|
||||
|
||||
echo.
|
||||
call :save_game_filter_settings
|
||||
call :PrintYellow "Restart the zapret to apply the changes"
|
||||
pause
|
||||
goto menu
|
||||
goto game_switch
|
||||
|
||||
|
||||
:change_game_filter_range
|
||||
set "GameFilterRangeInput="
|
||||
|
||||
echo.
|
||||
echo Changing ports for %~1 (example: 1024-1934,1936-65535, default: 1024-65535)
|
||||
set /p "GameFilterRangeInput=Enter ports/ranges: "
|
||||
call :validate_game_filter_range "%GameFilterRangeInput%"
|
||||
if not defined ValidatedGameFilterRange (
|
||||
call :PrintRed "Invalid input. Please enter valid ports/ranges."
|
||||
pause
|
||||
goto game_switch
|
||||
)
|
||||
|
||||
if /i "%~1"=="tcp" set "GameFilterTCPRange=%ValidatedGameFilterRange%"
|
||||
if /i "%~1"=="udp" set "GameFilterUDPRange=%ValidatedGameFilterRange%"
|
||||
if /i "%~1"=="all" (
|
||||
set "GameFilterTCPRange=%ValidatedGameFilterRange%"
|
||||
set "GameFilterUDPRange=%ValidatedGameFilterRange%"
|
||||
)
|
||||
exit /b
|
||||
|
||||
|
||||
:validate_game_filter_range
|
||||
set "ValidatedGameFilterRange="
|
||||
setlocal EnableDelayedExpansion
|
||||
set "GameFilterRangeToValidate=%~1"
|
||||
set "GameFilterRangeToValidate=!GameFilterRangeToValidate: =!"
|
||||
if not defined GameFilterRangeToValidate exit /b
|
||||
for %%A in ("!GameFilterRangeToValidate:,=" "!") do (
|
||||
call :gf_validate_item "%%~A"
|
||||
if not defined GameFilterRangeItemValid exit /b
|
||||
)
|
||||
endlocal & set "ValidatedGameFilterRange=%GameFilterRangeToValidate%"
|
||||
exit /b
|
||||
|
||||
|
||||
:gf_validate_item
|
||||
set "GameFilterRangeItemValid="
|
||||
setlocal EnableDelayedExpansion
|
||||
set "GameFilterRangeItem=%~1"
|
||||
|
||||
echo(!GameFilterRangeItem!| findstr /r /x /c:"[1-9][0-9]*" /c:"[1-9][0-9]*-[1-9][0-9]*" > nul || exit /b
|
||||
for /f "tokens=1,2 delims=-" %%A in ("!GameFilterRangeItem!") do (
|
||||
set "GameFilterRangeStart=%%A"
|
||||
set "GameFilterRangeEnd=%%B"
|
||||
)
|
||||
if not defined GameFilterRangeEnd set "GameFilterRangeEnd=!GameFilterRangeStart!"
|
||||
|
||||
if not "!GameFilterRangeStart:~5,1!"=="" exit /b
|
||||
if not "!GameFilterRangeEnd:~5,1!"=="" exit /b
|
||||
set /a GameFilterRangeStartNumber=GameFilterRangeStart, GameFilterRangeEndNumber=GameFilterRangeEnd
|
||||
if !GameFilterRangeStartNumber! gtr 65535 exit /b
|
||||
if !GameFilterRangeEndNumber! gtr 65535 exit /b
|
||||
if !GameFilterRangeStartNumber! gtr !GameFilterRangeEndNumber! exit /b
|
||||
|
||||
endlocal & set "GameFilterRangeItemValid=1"
|
||||
exit /b
|
||||
|
||||
|
||||
:save_game_filter_settings
|
||||
>"%gameFlagFile%" (
|
||||
echo mode=%GameFilterMode%
|
||||
echo tcp=%GameFilterTCPRange%
|
||||
echo udp=%GameFilterUDPRange%
|
||||
)
|
||||
exit /b
|
||||
|
||||
|
||||
:: CHECK UPDATES SWITCH =================
|
||||
|
||||
Reference in new issue
Block a user