Skip to content

Commit

Permalink
Flowseal#1 Edits the project to suit your needs.
Browse files Browse the repository at this point in the history
  • Loading branch information
antsently committed Nov 17, 2024
1 parent 2a1764b commit ce97928
Show file tree
Hide file tree
Showing 21 changed files with 96 additions and 1,151 deletions.
89 changes: 1 addition & 88 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,92 +1,5 @@
# Zapret (обход блокировки Discord'а и Youtube'а)

> [!NOTE]
> Данный репозиторий - **некоммерческая** *User-Friendly* сборка [оригинального репозитория](https://github.com/bol-van/zapret). Здесь используются оригинальные бинарники, сравнить которые вы можете с помощью хэша.
> Так как zapret open-source, вы всегда можете сами собрать эти бинарники и не бояться вирусов.
> A fork of this repository: https://github.com/Flowseal/zapret-discord-youtube
>
>**Будут рад [⭐ поставленной звезде](https://github.com/Flowseal/zapret-discord-youtube/stargazers) (в правом верхнем углу) у репозитория 🙂**
##

> [!CAUTION]
> **Многие антивирусники** в данный момент жалуются на ***HackTool/RiskTool*** и ***WinDivert*** - это нормальное поведение, так как программа изменяет сетевые пакеты. Что с этим делать? Собрать бинарники самому из исходников, довериться уже собранным, либо не использовать вовсе.
## Guides
### Windows
> [!IMPORTANT]
> Если всё еще не скачан, то скачайте последний [релиз](https://github.com/Flowseal/zapret-discord-youtube/releases), разархивируйте в отдельную папку.
Запустите **от имени администратора** то, что вам нужно:
- **`discord.bat`** - запустить обход дискорда.
- **`general.bat`** - запустить обход дискорда и ютуба.
* Если обход не работает, пробуйте по порядку **`general (ALT ..).bat`** (также можете проверить стратегию на **МГТС**)
###
- **`service_install.bat`** - установить на автозапуск (в сервисы) любую стратегию из этого репозитория (стратегия **НЕ** должна начинаться со слова `service`)
###
- **`service_goodbye_discord.bat`** - запустить, если вы используете **СЕРВИС goodbyedpi**, и хотите, чтобы zapret обходил **только discord**.
* **ВНИМАНИЕ**: Запускать ПОСЛЕ создания сервиса goodbyedpi. Первый раз goodbyedpi может вылететь - просто перезапустите устройство!
###
- **`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>? Попробуйте найти ответ здесь -
<a href="https://github.com/Flowseal/zapret-discord-youtube/discussions/251">Обсуждение YouTube</a>
</p>
- <p style="text-align: left;">
<img src="https://cdn-icons-png.flaticon.com/16/906/906361.png" alt="discord" style="vertical-align: middle;"/>
Не работает <strong>Discord</strong>? Попробуйте найти ответ здесь -
<a href="https://github.com/Flowseal/zapret-discord-youtube/discussions/252">Обсуждение Discord</a>
</p>
##
- Не работает вместе с **VPN**? Отключите функцию **TUN** (Tunneling) в настройках VPN.
- Не работает **`service_goodbye_discord`**? Удостовертесь, что сервис goodbyedpi запущен и имеет название GoodbyeDPI. После снова запустите `service_goodbye_discord.bat` и перезапустите устройство.
- Попробуйте обновить бинарники с оригинального репозитория.

### Остановка и удаление обхода
Для этого запустите **`service_remove.bat`**.
- Если WinDivert так и не удалился, узнайте его название с помощью команды `driverquery | find "Divert"` в cmd, а затем удалите данными командами (заместо WinDivert введите название, которые вы узнали):
```
sc stop WinDivert
sc delete WinDivert
```

### Добавление дополнительных адресов заблокированных сайтов
- Список можно дополнить используя `list-general.txt` (для файлов `general`) и в список `list-discord` (для файлов `discord`).
> [!IMPORTANT]
> После добавления сервис нужно перезапустить.
## 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)
* 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: (сверху справа репозитория)!
Также, вы можете поддержать разработчика [оригинального репозитория 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">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Flowseal/zapret-discord-youtube&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Flowseal/zapret-discord-youtube&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Flowseal/zapret-discord-youtube&type=Date" />
</picture>
</a>

## Credits & Contributors
<p align="left">
<a href="https://github.com/Flowseal/zapret-discord-youtube/graphs/contributors">
<img src="https://contrib.rocks/image?repo=Flowseal/zapret-discord-youtube" />
</a>
</p>

* Many thanks to [bol-van](https://github.com/bol-van/), creator of original [zapret](https://github.com/bol-van/zapret/) repository.
20 changes: 20 additions & 0 deletions [1] - Запустить (в ручную).bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
@echo off
chcp 65001 >nul

set scriptPath=%~dp0
set "path_no_spaces=%scriptPath: =%"
if not "%scriptPath%"=="%path_no_spaces%" (
echo Путь содержит пробелы.
echo Пожалуйста, переместите скрипт в директорию без пробелов.
pause
exit /b
)

set BIN=%~dp0bin\

start "ЛЮБЛЮ РКН =)" /min "%BIN%winws.exe" ^
--wf-tcp=80,443 --wf-udp=443,50000-65535 ^
--filter-udp=443 --hostlist="%~dp0list-general.txt" --dpi-desync=fake --dpi-desync-udplen-increment=10 --dpi-desync-repeats=6 --dpi-desync-udplen-pattern=0xDEADBEEF --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-65535 --dpi-desync=fake,tamper --dpi-desync-any-protocol --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80 --hostlist="%~dp0list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist="%~dp0list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin"
32 changes: 32 additions & 0 deletions [2] - Запустить (автоматически).bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
@echo off
chcp 65001 >nul

set scriptPath=%~dp0
set "path_no_spaces=%scriptPath: =%"
if not "%scriptPath%"=="%path_no_spaces%" (
echo Путь содержит пробелы.
echo Пожалуйста, переместите скрипт в директорию без пробелов.
pause
exit /b
)

echo Данный файл должен быть запущен с правами администратора (ПКМ -> Запустить от имени администратора).
echo Нажмите любую клавишу, чтобы продолжить создание сервиса.
pause

set BIN=%~dp0bin\
set ARGS=--wf-tcp=80,443 --wf-udp=443,50000-65535 ^
--filter-udp=443 --hostlist=\"%~dp0list-general.txt\" --dpi-desync=fake --dpi-desync-udplen-increment=10 --dpi-desync-repeats=6 --dpi-desync-udplen-pattern=0xDEADBEEF --dpi-desync-fake-quic=\"%BIN%quic_initial_www_google_com.bin\" --new ^
--filter-udp=50000-65535 --dpi-desync=fake,tamper --dpi-desync-any-protocol --dpi-desync-fake-quic=\"%BIN%quic_initial_www_google_com.bin\" --new ^
--filter-tcp=80 --hostlist=\"%~dp0list-general.txt\" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
--filter-tcp=443 --hostlist=\"%~dp0list-general.txt\" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --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 : winws1" start= auto
sc description "%SRVCNAME%" "zapret DPI bypass software"
sc start "%SRVCNAME%"

pause
23 changes: 23 additions & 0 deletions [3] - Удалить автоматический запуск.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
@echo off
chcp 65001 >nul

set scriptPath=%~dp0
set "path_no_spaces=%scriptPath: =%"
if not "%scriptPath%"=="%path_no_spaces%" (
echo Путь содержит пробелы.
echo Пожалуйста, переместите скрипт в директорию без пробелов.
pause
exit /b
)

:: Admin rights check
echo Данный файл должен быть запущен с правами администратора (ПКМ -> Запустить от имени администратора).
echo Нажмите любую клавишу, чтобы продолжить удаление и остановку сервиса.
pause

set SRVCNAME=zapret

net stop "%SRVCNAME%"
sc delete "%SRVCNAME%"

pause
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
@echo off
setlocal EnableDelayedExpansion
chcp 437 > nul

:: Установить кодировку консоли для русских символов
chcp 65001 > nul

:: Основные настройки
set "CURRENT_VERSION=1.6.1"
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"
Expand All @@ -11,23 +14,21 @@ 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"
Expand All @@ -42,41 +43,40 @@ if "%~1"=="soft" (
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
echo Пропускается проверка обновлений, так как прошло менее 6 часов.
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 Erorr reading new version
echo Ошибка при чтении новой версии.
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%.
echo Вы используете последнюю версию: %NEW_VERSION%.
goto :EOF
) else (
:: Check if version skipped
if "%NEW_VERSION%"=="%SKIP_VERSION%" (
echo Newer version %NEW_VERSION% skipped by user.
echo Новая версия %NEW_VERSION% пропущена пользователем.
goto :EOF
) else (
echo New version found: %NEW_VERSION%.
echo Visit %RELEASE_URL% to download a new version
echo Обнаружена новая версия: %NEW_VERSION%.
echo Посетите %RELEASE_URL%, чтобы скачать новую версию.
)
)

:: Skip check
set /p "CHOICE=Skip this update? (y/n, default: n): " || set "CHOICE=n"
:: Диалог с пользователем
set /p "CHOICE=Пропустить это обновление? (y/n, default: n): " || set "CHOICE=n"
set "CHOICE=!CHOICE:~0,1!"
if /i "!CHOICE!"=="y" (
echo skip: %NEW_VERSION%>> %VERSION_FILE%
Expand Down
14 changes: 0 additions & 14 deletions discord.bat

This file was deleted.

15 changes: 0 additions & 15 deletions general (ALT).bat

This file was deleted.

15 changes: 0 additions & 15 deletions general (ALT2).bat

This file was deleted.

15 changes: 0 additions & 15 deletions general (ALT3).bat

This file was deleted.

15 changes: 0 additions & 15 deletions general (ALT4).bat

This file was deleted.

Loading

0 comments on commit ce97928

Please sign in to comment.