30 Commits
1.5.1 ... 1.6.2

Author SHA1 Message Date
Flowseal
8a47e893ba removed service goodbyedpi support 2025-01-12 08:54:14 +03:00
Flowseal
7656ba101e v1.6.2 2025-01-12 08:49:07 +03:00
Flowseal
83938b448e alert if standalone bat runs with active service 2025-01-12 08:48:46 +03:00
Flowseal
5acf410906 better param's args handle 2025-01-12 08:01:10 +03:00
Flowseal
c8196c4837 year update 2025-01-12 07:54:42 +03:00
Flowseal
7a4dc12df5 binaries updated to the last version 2025-01-12 07:54:11 +03:00
Flowseal
b4b94022bc Merge pull request #1075 from serpen7/Update-README.md
Update README.md
2024-12-24 18:27:23 +03:00
serpen7
91a96c1357 Update README.md
Забыл поправить текст ссылок
2024-12-24 17:30:43 +03:00
serpen7
dcfa9fb11b Update README.md
Поправлены ссылки в ридми на линукс квик старт и ридми с репозитория болвана т.к. он менял схему своего репозитория по путям.
2024-12-24 17:18:42 +03:00
Flowseal
3044eb2076 Merge pull request #909 from Verity-Freedom/patch-1
Update check_updates.bat
2024-12-10 08:53:15 +03:00
Flowseal
54a0c0ccd7 Merge pull request #910 from ankddev/fix-typo-in-readme
docs: fix typos and mistakes in README
2024-12-10 08:52:36 +03:00
ANKDDEV
d7821cd125 docs: fix typos and mistakes in readme 2024-12-08 12:09:43 +03:00
Verity-Freedom
d663e14297 Update check_updates.bat 2024-12-08 11:09:19 +03:00
Flowseal
95fbabe968 typo 2024-11-24 13:03:06 +03:00
Flowseal
c42488b919 license mention in readme 2024-11-24 13:02:19 +03:00
Flowseal
2d512518f0 license 2024-11-24 12:59:58 +03:00
Flowseal
2a1764bf36 no-cache for update request 2024-11-12 23:19:55 +03:00
Flowseal
4cb8c01cda next ver
next ver
2024-11-12 23:09:48 +03:00
Flowseal
9d3cdd4aa0 Исправно экранирование 2024-11-12 23:05:02 +03:00
Flowseal
fce0da4d0e Updates checker and cmd not terminating after service finish 2024-11-11 17:18:37 +03:00
Flowseal
5befdc2ac5 versioning 2024-11-11 15:50:21 +03:00
Flowseal
3733e90d8f admin rights for some needed files 2024-11-08 15:35:47 +03:00
Flowseal
ac3b3b2ac3 Merge branch 'main' of https://github.com/Flowseal/zapret-discord-youtube 2024-11-06 11:59:44 +03:00
Flowseal
8cee6753ef added cloudflare-ech to lists 2024-11-06 11:59:34 +03:00
Flowseal
61ba1be7c2 Update README.md 2024-10-31 21:18:23 +03:00
Flowseal
b39ac56e47 Merge pull request #418 from burnedoutman/main
fix service name in service_install.bat
2024-10-26 03:19:25 +03:00
burnedoutman
2588cae778 fix service name service_install.bat 2024-10-26 04:40:21 +07:00
Flowseal
65867a16a3 Update README.md 2024-10-18 20:21:05 +03:00
Flowseal
4000d76a00 Update README.md 2024-10-18 20:20:57 +03:00
Flowseal
ad205dac20 Update README.md 2024-10-18 19:39:13 +03:00
22 changed files with 240 additions and 71 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
version.txt

1
.service/version.txt Normal file
View File

@@ -0,0 +1 @@
1.6.2

46
LICENSE.txt Normal file
View File

@@ -0,0 +1,46 @@
MIT License
Copyright (c) 2016-2025 bol-van
Copyright (c) 2024-2025 Flowseal
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---
This repository contains binary files originating from the project by bol-van,
available at: https://github.com/bol-van/zapret/ (licensed under the MIT License).
This repository also includes and depends on WinDivert
(https://github.com/basil00/WinDivert), which is licensed under your choice of:
1. The GNU Lesser General Public License (LGPL) Version 3, or
2. The GNU General Public License (GPL) Version 2.
Binary distributions of WinDivert are included in this project as-is, without modification.
The corresponding source code and license terms for WinDivert are available at
https://github.com/basil00/WinDivert.
---
To comply with the licenses of these projects:
1. The original copyright notices and licenses (above) are retained.
2. The use of WinDivert in this project is governed by its licensing terms (LGPLv3/GPLv2).
3. This repository provides only binary files and does not include the source code of
the project by bol-van or modifications to WinDivert.

View File

@@ -1,19 +1,25 @@
# Zapret (обход блокировки Discord'а и Youtube'а)
> [!NOTE]
> Данный репозиторий - **некоммерческая** *User-Friendly* сборка [оригинального репозитория](https://github.com/bol-van/zapret). Здесь используются оригинальные бинарники, сравнить которые вы можете с помощью хэша. \
Так как zapret open-source, вы всегда можете сами собрать эти бинарники и не бояться вирусов. \
Будут рад [⭐ поставленной звезде](https://github.com/Flowseal/zapret-discord-youtube/stargazers) (в правом верхнем углу) у репозитория 🙂
> Данный репозиторий - **некоммерческая** *User-Friendly* сборка [оригинального репозитория](https://github.com/bol-van/zapret). Здесь используются оригинальные бинарники, сравнить которые вы можете с помощью хэша.
> Так как zapret open-source, вы всегда можете сами собрать эти бинарники и не бояться вирусов.
>
>**Буду рад [⭐ поставленной репозиторию звезде](https://github.com/Flowseal/zapret-discord-youtube/stargazers) (в правом верхнем углу) 🙂**
##
> [!CAUTION]
> **Многие антивирусники** в данный момент жалуются на ***HackTool/RiskTool*** и ***WinDivert*** - это нормальное поведение, так как программа изменяет сетевые пакеты. Что с этим делать? Собрать бинарники самому из исходников, довериться уже собранным, либо не использовать вовсе.
## License
Этот проект распространяется на условиях лицензии MIT.
Полный текст лицензии можно найти в файле [LICENSE.txt](./LICENSE.txt)
## Guides
### Windows
> [!IMPORTANT]
> Если всё еще не скачан, то скачайте последний [релиз](https://github.com/Flowseal/zapret-discord-youtube/releases), разархивируйте в отдельную папку.
> Если ещё не сделали этого, то скачайте последний [релиз](https://github.com/Flowseal/zapret-discord-youtube/releases), разархивируйте в отдельную папку.
Запустите **от имени администратора** то, что вам нужно:
- **`discord.bat`** - запустить обход дискорда.
@@ -22,19 +28,15 @@
###
- **`service_install.bat`** - установить на автозапуск (в сервисы) любую стратегию из этого репозитория (стратегия **НЕ** должна начинаться со слова `service`)
###
- **`service_goodbye_discord.bat`** - запустить, если вы используете **СЕРВИС goodbyedpi**, и хотите, чтобы zapret обходил **только discord**.
* **ВНИМАНИЕ**: Запускать ПОСЛЕ создания сервиса goodbyedpi. Первый раз goodbyedpi может вылететь - просто перезапустите устройство!
###
- **`service_remove.bat`** - остановить и удалить сервисы выше
## Решение проблем
- Проверьте, запускаете ли вы файлы от **ИМЕНИ АДМИНИСТРАТОРА**
- Не запускаются bat файлы? Попробуйте запустить **`service_remove.bat`** от **ИМЕНИ АДМИНИСТРАТОРА**
* Также отключите программы, которые могут мешать созданию сервиса *(Антивирусы, клинеры с доп. защитой)*.
- Не запускаются bat файлы? Попробуйте найти ответ здесь: https://github.com/Flowseal/zapret-discord-youtube/issues/522
- <p style="text-align: left;">
<img src="https://cdn-icons-png.flaticon.com/16/3670/3670147.png" alt="discord" style="vertical-align: middle;"/>
Не работает <strong>Youtube</strong>? Попробуйте найти ответ здесь -
Не работает <strong>YouTube</strong>? Попробуйте найти ответ здесь -
<a href="https://github.com/Flowseal/zapret-discord-youtube/discussions/251">Обсуждение YouTube</a>
</p>
- <p style="text-align: left;">
@@ -44,7 +46,6 @@
</p>
##
- Не работает вместе с **VPN**? Отключите функцию **TUN** (Tunneling) в настройках VPN.
- Не работает **`service_goodbye_discord`**? Удостовертесь, что сервис goodbyedpi запущен и имеет название GoodbyeDPI. После снова запустите `service_goodbye_discord.bat` и перезапустите устройство.
- Попробуйте обновить бинарники с оригинального репозитория.
### Остановка и удаление обхода
@@ -63,15 +64,15 @@ sc delete WinDivert
## Linux
В оригинальном репозитории [zapret](https://github.com/bol-van/zapret/) имеется достаточно информации для того, чтобы начать пользоваться обходом блокировок, но и стоит понимать, что нажатием одной кнопки ничего не заработает. \
Достаточно следовать следующим инструкциям и всё внимательно читать:
- [zapret/docs/quick_start.txt](https://github.com/bol-van/zapret/blob/master/docs/quick_start.txt)
- [zapret/docs/readme.txt](https://github.com/bol-van/zapret/blob/master/docs/readme.txt)
- [zapret/blob/master/docs/quick_start.md](https://github.com/bol-van/zapret/blob/master/docs/quick_start.md)
- [zapret/blob/master/docs/readme.md](https://github.com/bol-van/zapret/blob/master/docs/readme.md)
* https://github.com/Flowseal/zapret-discord-youtube/issues/7
> [!WARNING]
> Если вы открываете Issue *(в этом репозитории)* с проблемой в использовании на **Linux**, то, как бы это не звучало, это ошибка. Все вопросы по работе на Linux нужно открывать в **[ОРИГИНАЛЬНОМ](https://github.com/bol-van/zapret/)** репозитории. Следовательно, задавайте вопросы [тут](https://github.com/bol-van/zapret/issues/).
## Support
Вы можете поддержать проект, поставив :star: (сверху справа репозитория)!
Вы можете поддержать проект, поставив :star: (сверху справа этой страницы)!
Также, вы можете поддержать разработчика [оригинального репозитория zapret](https://github.com/bol-van/zapret/issues/590) тут - https://github.com/bol-van/zapret/issues/590
<a href="https://star-history.com/#Flowseal/zapret-discord-youtube&Date">

Binary file not shown.

Binary file not shown.

88
check_updates.bat Normal file
View File

@@ -0,0 +1,88 @@
@echo off
setlocal EnableDelayedExpansion
chcp 437 > nul
set "CURRENT_VERSION=1.6.2"
set "GITHUB_URL=https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/refs/heads/main/.service/version.txt"
set "RELEASE_URL=https://github.com/Flowseal/zapret-discord-youtube/releases"
set "VERSION_FILE=version.txt"
set "SKIP_VERSION=null"
set "FILE_EXISTS=1"
for /f "delims=" %%A in ('powershell -command "[datetime]::Now.ToString('yyyy-MM-dd HH:mm:ss')"') do set CURRENT_TIMESTAMP=%%A
:: If file version.txt exists
if not exist %VERSION_FILE% (
set "FILE_EXISTS=0"
echo time: %CURRENT_TIMESTAMP%> %VERSION_FILE%
echo ver: %CURRENT_VERSION%>> %VERSION_FILE%
)
:: Reading data from local version.txt
for /f "tokens=1,* delims=: " %%A in (%VERSION_FILE%) do (
if "%%A"=="time" set "LAST_CHECK=%%B"
if "%%A"=="ver" set "INSTALLED_VERSION=%%B"
if "%%A"=="skip" set "SKIP_VERSION=%%B"
)
:: If file was called from thirdparty script (with 'soft' argument that blocks checking for 12 hours)
if "%~1"=="soft" (
:: Converting dates to parts for calculation
for /f "tokens=1-6 delims=-: " %%A in ("%CURRENT_TIMESTAMP%") do (
set "CURRENT_MONTH=%%B"
set "CURRENT_DAY=%%C"
set "CURRENT_HOUR=%%D"
)
for /f "tokens=1-6 delims=-: " %%A in ("%LAST_CHECK%") do (
set "LAST_MONTH=%%B"
set "LAST_DAY=%%C"
set "LAST_HOUR=%%D"
)
set /a "time_diff_in_minutes = (CURRENT_MONTH - LAST_MONTH) * 43200 + (CURRENT_DAY - LAST_DAY) * 1440 + (CURRENT_HOUR - LAST_HOUR) * 60"
if !time_diff_in_minutes! LEQ 360 if !FILE_EXISTS!==1 (
echo Skipping the update check because it hasnt been 6 hours
goto :EOF
)
)
:: Reading new version from github
set "NEW_VERSION="
for /f "delims=" %%A in ('powershell -command "(Invoke-WebRequest -Uri %GITHUB_URL% -Headers @{\"Cache-Control\"=\"no-cache\"} -TimeoutSec 5).Content" 2^>nul') do set "NEW_VERSION=%%A"
if not defined NEW_VERSION (
echo Error reading new version
goto :EOF
)
:: Rewrite file
echo time: %CURRENT_TIMESTAMP%> %VERSION_FILE%
echo ver: %INSTALLED_VERSION%>> %VERSION_FILE%
echo skip: %SKIP_VERSION%>> %VERSION_FILE%
:: Comparing versions
if "%NEW_VERSION%"=="%INSTALLED_VERSION%" (
echo You are using the latest version %NEW_VERSION%.
goto :EOF
) else (
:: Check if version skipped
if "%NEW_VERSION%"=="%SKIP_VERSION%" (
echo Newer version %NEW_VERSION% skipped by user.
goto :EOF
) else (
echo New version found: %NEW_VERSION%.
echo Visit %RELEASE_URL% to download a new version
)
)
:: Skip check
set /p "CHOICE=Skip this update? (y/n, default: n): " || set "CHOICE=n"
set "CHOICE=!CHOICE:~0,1!"
if /i "!CHOICE!"=="y" (
echo skip: %NEW_VERSION%>> %VERSION_FILE%
echo Update %NEW_VERSION% skipped.
) else (
start %RELEASE_URL%
)
endlocal

View File

@@ -3,6 +3,9 @@ chcp 65001 >nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
echo:
set BIN=%~dp0bin\

View File

@@ -3,6 +3,9 @@ chcp 65001 >nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
echo:
set BIN=%~dp0bin\

View File

@@ -3,6 +3,9 @@ chcp 65001 >nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
echo:
set BIN=%~dp0bin\

View File

@@ -3,6 +3,9 @@ chcp 65001 >nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
echo:
set BIN=%~dp0bin\

View File

@@ -3,6 +3,9 @@ chcp 65001 >nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
echo:
set BIN=%~dp0bin\

View File

@@ -4,6 +4,9 @@ chcp 65001 >nul
:: NOT RECOMMENDED
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
echo:
set BIN=%~dp0bin\

View File

@@ -3,6 +3,9 @@ chcp 65001 >nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
echo:
set BIN=%~dp0bin\

View File

@@ -3,6 +3,9 @@ chcp 65001 >nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
echo:
set BIN=%~dp0bin\

View File

@@ -3,6 +3,9 @@ chcp 65001 >nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service_status.bat zapret
call check_updates.bat soft
echo:
set BIN=%~dp0bin\

View File

@@ -15,4 +15,5 @@ discord.gift
discordstatus.com
dis.gd
discord.co
discord-attachments-uploads-prd.storage.googleapis.com
discord-attachments-uploads-prd.storage.googleapis.com
cloudflare-ech.com

View File

@@ -32,4 +32,5 @@ discord.co
discord-attachments-uploads-prd.storage.googleapis.com
7tv.app
7tv.io
10tv.app
10tv.app
cloudflare-ech.com

View File

@@ -1,29 +0,0 @@
@echo off
chcp 65001 >nul
:: 65001 - UTF-8
:: Admin rights check
echo Предупреждение: Данный сервис работает ТОЛЬКО ВМЕСТЕ С СЕРВИСОМ GoodbyeDPI
echo Нажмите любую клавишу, чтобы продолжить создание сервиса.
pause
:: Admin rights check
echo Данный файл должен быть запущен с правами администратора (ПКМ - Запустить от имени администратора).
echo Нажмите любую клавишу, чтобы продолжить создание сервиса.
pause
set BIN=%~dp0bin\
set ARGS=--wf-tcp=443 --wf-udp=443,50000-50100 ^
--filter-udp=443 --hostlist=\"%~dp0list-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 --ipset=\"%~dp0ipset-discord.txt\" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --dpi-desync-repeats=6 --new ^
--filter-tcp=443 --hostlist=\"%~dp0list-discord.txt\" --dpi-desync=fake,split --dpi-desync-autottl=2 --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=\"%BIN%tls_clienthello_www_google_com.bin\"
set SRVCNAME=zapret
net stop %SRVCNAME%
sc delete %SRVCNAME%
sc create %SRVCNAME% binPath= "\"%BIN%winws.exe\" %ARGS%" DisplayName= "zapret DPI bypass : %SRVCNAME%" start= auto depend= "GoodbyeDPI"
sc description %SRVCNAME% "zapret DPI bypass software"
sc start %SRVCNAME%
pause

View File

@@ -3,41 +3,45 @@ setlocal EnableDelayedExpansion
chcp 65001 >nul
:: 65001 - UTF-8
:: Admin rights check
echo Предупреждение: Данный файл должен быть запущен с правами администратора (ПКМ - Запустить от имени администратора).
echo Нажмите любую клавишу, чтобы продолжить создание сервиса.
pause
cls
set "arg=%1"
if "%arg%" == "admin" (
echo Restarted with admin rights
) else (
powershell -Command "Start-Process 'cmd.exe' -ArgumentList '/k \"\"%~f0\" admin\"' -Verb RunAs"
exit /b
)
cd /d "%~dp0"
call check_updates.bat soft
echo:
set BIN_PATH=%~dp0bin\
:: Поиск .bat файлов в текущей категории, исключая файлы, которые начинаются с "service"
:: Searching for .bat files in current folder, except files that start with "service"
set "count=0"
for %%f in (*.bat) do (
set "filename=%%~nxf"
if /i not "!filename:~0,7!"=="service" (
if /i not "!filename:~0,7!"=="service" if /i not "!filename:~0,13!"=="check_updates" (
set /a count+=1
echo !count!. %%f
set "file!count!=%%f"
)
)
:: Выбираем файл
:: Choosing file
set "choice="
set /p "choice=Введите номер файла: "
set /p "choice=Input file index (number): "
if "!choice!"=="" goto :eof
set "selectedFile=!file%choice%!"
if not defined selectedFile (
echo Неверный выбор, завершение.
echo Wrong choice, exiting..
pause
goto :eof
)
:: Парсим аргументы (mergeargs: 2=start wf|1=wf argument|0=default)
:: Parsing args (mergeargs: 2=start param|1=params args|0=default)
set "args="
set "capture=0"
set "mergeargs=0"
@@ -86,11 +90,7 @@ for /f "tokens=*" %%a in ('type "!selectedFile!"') do (
set "temp_args=!temp_args! !arg!"
)
if "!arg:~0,4!" EQU "--wf" (
set "mergeargs=2"
) else if "!arg!" EQU "--dpi-desync" (
set "mergeargs=2"
) else if "!arg!" EQU "--dpi-desync-fooling" (
if "!arg:~0,2!" EQU "--" (
set "mergeargs=2"
) else if !mergeargs!==2 (
set "mergeargs=1"
@@ -104,7 +104,7 @@ for /f "tokens=*" %%a in ('type "!selectedFile!"') do (
)
)
:: Экзекьютим сервис со спаршенными аргументами
:: Creating service with parsed args
set ARGS=%args%
echo Final args: !ARGS!
@@ -112,8 +112,6 @@ set SRVCNAME=zapret
net stop %SRVCNAME%
sc delete %SRVCNAME%
sc create %SRVCNAME% binPath= "\"%BIN_PATH%winws.exe\" %ARGS%" DisplayName= "zpret" start= auto
sc create %SRVCNAME% binPath= "\"%BIN_PATH%winws.exe\" %ARGS%" DisplayName= "zapret" start= auto
sc description %SRVCNAME% "zapret DPI bypass software"
sc start %SRVCNAME%
pause

View File

@@ -2,10 +2,13 @@
chcp 65001 >nul
:: 65001 - UTF-8
:: Admin rights check
echo Предупреждение: Данный файл должен быть запущен с правами администратора (ПКМ - Запустить от имени администратора).
echo Нажмите любую клавишу, чтобы продолжить удаление и остановку сервиса.
pause
set "arg=%1"
if "%arg%" == "admin" (
echo Restarted with admin rights
) else (
powershell -Command "Start-Process 'cmd.exe' -ArgumentList '/k \"\"%~f0\" admin\"' -Verb RunAs"
exit /b
)
set SRVCNAME=zapret
@@ -16,5 +19,3 @@ net stop "WinDivert"
sc delete "WinDivert"
net stop "WinDivert14"
sc delete "WinDivert14"
pause

33
service_status.bat Normal file
View File

@@ -0,0 +1,33 @@
@echo off
chcp 65001 >nul
if "%~1"=="" (
call :test_service zapret
call :test_service WinDivert
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 "serivce_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