``` ├── .github/ ├── ISSUE_TEMPLATE/ ├── bug_report.yml ├── .gitignore ├── .service/ ├── version.txt ├── LICENSE.txt ├── README.md ├── bin/ ├── WinDivert.dll ├── WinDivert64.sys ├── cygwin1.dll ├── quic_initial_www_google_com.bin ├── tls_clienthello_www_google_com.bin ├── winws.exe ├── check_updates.bat ├── cloudflare_switch.bat ├── discord.bat ├── general (ALT).bat ├── general (ALT2).bat ├── general (ALT3).bat ├── general (ALT4).bat ├── general (ALT5).bat ├── general (FAKE TLS MOD ALT).bat ├── general (FAKE TLS MOD AUTO).bat ├── general (FAKE TLS MOD).bat ├── general (МГТС).bat ├── general (МГТС2).bat ├── general.bat ├── lists/ ├── ipset-cloudflare.txt ├── list-discord.txt ├── list-general.txt ├── service_diagnostics.bat ├── service_install.bat ├── service_remove.bat ├── service_status.bat ``` ## /.github/ISSUE_TEMPLATE/bug_report.yml ```yml path="/.github/ISSUE_TEMPLATE/bug_report.yml" 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: Дополнительные детали о которых нам нужно знать ``` ## /.gitignore ```gitignore path="/.gitignore" ``` ## /.service/version.txt 1.7.0 ## /LICENSE.txt 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. ## /README.md
# Flowseal/zapret-discord-youtube *"Plug & Play"* обход блокировок Discord и YouTube для Windows Альтернатива https://github.com/bol-van/zapret-win-bundle
> [!CAUTION] > > ### АНТИВИРУСЫ > WinDivert может вызвать реакцию антивируса. > WinDivert - это инструмент для перехвата и фильтрации трафика, необходимый для работы zapret. > Замена iptables и NFQUEUE в Linux, которых нет под Windows. > Он может использоваться как хорошими, так и плохими программами, но сам по себе не является вирусом. > Драйвер WinDivert64.sys подписан для возможности загрузки в 64-битное ядро Windows. > Но антивирусы склонны относить подобное к классам повышенного риска или хакерским инструментам. > В случае проблем используйте исключения или выключайте антивирус совсем. > > **Выдержка из [`readme.md`](https://github.com/bol-van/zapret-win-bundle/blob/master/readme.md#%D0%B0%D0%BD%D1%82%D0%B8%D0%B2%D0%B8%D1%80%D1%83%D1%81%D1%8B) репозитория [bol-van/zapret-win-bundle](https://github.com/bol-van/zapret-win-bundle)* > [!IMPORTANT] > Все файлы в папке [`bin`](./bin) взяты из [zapret-win-bundle/zapret-winws](https://github.com/bol-van/zapret-win-bundle/tree/master/zapret-winws). Вы можете это проверить с помощью хэшей/контрольных сумм. ## ⚙️Использование 1. Загрузите архив (zip/rar) со [страницы последнего релиза](https://github.com/Flowseal/zapret-discord-youtube/releases/latest) 2. Распакуйте содержимое архива по пути, который не содержит кириллицу/спец. символы 3. Запустите нужный файл ## ℹ️Краткие описания файлов - [**`discord.bat`**](./discord.bat) - запуск со стратегией для обхода блокировки Discord - [**`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` - [**`service_status.bat`**](./service_status.bat) - проверка состояния служб `zapret` и `WinDivert` - [**`check_updates.bat`**](./check_updates.bat) - проверка обновлений ## ☑️Распространенные проблемы ### Не работает Discord - См. [#252](https://github.com/Flowseal/zapret-discord-youtube/discussions/252) ### Не работает YouTube - См. [#251](https://github.com/Flowseal/zapret-discord-youtube/discussions/251) ### Обход не работает > [!IMPORTANT] > **Стратегии блокировок со временем изменяются.** > Определенная стратегия обхода zapret может работать какое-то время, но если меняется способ блокировки или обнаружения обхода блокировки, то она перестанет работать. > В репозитории представлены множество различных стратегий для обхода. Если ни одна из них вам не помогает, то вам необходимо создать новую, взяв за основу одну из представленных здесь и изменив её параметры. > Информацию про параметры стратегий вы можете найти [тут](https://github.com/bol-van/zapret/blob/master/docs/readme.md#nfqws). - Проверьте другие стратегии (**`ALT`**/**`МГТС`**) - Обновите файлы в папке [`bin`](./bin), взяв новые из [zapret-win-bundle/zapret-winws](https://github.com/bol-van/zapret-win-bundle/tree/master/zapret-winws) - См. [#765](https://github.com/Flowseal/zapret-discord-youtube/issues/765) ### Файлы не запускаются - См. [#522](https://github.com/Flowseal/zapret-discord-youtube/issues/522) ### Требуется цифровая подпись драйвера WinDivert (Windows 7) - Замените файлы `WinDivert.dll` и `WinDivert64.sys` в папке [`bin`](./bin) на одноименные из [zapret-win-bundle/win7](https://github.com/bol-van/zapret-win-bundle/tree/master/win7) ### Не работает вместе с VPN - Отключите функцию **TUN** (Tunneling) в настройках вашего VPN ### При удалении с помощью [**`service_remove.bat`**](./service_remove.bat), WinDivert остается в службах 1. Узнайте название службы с помощью команды, в командной строке Windows (Win+R, `cmd`): ```cmd driverquery | find "Divert" ``` 2. Остановите и удалите службу командами: ```cmd sc stop {название, которые вы узнали в шаге 1} sc delete {название, которые вы узнали в шаге 1} ``` ### Не нашли своей проблемы * Создайте её [тут](https://github.com/Flowseal/zapret-discord-youtube/issues) ## 🗒️Добавление адресов прочих заблокированных ресурсов Список блокирующихся адресов для обхода можно расширить, добавляя их в: - [`list-general.txt`](./list-general.txt) для файлов `general *.bat` - [`list-discord.txt`](./list-discord.txt) для файла [`discord.bat`](./discord.bat) > [!IMPORTANT] > После обновления списка адресов zapret необходимо перезапустить. ## ⭐Поддержка проекта Вы можете поддержать проект, поставив :star: этому репозиторию (сверху справа этой страницы) Также, вы можете материально поддержать разработчика zapret [тут](https://github.com/bol-van/zapret/issues/590#issuecomment-2408866758) Star History Chart ## ⚖️Лицензирование Проект распространяется на условиях лицензии [MIT](https://github.com/Flowseal/zapret-discord-youtube/blob/main/LICENSE.txt) ## 🩷Благодарность участникам проекта [![Contributors](https://contrib.rocks/image?repo=Flowseal/zapret-discord-youtube)](https://github.com/Flowseal/zapret-discord-youtube/graphs/contributors) 💖 Отдельная благодарность разработчику [zapret](https://github.com/bol-van/zapret) - [bol-van](https://github.com/bol-van) ## /bin/WinDivert.dll Binary file available at https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/refs/heads/main/bin/WinDivert.dll ## /bin/WinDivert64.sys Binary file available at https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/refs/heads/main/bin/WinDivert64.sys ## /bin/cygwin1.dll Binary file available at https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/refs/heads/main/bin/cygwin1.dll ## /bin/quic_initial_www_google_com.bin Binary file available at https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/refs/heads/main/bin/quic_initial_www_google_com.bin ## /bin/tls_clienthello_www_google_com.bin Binary file available at https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/refs/heads/main/bin/tls_clienthello_www_google_com.bin ## /bin/winws.exe Binary file available at https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/refs/heads/main/bin/winws.exe ## /check_updates.bat ```bat path="/check_updates.bat" @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 ``` ## /cloudflare_switch.bat ```bat path="/cloudflare_switch.bat" @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 ``` ## /discord.bat ```bat path="/discord.bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" 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 --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 ``` ## /general (ALT).bat ```bat path="/general (ALT).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.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" ``` ## /general (ALT2).bat ```bat path="/general (ALT2).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.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" ``` ## /general (ALT3).bat ```bat path="/general (ALT3).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=split --dpi-desync-split-pos=1 --dpi-desync-autottl --dpi-desync-fooling=badseq --dpi-desync-repeats=8 ``` ## /general (ALT4).bat ```bat path="/general (ALT4).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" ``` ## /general (ALT5).bat ```bat path="/general (ALT5).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 :: NOT RECOMMENDED cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --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 ^ ``` ## /general (FAKE TLS MOD ALT).bat ```bat path="/general (FAKE TLS MOD ALT).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-fooling=md5sig --dpi-desync-fake-tls-mod=rnd,rndsni,padencap ``` ## /general (FAKE TLS MOD AUTO).bat ```bat path="/general (FAKE TLS MOD AUTO).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=md5sig ``` ## /general (FAKE TLS MOD).bat ```bat path="/general (FAKE TLS MOD).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=3 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-ttl=4 --dpi-desync-fake-tls-mod=rnd,rndsni,padencap ``` ## /general (МГТС).bat ```bat path="/general (МГТС).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.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" ``` ## /general (МГТС2).bat ```bat path="/general (МГТС2).bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" set "LISTS=%~dp0lists\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" ``` ## /general.bat ```bat path="/general.bat" @echo off chcp 65001 > nul :: 65001 - UTF-8 cd /d "%~dp0" call service_status.bat zapret call check_updates.bat soft echo: set "BIN=%~dp0bin\" 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 --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 ^ --filter-tcp=80 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^ --filter-tcp=443 --ipset="%LISTS%ipset-cloudflare.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=midsld --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig,badseq ``` ## /lists/ipset-cloudflare.txt 173.245.48.0/20 103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 141.101.64.0/18 108.162.192.0/18 190.93.240.0/20 188.114.96.0/20 197.234.240.0/22 198.41.128.0/17 162.158.0.0/15 104.16.0.0/13 104.24.0.0/14 172.64.0.0/13 131.0.72.0/22 ## /lists/list-discord.txt cloudflare-ech.com dis.gd discord-attachments-uploads-prd.storage.googleapis.com discord.app discord.co discord.com discord.design discord.dev discord.gift discord.gifts discord.gg discord.media discord.new discord.status discord.store discordapp.com discordapp.net discordcdn.com discordmerch.com discordpartygames.com discordsays.com discordsez.com discord-activities.com discordactivities.com stable.dl2.discordapp.net ## /lists/list-general.txt cloudflare-ech.com dis.gd discord-attachments-uploads-prd.storage.googleapis.com discord.app discord.co discord.com discord.design discord.dev discord.gift discord.gifts discord.gg discord.media discord.new discord.store discord.status discord-activities.com discordactivities.com discordapp.com discordapp.net discordcdn.com discordmerch.com discordpartygames.com discordsays.com discordsez.com ggpht.com googlevideo.com jnn-pa.googleapis.com stable.dl2.discordapp.net wide-youtube.l.google.com youtube-nocookie.com youtube-ui.l.google.com youtube.com youtubeembeddedplayer.googleapis.com youtubekids.com youtubei.googleapis.com youtu.be yt-video-upload.l.google.com ytimg.com ytimg.l.google.com frankerfacez.com ffzap.com betterttv.net 7tv.app 7tv.io ## /service_diagnostics.bat ```bat path="/service_diagnostics.bat" @echo off setlocal EnableDelayedExpansion :: Admin rights check if "%1"=="admin" ( echo Started with admin rights cls ) else ( echo Requesting admin rights... powershell -Command "Start-Process 'cmd.exe' -ArgumentList '/c \"\"%~f0\" admin\"' -Verb RunAs" exit /b ) :: 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 sc query | findstr /I "Check" | findstr /I "Point" > nul if !errorlevel!==0 ( 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 echo Do you want to clear the Discord cache? (Y/N) (default: Y) set /p answer= if "%answer%"=="" set answer=Y if "%answer%"=="y" set answer=Y if /i "%answer%"=="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 exit /b :: 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 ``` ## /service_install.bat ```bat path="/service_install.bat" @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 ) :: 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 endlocal ``` ## /service_remove.bat ```bat path="/service_remove.bat" @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 ``` ## /service_status.bat ```bat path="/service_status.bat" @echo off setlocal EnableDelayedExpansion chcp 65001 > nul :: 65001 - UTF-8 if "%~1"=="" ( 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 ) 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 ``` The better and more specific the context, the better the LLM can follow instructions. If the context seems verbose, the user can refine the filter using uithub. Thank you for using https://uithub.com - Perfect LLM context for any GitHub repo.