14 Commits
1.7.1 ... 1.7.2

Author SHA1 Message Date
Flowseal
27d47f3bdd Version bump 2025-04-30 13:45:46 +03:00
Flowseal
d86df6be35 Small service fixes 2025-04-30 13:45:31 +03:00
Flowseal
b5b331e822 Services merge 2025-04-30 13:41:12 +03:00
Flowseal
755353ecd7 Diagnostics for common problems 2025-04-26 21:01:41 +03:00
Flowseal
a7edae47bc Added winws.exe check for service_status 2025-04-26 21:00:09 +03:00
Flowseal
127a19effe Update bug_report.yml 2025-04-20 13:53:12 +03:00
Flowseal
383410f6fa Fixed discord strategy and removed unused ipset 2025-04-18 17:11:03 +03:00
golang developer
feb4a69c99 Дополнительное отображение имени в имени окна cmd (#2233)
update name display in cmd
2025-04-18 16:48:14 +03:00
Flowseal
4b27f7713e Merge pull request #2229 from smokingplaya/main
Заготовка для написания Issue
2025-04-17 12:48:42 +03:00
smokingplaya
199829795c maybe так? 2025-04-15 20:39:35 +03:00
smokingplaya
aaac27e74e Update bug_report.yml 2025-04-14 10:59:21 +03:00
smokingplaya
4166c5cf19 Update bug_report.yml 2025-04-14 10:56:50 +03:00
smokingplaya
96d14286c7 add bug_report.yml 2025-04-14 10:45:32 +03:00
Flowseal
c6bdc104d8 service_install fix for args with value 2025-04-13 21:29:40 +03:00
20 changed files with 512 additions and 594 deletions

60
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,60 @@
name: 🐛 Проблема
title: '[Проблема] '
description: Сообщить о проблеме
labels: ['type: проблема', 'status: нуждается в сортировке']
body:
- type: checkboxes
id: checklist
attributes:
label: ⚠️ Чеклист
description: Перед созданием нового Issue, удостоверьтесь что выполнили следующие пункты
options:
- label: Я искал решение проблемы в [README](https://github.com/Flowseal/zapret-discord-youtube/blob/main/README.md) и среди [Issues](https://github.com/Flowseal/zapret-discord-youtube/issues)
- label: Я скачал ``zapret-discord-youtube`` из [релизов официального репозитория](https://github.com/Flowseal/zapret-discord-youtube/releases)
- type: textarea
id: description
attributes:
label: Опишите вашу проблему
description: Чётко опишите проблему с которой вы столкнулись
placeholder: Описание проблемы
validations:
required: true
- type: textarea
id: version
attributes:
label: Версия zapret-discord-youtube
description: Версия zapret-discord-youtube на которой вы словили проблему
placeholder: Версия
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Шаги воспроизведения проблемы
description: Шаги по воспроизведению поведения (вашей проблемы).
placeholder: |
Напишите здесь шаги, с помощью которых можно повторить вашу проблему
на других компьютерах
- type: textarea
id: bat-name
attributes:
label: Какой .bat файл вы используете?
validations:
required: true
- type: textarea
id: other-bat
attributes:
label: Использовали ли вы другие .bat?
description: Пробовали ли вы использовать другой .bat для устранения проблемы? Если использовали, то какие?
- type: textarea
id: additions
attributes:
label: Дополнительные детали
description: Дополнительные детали о которых нам нужно знать

View File

@@ -1 +1 @@
1.7.0
1.7.2

View File

@@ -1,37 +0,0 @@
@echo off
setlocal EnableDelayedExpansion
chcp 437 > nul
:: Set current version and URLs
set "LOCAL_VERSION=1.7.0"
set "GITHUB_VERSION_URL=https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/main/.service/version.txt"
set "GITHUB_RELEASE_URL=https://github.com/Flowseal/zapret-discord-youtube/releases/tag/"
set "GITHUB_DOWNLOAD_URL=https://github.com/Flowseal/zapret-discord-youtube/releases/latest/download/zapret-discord-youtube-"
:: Get the latest version from GitHub
for /f "delims=" %%A in ('powershell -command "(Invoke-WebRequest -Uri \"%GITHUB_VERSION_URL%\" -Headers @{\"Cache-Control\"=\"no-cache\"} -TimeoutSec 5).Content.Trim()" 2^>nul') do set "GITHUB_VERSION=%%A"
:: Error handling
if not defined GITHUB_VERSION (
echo Error: Failed to fetch the latest version. Check your internet connection
goto :EOF
)
:: Version comparison
if "%LOCAL_VERSION%"=="%GITHUB_VERSION%" (
echo Latest version installed: %LOCAL_VERSION%
) else (
echo New version available: %GITHUB_VERSION%
echo Release page: %GITHUB_RELEASE_URL%%GITHUB_VERSION%
set /p "CHOICE=Do you want to automatically download the new version? (y/n, default: y): "
if "!CHOICE!"=="" set "CHOICE=y"
if /i "!CHOICE!"=="y" (
echo Opening the download page...
start "" "%GITHUB_DOWNLOAD_URL%%GITHUB_VERSION%.rar"
)
)
if not "%1"=="soft" pause
endlocal

View File

@@ -3,8 +3,8 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
@@ -12,5 +12,5 @@ set "LISTS=%~dp0lists\"
start "zapret: discord" /min "%BIN%winws.exe" --wf-tcp=443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-discord.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=443 --hostlist="%LISTS%list-discord.txt" --dpi-desync=split --dpi-desync-split-pos=1 --dpi-desync-autottl --dpi-desync-fooling=badseq --dpi-desync-repeats=8

View File

@@ -3,16 +3,16 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (ALT)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split --dpi-desync-autottl=5 --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -3,16 +3,16 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (ALT2)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=split2 --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -3,16 +3,16 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (ALT3)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=split --dpi-desync-split-pos=1 --dpi-desync-autottl --dpi-desync-fooling=badseq --dpi-desync-repeats=8 --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -3,16 +3,16 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (ALT4)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -4,16 +4,16 @@ chcp 65001 > nul
:: NOT RECOMMENDED
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (ALT5)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-l3=ipv4 --filter-tcp=443 --dpi-desync=syndata --new ^
--filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^

View File

@@ -3,16 +3,16 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (FAKE TLS MOD ALT)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-fooling=md5sig --dpi-desync-fake-tls-mod=rnd,rndsni,padencap --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -3,16 +3,16 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (FAKE TLS MOD AUTO)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -3,16 +3,16 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (FAKE TLS MOD)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=8 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=3 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-ttl=4 --dpi-desync-fake-tls-mod=rnd,rndsni,padencap --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=8 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -3,16 +3,16 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (MGTS)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-autottl=2 --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -3,16 +3,16 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
start "zapret: general (MGTS2)" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -3,8 +3,8 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
call service.bat status_zapret
call service.bat check_updates
echo:
set "BIN=%~dp0bin\"
@@ -12,7 +12,7 @@ set "LISTS=%~dp0lists\"
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --new ^
--filter-udp=50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=midsld --dpi-desync-repeats=8 --dpi-desync-fooling=md5sig,badseq --new ^
--filter-udp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^

View File

@@ -1,325 +0,0 @@
34.0.48.0/21
34.0.56.0/23
34.0.59.0/24
34.0.60.0/24
34.0.62.0/23
34.0.64.0/23
34.0.66.0/24
34.0.82.0/24
34.0.129.0/24
34.0.130.0/23
34.0.132.0/22
34.0.136.0/23
34.0.139.0/24
34.0.140.0/23
34.0.142.0/24
34.0.144.0/23
34.0.146.0/24
34.0.148.0/23
34.0.151.0/24
34.0.153.0/24
34.0.155.0/24
34.0.156.0/22
34.0.192.0/20
34.0.208.0/22
34.0.212.0/23
34.0.215.0/24
34.0.216.0/23
34.0.218.0/24
34.0.220.0/22
34.0.227.0/24
34.0.240.0/21
34.0.248.0/22
34.1.216.0/24
34.1.221.0/24
35.207.64.0/23
35.207.67.0/24
35.207.71.0/24
35.207.72.0/21
35.207.80.0/21
35.207.89.0/24
35.207.91.0/24
35.207.92.0/24
35.207.95.0/24
35.207.97.0/24
35.207.99.0/24
35.207.100.0/23
35.207.103.0/24
35.207.104.0/24
35.207.106.0/23
35.207.108.0/22
35.207.114.0/23
35.207.116.0/23
35.207.121.0/24
35.207.122.0/24
35.207.124.0/23
35.207.126.0/24
35.207.129.0/24
35.207.131.0/24
35.207.132.0/24
35.207.135.0/24
35.207.136.0/23
35.207.139.0/24
35.207.140.0/22
35.207.144.0/22
35.207.149.0/24
35.207.150.0/23
35.207.153.0/24
35.207.154.0/23
35.207.156.0/23
35.207.158.0/24
35.207.160.0/24
35.207.162.0/23
35.207.164.0/22
35.207.168.0/24
35.207.170.0/23
35.207.172.0/24
35.207.174.0/24
35.207.176.0/24
35.207.178.0/24
35.207.180.0/23
35.207.182.0/24
35.207.184.0/21
35.207.193.0/24
35.207.195.0/24
35.207.196.0/24
35.207.198.0/23
35.207.201.0/24
35.207.202.0/24
35.207.205.0/24
35.207.207.0/24
35.207.209.0/24
35.207.210.0/23
35.207.213.0/24
35.207.214.0/24
35.207.220.0/23
35.207.222.0/24
35.207.224.0/23
35.207.227.0/24
35.207.229.0/24
35.207.232.0/24
35.207.234.0/24
35.207.238.0/24
35.207.240.0/24
35.207.245.0/24
35.207.249.0/24
35.207.250.0/23
35.212.4.0/24
35.212.12.0/24
35.212.39.0/24
35.212.88.0/24
35.212.102.0/24
35.212.111.0/24
35.212.117.0/24
35.212.120.0/24
35.213.0.0/24
35.213.2.0/24
35.213.4.0/24
35.213.6.0/23
35.213.8.0/24
35.213.10.0/23
35.213.12.0/23
35.213.14.0/24
35.213.16.0/23
35.213.23.0/24
35.213.25.0/24
35.213.26.0/23
35.213.32.0/23
35.213.34.0/24
35.213.37.0/24
35.213.38.0/23
35.213.42.0/23
35.213.45.0/24
35.213.46.0/24
35.213.49.0/24
35.213.50.0/23
35.213.52.0/23
35.213.54.0/24
35.213.56.0/24
35.213.59.0/24
35.213.61.0/24
35.213.65.0/24
35.213.67.0/24
35.213.68.0/24
35.213.70.0/24
35.213.72.0/23
35.213.74.0/24
35.213.78.0/23
35.213.80.0/24
35.213.83.0/24
35.213.84.0/23
35.213.88.0/21
35.213.96.0/24
35.213.98.0/23
35.213.101.0/24
35.213.102.0/24
35.213.105.0/24
35.213.106.0/23
35.213.109.0/24
35.213.110.0/23
35.213.115.0/24
35.213.120.0/24
35.213.122.0/24
35.213.124.0/22
35.213.128.0/20
35.213.144.0/22
35.213.148.0/23
35.213.150.0/24
35.213.152.0/22
35.213.156.0/23
35.213.158.0/24
35.213.160.0/20
35.213.176.0/23
35.213.179.0/24
35.213.180.0/22
35.213.184.0/22
35.213.188.0/24
35.213.190.0/23
35.213.192.0/21
35.213.200.0/22
35.213.204.0/23
35.213.207.0/24
35.213.208.0/24
35.213.210.0/23
35.213.212.0/22
35.213.217.0/24
35.213.218.0/23
35.213.220.0/22
35.213.225.0/24
35.213.227.0/24
35.213.229.0/24
35.213.230.0/23
35.213.233.0/24
35.213.234.0/24
35.213.236.0/23
35.213.238.0/24
35.213.240.0/21
35.213.249.0/24
35.213.250.0/23
35.213.252.0/23
35.213.254.0/24
35.214.128.0/22
35.214.132.0/23
35.214.134.0/24
35.214.137.0/24
35.214.138.0/24
35.214.140.0/24
35.214.142.0/23
35.214.144.0/22
35.214.148.0/23
35.214.151.0/24
35.214.152.0/24
35.214.156.0/24
35.214.158.0/23
35.214.160.0/22
35.214.165.0/24
35.214.167.0/24
35.214.169.0/24
35.214.170.0/23
35.214.172.0/23
35.214.175.0/24
35.214.177.0/24
35.214.179.0/24
35.214.180.0/23
35.214.184.0/22
35.214.191.0/24
35.214.192.0/21
35.214.201.0/24
35.214.203.0/24
35.214.204.0/23
35.214.207.0/24
35.214.208.0/20
35.214.224.0/22
35.214.228.0/23
35.214.231.0/24
35.214.233.0/24
35.214.235.0/24
35.214.237.0/24
35.214.238.0/23
35.214.240.0/23
35.214.243.0/24
35.214.244.0/23
35.214.246.0/24
35.214.248.0/22
35.214.252.0/23
35.214.255.0/24
35.215.72.0/23
35.215.79.0/24
35.215.83.0/24
35.215.85.0/24
35.215.93.0/24
35.215.97.0/24
35.215.108.0/24
35.215.115.0/24
35.215.118.0/24
35.215.120.0/24
35.215.126.0/23
35.215.128.0/20
35.215.144.0/21
35.215.152.0/22
35.215.156.0/24
35.215.158.0/23
35.215.160.0/23
35.215.163.0/24
35.215.164.0/22
35.215.168.0/21
35.215.176.0/20
35.215.192.0/20
35.215.208.0/21
35.215.216.0/22
35.215.221.0/24
35.215.222.0/23
35.215.224.0/21
35.215.232.0/22
35.215.238.0/23
35.215.240.0/20
35.217.0.0/22
35.217.4.0/23
35.217.6.0/24
35.217.8.0/23
35.217.11.0/24
35.217.12.0/22
35.217.16.0/20
35.217.32.0/23
35.217.35.0/24
35.217.36.0/22
35.217.40.0/21
35.217.48.0/20
35.219.225.0/24
35.219.226.0/23
35.219.228.0/22
35.219.235.0/24
35.219.236.0/24
35.219.238.0/23
35.219.241.0/24
35.219.242.0/23
35.219.244.0/22
35.219.248.0/23
35.219.251.0/24
35.219.252.0/23
35.219.254.0/24
66.22.196.0/22
66.22.200.0/24
66.22.202.0/24
66.22.204.0/24
66.22.206.0/24
66.22.208.0/24
66.22.210.0/24
66.22.212.0/24
66.22.214.0/24
66.22.220.0/22
66.22.224.0/21
66.22.233.0/24
66.22.234.0/24
66.22.236.0/23
66.22.238.0/24
66.22.240.0/22
66.22.244.0/24
66.22.248.0/24
138.128.140.0/24
162.159.130.0/24
162.159.133.0/24
162.159.134.0/23
162.159.136.0/24
172.65.202.0/24
172.65.247.0/24

405
service.bat Normal file
View File

@@ -0,0 +1,405 @@
@echo off
setlocal EnableDelayedExpansion
set "LOCAL_VERSION=1.7.2"
:: External commands
if "%~1"=="status_zapret" (
call :test_service zapret soft
exit /b
)
if "%~1"=="check_updates" (
call :service_check_updates soft
exit /b
)
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
)
:: MENU ================================
:menu
cls
set "menu_choice=null"
echo =======================
echo 1. Install Service
echo 2. Remove Services
echo 3. Check Service Status
echo 4. Run Diagnostics
echo 5. Check Updates
echo 0. Exit
set /p menu_choice=Enter choice (0-5):
if "%menu_choice%"=="1" goto service_install
if "%menu_choice%"=="2" goto service_remove
if "%menu_choice%"=="3" goto service_status
if "%menu_choice%"=="4" goto service_diagnostics
if "%menu_choice%"=="5" goto service_check_updates
if "%menu_choice%"=="0" exit /b
goto menu
:: STATUS ==============================
:service_status
cls
chcp 65001 > nul
echo Checking services and tasks...
call :test_service zapret
call :test_service WinDivert
tasklist /FI "IMAGENAME eq winws.exe" | find /I "winws.exe" > nul
if !errorlevel!==0 (
echo Bypass is ACTIVE
) else (
echo Bypass NOT FOUND
)
pause
goto menu
:test_service
set "ServiceName=%~1"
set "ServiceStatus="
for /f "tokens=3 delims=: " %%A in ('sc query "%ServiceName%" ^| findstr /i "STATE"') do set "ServiceStatus=%%A"
set "ServiceStatus=%ServiceStatus: =%"
if "%ServiceStatus%"=="RUNNING" (
if "%~2"=="soft" (
echo "%ServiceName%" is ALREADY RUNNING as service, use "service.bat" and choose "Remove Services" first if you want to run standalone bat.
pause
exit /b
) else (
echo "%ServiceName%" service is RUNNING.
)
) else if not "%~2"=="soft" (
echo "%ServiceName%" is NOT running.
)
exit /b
:: REMOVE ==============================
:service_remove
cls
chcp 65001 > nul
set SRVCNAME=zapret
net stop %SRVCNAME%
sc delete %SRVCNAME%
net stop "WinDivert"
sc delete "WinDivert"
net stop "WinDivert14"
sc delete "WinDivert14"
pause
goto menu
:: INSTALL =============================
:service_install
cls
chcp 65001 > nul
:: Main
cd /d "%~dp0"
set "BIN_PATH=%~dp0bin\"
set "LISTS_PATH=%~dp0lists\"
:: Searching for .bat files in current folder, except files that start with "service"
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,17!"=="cloudflare_switch" (
set /a count+=1
echo !count!. %%f
set "file!count!=%%f"
)
)
:: Choosing file
set "choice="
set /p "choice=Input file index (number): "
if "!choice!"=="" goto :eof
set "selectedFile=!file%choice%!"
if not defined selectedFile (
echo Invalid choice, exiting...
pause
goto menu
)
:: Args that should be followed by value
set "args_with_value=sni"
:: Parsing args (mergeargs: 2=start param|3=arg with value|1=params args|0=default)
set "args="
set "capture=0"
set "mergeargs=0"
set QUOTE="
for /f "tokens=*" %%a in ('type "!selectedFile!"') do (
set "line=%%a"
echo !line! | findstr /i "%BIN%winws.exe" >nul
if not errorlevel 1 (
set "capture=1"
)
if !capture!==1 (
if not defined args (
set "line=!line:*%BIN%winws.exe"=!"
)
set "temp_args="
for %%i in (!line!) do (
set "arg=%%i"
if not "!arg!"=="^" (
if "!arg:~0,2!" EQU "--" if not !mergeargs!==0 (
set "mergeargs=0"
)
if "!arg:~0,1!" EQU "!QUOTE!" (
set "arg=!arg:~1,-1!"
echo !arg! | findstr ":" >nul
if !errorlevel!==0 (
set "arg=\!QUOTE!!arg!\!QUOTE!"
) else if "!arg:~0,1!"=="@" (
set "arg=\!QUOTE!@%~dp0!arg:~1!\!QUOTE!"
) else if "!arg:~0,5!"=="%%BIN%%" (
set "arg=\!QUOTE!!BIN_PATH!!arg:~5!\!QUOTE!"
) else if "!arg:~0,7!"=="%%LISTS%%" (
set "arg=\!QUOTE!!LISTS_PATH!!arg:~7!\!QUOTE!"
) else (
set "arg=\!QUOTE!%~dp0!arg!\!QUOTE!"
)
)
if !mergeargs!==1 (
set "temp_args=!temp_args!,!arg!"
) else if !mergeargs!==3 (
set "temp_args=!temp_args!=!arg!"
set "mergeargs=1"
) else (
set "temp_args=!temp_args! !arg!"
)
if "!arg:~0,2!" EQU "--" (
set "mergeargs=2"
) else if !mergeargs!==2 (
set "mergeargs=1"
) else if !mergeargs!==1 (
for %%x in (!args_with_value!) do (
if /i "%%x"=="!arg!" (
set "mergeargs=3"
)
)
)
)
)
if not "!temp_args!"=="" (
set "args=!args! !temp_args!"
)
)
)
:: Creating service with parsed args
set ARGS=%args%
echo Final args: !ARGS!
set SRVCNAME=zapret
net stop %SRVCNAME% >nul 2>&1
sc delete %SRVCNAME% >nul 2>&1
sc create %SRVCNAME% binPath= "\"%BIN_PATH%winws.exe\" %ARGS%" DisplayName= "zapret" start= auto
sc description %SRVCNAME% "Zapret DPI bypass software"
sc start %SRVCNAME%
pause
goto menu
:: CHECK UPDATES =======================
:service_check_updates
chcp 437 > nul
:: Set current version and URLs
set "GITHUB_VERSION_URL=https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/main/.service/version.txt"
set "GITHUB_RELEASE_URL=https://github.com/Flowseal/zapret-discord-youtube/releases/tag/"
set "GITHUB_DOWNLOAD_URL=https://github.com/Flowseal/zapret-discord-youtube/releases/latest/download/zapret-discord-youtube-"
:: Get the latest version from GitHub
for /f "delims=" %%A in ('powershell -command "(Invoke-WebRequest -Uri \"%GITHUB_VERSION_URL%\" -Headers @{\"Cache-Control\"=\"no-cache\"} -TimeoutSec 5).Content.Trim()" 2^>nul') do set "GITHUB_VERSION=%%A"
:: Error handling
if not defined GITHUB_VERSION (
echo Error: Failed to fetch the latest version. Check your internet connection
pause
goto menu
)
:: Version comparison
if "%LOCAL_VERSION%"=="%GITHUB_VERSION%" (
echo Latest version installed: %LOCAL_VERSION%
) else (
echo New version available: %GITHUB_VERSION%
echo Release page: %GITHUB_RELEASE_URL%%GITHUB_VERSION%
set "CHOICE="
set /p "CHOICE=Do you want to automatically download the new version? (Y/N) (default: Y) "
if "!CHOICE!"=="" set "CHOICE=Y"
if "!CHOICE!"=="y" set "CHOICE=Y"
if /i "!CHOICE!"=="Y" (
echo Opening the download page...
start "" "%GITHUB_DOWNLOAD_URL%%GITHUB_VERSION%.rar"
)
)
if "%1"=="soft" exit /b
pause
goto menu
:: DIAGNOSTICS =========================
:service_diagnostics
chcp 437 > nul
cls
:: 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
set "checkpointFound=0"
sc query | findstr /I "TracSrvWrapper" > nul
if !errorlevel!==0 (
set "checkpointFound=1"
)
sc query | findstr /I "EPWD" > nul
if !errorlevel!==0 (
set "checkpointFound=1"
)
if !checkpointFound!==1 (
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
set "CHOICE="
set /p "CHOICE=Do you want to clear the Discord cache? (Y/N) (default: Y) "
if "!CHOICE!"=="" set "CHOICE=Y"
if "!CHOICE!"=="y" set "CHOICE=Y"
if /i "!CHOICE!"=="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
goto menu
:: 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

View File

@@ -1,125 +0,0 @@
@echo off
setlocal EnableDelayedExpansion
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
)
:: Main
cd /d "%~dp0"
set "BIN_PATH=%~dp0bin\"
set "LISTS_PATH=%~dp0lists\"
:: Checking for updates
call check_updates.bat soft
echo:
:: Searching for .bat files in current folder, except files that start with "service"
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,17!"=="cloudflare_switch" (
set /a count+=1
echo !count!. %%f
set "file!count!=%%f"
)
)
:: Choosing file
set "choice="
set /p "choice=Input file index (number): "
if "!choice!"=="" goto :eof
set "selectedFile=!file%choice%!"
if not defined selectedFile (
echo Wrong choice, exiting...
pause
goto :eof
)
:: Parsing args (mergeargs: 2=start param|1=params args|0=default)
set "args="
set "capture=0"
set "mergeargs=0"
set QUOTE="
for /f "tokens=*" %%a in ('type "!selectedFile!"') do (
set "line=%%a"
echo !line! | findstr /i "%BIN%winws.exe" >nul
if not errorlevel 1 (
set "capture=1"
)
if !capture!==1 (
if not defined args (
set "line=!line:*%BIN%winws.exe"=!"
)
set "temp_args="
for %%i in (!line!) do (
set "arg=%%i"
if not "!arg!"=="^" (
if "!arg:~0,2!" EQU "--" if not !mergeargs!==0 (
set "mergeargs=0"
)
if "!arg:~0,1!" EQU "!QUOTE!" (
set "arg=!arg:~1,-1!"
echo !arg! | findstr ":" >nul
if !errorlevel!==0 (
set "arg=\!QUOTE!!arg!\!QUOTE!"
) else if "!arg:~0,1!"=="@" (
set "arg=\!QUOTE!@%~dp0!arg:~1!\!QUOTE!"
) else if "!arg:~0,5!"=="%%BIN%%" (
set "arg=\!QUOTE!!BIN_PATH!!arg:~5!\!QUOTE!"
) else if "!arg:~0,7!"=="%%LISTS%%" (
set "arg=\!QUOTE!!LISTS_PATH!!arg:~7!\!QUOTE!"
) else (
set "arg=\!QUOTE!%~dp0!arg!\!QUOTE!"
)
)
if !mergeargs!==1 (
set "temp_args=!temp_args!,!arg!"
) else (
set "temp_args=!temp_args! !arg!"
)
if "!arg:~0,2!" EQU "--" (
set "mergeargs=2"
) else if !mergeargs!==2 (
set "mergeargs=1"
)
)
)
if not "!temp_args!"=="" (
set "args=!args! !temp_args!"
)
)
)
:: Creating service with parsed args
set ARGS=%args%
echo Final args: !ARGS!
set SRVCNAME=zapret
net stop %SRVCNAME% >nul 2>&1
sc delete %SRVCNAME% >nul 2>&1
sc create %SRVCNAME% binPath= "\"%BIN_PATH%winws.exe\" %ARGS%" DisplayName= "zapret" start= auto
sc description %SRVCNAME% "Zapret DPI bypass software"
sc start %SRVCNAME%
pause
endlocal

View File

@@ -1,24 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
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 SRVCNAME=zapret
net stop %SRVCNAME%
sc delete %SRVCNAME%
net stop "WinDivert"
sc delete "WinDivert"
net stop "WinDivert14"
sc delete "WinDivert14"
pause
endlocal

View File

@@ -1,36 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
if "%~1"=="" (
echo Checking already running service instances, see services.msc for more info
call :test_service zapret
call :test_service WinDivert
echo Services status check complete!
pause
) else (
call :test_service "%~1" "soft"
)
exit /b
:test_service
set "ServiceName=%~1"
set "ServiceStatus="
for /f "tokens=3 delims=: " %%A in ('sc query "%ServiceName%" ^| findstr /i "STATE"') do set "ServiceStatus=%%A"
set "ServiceStatus=%ServiceStatus: =%"
if "%ServiceStatus%"=="RUNNING" (
if "%~2"=="soft" (
echo "%ServiceName%" is ALREADY RUNNING as service! Use "service_remove.bat" first if you want to run standalone bat.
pause
) else (
echo "%ServiceName%" service is RUNNING.
)
) else if not "%~2"=="soft" (
echo "%ServiceName%" is NOT running.
)
exit /b