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
+130
-37
+130
-37
@@ -731,35 +731,51 @@ goto menu
|
|||||||
chcp 437 > nul
|
chcp 437 > nul
|
||||||
|
|
||||||
set "gameFlagFile=%~dp0utils\game_filter.enabled"
|
set "gameFlagFile=%~dp0utils\game_filter.enabled"
|
||||||
|
set "GameFilterMode=disabled"
|
||||||
|
set "GameFilterTCPRange=1024-65535"
|
||||||
|
set "GameFilterUDPRange=1024-65535"
|
||||||
|
set "GameFilterStatus=disabled"
|
||||||
|
set "GameFilter=12"
|
||||||
|
set "GameFilterTCP=12"
|
||||||
|
set "GameFilterUDP=12"
|
||||||
|
|
||||||
if not exist "%gameFlagFile%" (
|
if not exist "%gameFlagFile%" exit /b
|
||||||
set "GameFilterStatus=disabled"
|
|
||||||
set "GameFilter=12"
|
set "GameFilterTCPCandidate="
|
||||||
set "GameFilterTCP=12"
|
set "GameFilterUDPCandidate="
|
||||||
set "GameFilterUDP=12"
|
for /f "usebackq tokens=1,* delims==" %%A in ("%gameFlagFile%") do (
|
||||||
exit /b
|
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="
|
call :validate_game_filter_range "%GameFilterTCPCandidate%"
|
||||||
for /f "usebackq delims=" %%A in ("%gameFlagFile%") do (
|
if defined ValidatedGameFilterRange set "GameFilterTCPRange=%ValidatedGameFilterRange%"
|
||||||
if not defined GameFilterMode set "GameFilterMode=%%A"
|
call :validate_game_filter_range "%GameFilterUDPCandidate%"
|
||||||
)
|
if defined ValidatedGameFilterRange set "GameFilterUDPRange=%ValidatedGameFilterRange%"
|
||||||
|
|
||||||
if /i "%GameFilterMode%"=="all" (
|
if /i "%GameFilterMode%"=="all" (
|
||||||
set "GameFilterStatus=enabled (TCP and UDP)"
|
set "GameFilterStatus=enabled (TCP and UDP)"
|
||||||
set "GameFilter=1024-65535"
|
set "GameFilter=%GameFilterTCPRange%"
|
||||||
set "GameFilterTCP=1024-65535"
|
set "GameFilterTCP=%GameFilterTCPRange%"
|
||||||
set "GameFilterUDP=1024-65535"
|
set "GameFilterUDP=%GameFilterUDPRange%"
|
||||||
) else if /i "%GameFilterMode%"=="tcp" (
|
) else if /i "%GameFilterMode%"=="tcp" (
|
||||||
set "GameFilterStatus=enabled (TCP)"
|
set "GameFilterStatus=enabled (TCP)"
|
||||||
set "GameFilter=1024-65535"
|
set "GameFilter=%GameFilterTCPRange%"
|
||||||
set "GameFilterTCP=1024-65535"
|
set "GameFilterTCP=%GameFilterTCPRange%"
|
||||||
set "GameFilterUDP=12"
|
set "GameFilterUDP=12"
|
||||||
) else (
|
) else if /i "%GameFilterMode%"=="udp" (
|
||||||
set "GameFilterStatus=enabled (UDP)"
|
set "GameFilterStatus=enabled (UDP)"
|
||||||
set "GameFilter=1024-65535"
|
set "GameFilter=%GameFilterUDPRange%"
|
||||||
set "GameFilterTCP=12"
|
set "GameFilterTCP=12"
|
||||||
set "GameFilterUDP=1024-65535"
|
set "GameFilterUDP=%GameFilterUDPRange%"
|
||||||
|
) else (
|
||||||
|
set "GameFilterMode=disabled"
|
||||||
)
|
)
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
@@ -767,38 +783,115 @@ exit /b
|
|||||||
:game_switch
|
:game_switch
|
||||||
chcp 437 > nul
|
chcp 437 > nul
|
||||||
cls
|
cls
|
||||||
|
call :game_switch_status
|
||||||
|
|
||||||
echo Select game filter mode:
|
echo Select game filter option:
|
||||||
echo 0. Disable
|
if "%GameFilterMode%"=="disabled" (echo 1. * Disable) else echo 1. Disable
|
||||||
echo 1. TCP and UDP
|
if "%GameFilterMode%"=="all" (echo 2. * TCP and UDP) else echo 2. TCP and UDP
|
||||||
echo 2. TCP only
|
if "%GameFilterMode%"=="tcp" (echo 3. * TCP) else echo 3. TCP
|
||||||
echo 3. UDP only
|
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.
|
echo.
|
||||||
set "GameFilterChoice=0"
|
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%"=="" set "GameFilterChoice=0"
|
||||||
|
|
||||||
if "%GameFilterChoice%"=="0" (
|
if "%GameFilterChoice%"=="1" (
|
||||||
if exist "%gameFlagFile%" (
|
set "GameFilterMode=disabled"
|
||||||
del /f /q "%gameFlagFile%"
|
|
||||||
) else (
|
|
||||||
goto menu
|
|
||||||
)
|
|
||||||
) else if "%GameFilterChoice%"=="1" (
|
|
||||||
echo all>"%gameFlagFile%"
|
|
||||||
) else if "%GameFilterChoice%"=="2" (
|
) else if "%GameFilterChoice%"=="2" (
|
||||||
echo tcp>"%gameFlagFile%"
|
set "GameFilterMode=all"
|
||||||
) else if "%GameFilterChoice%"=="3" (
|
) 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 (
|
) else (
|
||||||
echo Invalid choice, exiting...
|
|
||||||
pause
|
|
||||||
goto menu
|
goto menu
|
||||||
)
|
)
|
||||||
|
|
||||||
|
echo.
|
||||||
|
call :save_game_filter_settings
|
||||||
call :PrintYellow "Restart the zapret to apply the changes"
|
call :PrintYellow "Restart the zapret to apply the changes"
|
||||||
pause
|
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 =================
|
:: CHECK UPDATES SWITCH =================
|
||||||
|
|||||||
Reference in new issue
Block a user