diff --git a/README.md b/README.md
index da5dc09..d58f2d6 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,8 @@
- [**`general.bat`**](./general.bat) - запуск со стратегией для обхода блокировок
Discord и
YouTube
+- [**`cloudflare_switch.bat`**](./cloudflare_switch.bat) - включение/выключение обхода Cloudflare *(на деле перетирает список `ipset-cloudflare`, перезапуск после изменения не нужен)*
+
- [**`service_install.bat`**](./service_install.bat) - установка на автозапуск (как службы Windows: `zapret`, `WinDivert`), можно выбрать любую стратегию (название файла стратегии **НЕ** должно начинаться со слова `service`)
- [**`service_remove.bat`**](./service_remove.bat) - остановка и удаление служб `zapret` и `WinDivert`
diff --git a/cloudflare_switch.bat b/cloudflare_switch.bat
new file mode 100644
index 0000000..be64006
--- /dev/null
+++ b/cloudflare_switch.bat
@@ -0,0 +1,50 @@
+@echo off
+chcp 65001 > nul
+:: 65001 - UTF-8
+
+:: Admin rights check
+if "%1"=="admin" (
+ echo Started with admin rights
+) else (
+ echo Requesting admin rights...
+ powershell -Command "Start-Process 'cmd.exe' -ArgumentList '/c \"\"%~f0\" admin\"' -Verb RunAs"
+ exit /b
+)
+
+set LISTS=%~dp0lists\
+set FILE=%LISTS%ipset-cloudflare.txt
+
+if not exist "%FILE%" (
+ echo Error! ipset-cloudflare.txt not found, path: %FILE%
+ goto :eof
+)
+
+findstr /C:"0.0.0.0" "%FILE%" >nul
+if %ERRORLEVEL%==0 (
+ echo Enabling cloudflare bypass...
+ >"%FILE%" (
+ echo 173.245.48.0/20
+ echo 103.21.244.0/22
+ echo 103.22.200.0/22
+ echo 103.31.4.0/22
+ echo 141.101.64.0/18
+ echo 108.162.192.0/18
+ echo 190.93.240.0/20
+ echo 188.114.96.0/20
+ echo 197.234.240.0/22
+ echo 198.41.128.0/17
+ echo 162.158.0.0/15
+ echo 104.16.0.0/13
+ echo 104.24.0.0/14
+ echo 172.64.0.0/13
+ echo 131.0.72.0/22
+ )
+) else (
+ echo Disabling cloudflare bypass...
+ >"%FILE%" (
+ echo 0.0.0.0/32
+ )
+)
+
+echo Done.
+pause
diff --git a/lists/ipset-cloudflare.txt b/lists/ipset-cloudflare.txt
index 626248f..eb8553f 100644
--- a/lists/ipset-cloudflare.txt
+++ b/lists/ipset-cloudflare.txt
@@ -12,4 +12,4 @@
104.16.0.0/13
104.24.0.0/14
172.64.0.0/13
-131.0.72.0/22
\ No newline at end of file
+131.0.72.0/22
diff --git a/service_install.bat b/service_install.bat
index a6d27ba..ff7ee2c 100644
--- a/service_install.bat
+++ b/service_install.bat
@@ -26,7 +26,7 @@ echo Pick one of the options:
set "count=0"
for %%f in (*.bat) do (
set "filename=%%~nxf"
- if /i not "!filename:~0,7!"=="service" if /i not "!filename:~0,13!"=="check_updates" (
+ if /i not "!filename:~0,7!"=="service" if /i not "!filename:~0,13!"=="check_updates" if /i not "!filename:~0,17!"=="cloudflare_switch" (
set /a count+=1
echo !count!. %%f
set "file!count!=%%f"