32 Commits
1.9.7 ... 1.7.0

Author SHA1 Message Date
Flowseal
08c9e3837c Version bump 2025-04-11 01:21:05 +03:00
Flowseal
0cc18ac9b5 Added cloudflare bypass switcher 2025-04-11 01:20:34 +03:00
Flowseal
7df7a2647f Lists moved to separate folder 2025-04-11 00:18:42 +03:00
Flowseal
46b5d076d0 Merge pull request #1986 from V3nilla/main
Add FAKE TLS MOD ALT
2025-04-07 22:40:38 +03:00
lxstwxrden
5605bc6b32 Merge branch 'Flowseal:main' into main 2025-04-06 21:26:25 +04:00
Flowseal
e2cfb0d642 Version bump 2025-04-04 21:29:51 +03:00
Flowseal
da26f27c3d Removed extra paddings 2025-04-04 21:29:38 +03:00
Flowseal
34dd7d4386 Auto close cmd after finish 2025-04-04 21:27:53 +03:00
Flowseal
7cdaf792ab Default strategies update 2025-04-04 21:17:04 +03:00
Flowseal
a5efedaeeb Functional fix for service statuses 2025-04-04 21:06:43 +03:00
Flowseal
cafbab54af Cosmetic fixes 2025-04-04 21:05:28 +03:00
Flowseal
240a2f0c89 Merge pull request #2049 from serpen7/patch-1
Update ipset-discord.txt from original repository https://github.com/bol-van/zapret-win-bundle/blob/master/zapret-winws/files/ipset-discord.txt
2025-04-04 12:18:11 +03:00
serpen7
404e25bce7 Update ipset-discord.txt from original repository https://github.com/bol-van/zapret-win-bundle/blob/master/zapret-winws/files/ipset-discord.txt
Апдейт сету IP адресов дискорда из оригинального репозитория. Чтобы уменьшить влияние запрета на сторонние сервисы, которые находятся на смежных IP адресах. Возможно отпустит некоторые игровые сервисы где люди жалуются на пинги и прочее якобы из-за запрета.
2025-04-04 10:09:34 +03:00
lxstwxrden
aa5e3e921d Merge branch 'Flowseal:main' into main 2025-04-03 16:17:19 +04:00
Flowseal
cd2d802cd0 Merge pull request #1978 from EgorWeders/patch-1
Добавляет вывод о проверке статуса сервисов
2025-04-03 14:00:02 +03:00
ZmrdWeders
17d7151568 Adds output for more info 2025-04-03 11:11:59 +07:00
lxstwxrden
fbd39482e7 Idk why it disappeared 2025-04-03 03:07:43 +04:00
lxstwxrden
e66c448938 Add FAKE TLS MOD ALT 2025-04-02 13:41:20 +04:00
ZmrdWeders
f4fe5f7bb1 Fixes mistype 2025-04-02 16:07:47 +07:00
ZmrdWeders
4d3dca5dc2 Adds output for services status check 2025-04-02 16:05:57 +07:00
Flowseal
553e967484 Version bump 2025-04-01 20:03:13 +03:00
Flowseal
3bc24b4271 Merge pull request #1845 from fridorin/main
Update tls_clienthello_www_google_com.bin and winws.exe
2025-04-01 20:01:10 +03:00
Flowseal
6e7a0332ed Merge pull request #1916 from V3nilla/main
Добавлен Cloudflare
2025-04-01 19:56:38 +03:00
lxstwxrden
60993af089 fix mistake 2025-04-01 12:25:41 +04:00
lxstwxrden
b7d7bf266c Cloudflare Fix 2025-04-01 11:43:36 +04:00
Flowseal
6d17b7e69d Update list-general.txt 2025-03-30 17:17:28 +03:00
Flowseal
0662981dda Merge pull request #1857 from burnedoutman/main
Update ipset-discord.txt
2025-03-29 18:20:58 +03:00
burnedoutman
6e870efff4 Update ipset-discord.txt
сегодня не подключалось аудио, нашёл в логах что ломилось на [2025-03-28 21:57:43.658] [info]  [Connection(default)] Creating connection to 35.217.63.43:50007 with audio ssrc: 208916
2025-03-29 02:09:17 +07:00
fridorin
4968f64202 Merge branch 'Flowseal:main' into main 2025-03-27 16:34:15 +03:00
Flowseal
04dd53e351 Merge pull request #1823 from kartavkun/main
add ffz and bttv
2025-03-27 11:30:30 +03:00
fridorin
351c000cb2 Update winws.exe
new version from 5a60c54094
2025-03-26 18:43:14 +03:00
fridorin
f4980f1a31 Update tls_clienthello_www_google_com.bin
new version from 5a60c54094
2025-03-26 18:42:47 +03:00
56 changed files with 869 additions and 34441 deletions

2
.gitattributes vendored
View File

@@ -1,2 +0,0 @@
*.bat text eol=crlf
*.ps1 text eol=crlf

View File

@@ -1,38 +0,0 @@
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: additions
attributes:
label: Дополнительные детали
description: Дополнительные детали о которых нам нужно знать

View File

@@ -1,54 +0,0 @@
name: Auto comment on new issues
on:
issues:
types: [opened]
permissions:
issues: write
jobs:
comment:
runs-on: ubuntu-latest
steps:
- name: Comment on new issue
uses: peter-evans/create-or-update-comment@v5
with:
issue-number: ${{ github.event.issue.number }}
body: |
# Пожалуйста, ознакомьтесь с README. В нем есть ответы на распространенные вопросы и описания файлов: [README.md](https://github.com/Flowseal/zapret-discord-youtube/blob/main/README.md)
### Прежде всего
- Запустите `service.bat` и выберите пункт `Run Diagnostics`, чтобы проверить на конфликтующие сервисы.
- Если у вас проблемы с запуском Discord, то в конце согласитесь на очистку кэша.
- Проверьте обновление **Hosts File** (в `service.bat`).
- Если не работает / перестала работать стратегия, то попробуйте другие.
- Если у вас проблемы с чем-то, что корректно работает без zapret, то убедитесь, что `Game Filter` (disabled) в `service.bat`. Если это не помогло, то в `service.bat` выберите `IPSet Filter`, чтобы он стал (none)
##
### Проблемы с файлами? (не открываются / нет стратегий в Install Service и т.д.)
- Если открывается `service.bat`, то:
- `service.bat` -> `Remove Services`
- `service.bat` -> `Run Diagnostics` (если есть ошибки - устраните их) -> в конце Y
- Убедитесь, что процесс winws.exe не запщуен (выключите его, если запущен)
- Удалите папку с запретом
- Перезапустите устройство
- Скачайте последнюю версию [со страницы релизов](https://github.com/Flowseal/zapret-discord-youtube/releases) (`zapret-discord-youtube-...`)
- Нажмите пкм по архиву -> свойства. Если снизу справа есть галочка разблокировать, то нажмите на неё -> применить -> ОК
- Распакуйте в новую папку в корне диска (без спец. символов, кириллицы и пробелов)
- Откройте service.bat -> Run Tests -> Standard -> All. В конце он выведет лучшую стратегию
- Как найдёте рабочую стратегию, можете поставить её на автозапуск: `service.bat` -> `Install Service` -> выбираете нужную
##
### Не работает игра / сервис / сайт?
- Проверьте работоспособность без обхода:
- **Работает:**
- Домен можно удалить в `lists/list-general.txt`, если он там присутствует
Либо же добавить домен в `lists/list-exclude.txt` (*поддомены автоматически учитываются*)
- Попробуйте выключить `Game Filter` в `service.bat` (требуется перезапуск обхода или переустановка сервиса) и `IPSet Filter` (чтобы стал **none**)
- **Не работает: пробуйте другие стратегии.** Если не помогло, то:
*Если это сайт*, то добавьте домен в `lists/list-general.txt` (поддомены автоматически учитываются).
*Если это игра*, то попробуйте включить `Game Filter` и `IPSet Filter` (чтобы стал **load**, если не поможет то **any**) в `service.bat` (требуется перезапуск обхода или переустановка сервиса).
**Пробуйте разные стратегии после внесения изменений в случае, если это не сработало**

View File

@@ -1,30 +0,0 @@
name: Close stale issues
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
permissions:
actions: write
issues: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v10.1.1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 60
days-before-close: 7
stale-issue-message: '⏳ Issue помечена как неактивная. Она будет закрыта через 7 дней, если не появится новых комментариев.'
close-issue-message: '❌ Issue автоматически закрыта из-за отсутствия активности. Откройте снова при необходимости.'
days-before-pr-stale: -1
days-before-pr-close: -1
exempt-issue-labels: 'pinned,games'
remove-stale-when-updated: true
operations-per-run: 4500

5
.gitignore vendored
View File

@@ -1,5 +0,0 @@
/utils/test results
/utils/game_filter.enabled
/lists/ipset-exclude-user.txt
/lists/list-general-user.txt
/lists/list-exclude-user.txt

View File

@@ -1,237 +0,0 @@
149.154.167.220 telegram.me
149.154.167.220 telegram.dog
149.154.167.220 telegram.space
149.154.167.220 telesco.pe
149.154.167.220 tg.dev
149.154.167.220 kws2.web.telegram.org
149.154.167.220 kws2-1.web.telegram.org
149.154.167.220 kws1-1.web.telegram.org
149.154.167.220 kws1.web.telegram.org
149.154.167.220 telegram.org
149.154.167.220 t.me
149.154.167.220 telegram.me
149.154.167.220 tg.dev
149.154.167.220 telesco.pe
149.154.167.220 api.telegram.org
149.154.167.220 pluto.web.telegram.org
149.154.167.220 pluto-1.web.telegram.org
149.154.167.220 flora.web.telegram.org
149.154.167.220 td.telegram.org
149.154.167.220 venus.web.telegram.org
149.154.167.220 web.telegram.org
149.154.167.220 kws1-1.web.telegram.org
149.154.167.220 kws1.web.telegram.org
149.154.167.220 kws2-1.web.telegram.org
149.154.167.220 kws2.web.telegram.org
149.154.167.220 kws4-1.web.telegram.org
149.154.167.220 kws4.web.telegram.org
149.154.167.220 kws5-1.web.telegram.org
149.154.167.220 kws5.web.telegram.org
149.154.167.220 zws1-1.web.telegram.org
149.154.167.220 zws1.web.telegram.org
149.154.167.220 zws2-1.web.telegram.org
149.154.167.220 zws2.web.telegram.org
149.154.167.220 zws4-1.web.telegram.org
149.154.167.220 zws5-1.web.telegram.org
149.154.167.220 zws5.web.telegram.org
104.25.158.178 finland10000.discord.media
104.25.158.178 finland10001.discord.media
104.25.158.178 finland10002.discord.media
104.25.158.178 finland10003.discord.media
104.25.158.178 finland10004.discord.media
104.25.158.178 finland10005.discord.media
104.25.158.178 finland10006.discord.media
104.25.158.178 finland10007.discord.media
104.25.158.178 finland10008.discord.media
104.25.158.178 finland10009.discord.media
104.25.158.178 finland10010.discord.media
104.25.158.178 finland10011.discord.media
104.25.158.178 finland10012.discord.media
104.25.158.178 finland10013.discord.media
104.25.158.178 finland10014.discord.media
104.25.158.178 finland10015.discord.media
104.25.158.178 finland10016.discord.media
104.25.158.178 finland10017.discord.media
104.25.158.178 finland10018.discord.media
104.25.158.178 finland10019.discord.media
104.25.158.178 finland10020.discord.media
104.25.158.178 finland10021.discord.media
104.25.158.178 finland10022.discord.media
104.25.158.178 finland10023.discord.media
104.25.158.178 finland10024.discord.media
104.25.158.178 finland10025.discord.media
104.25.158.178 finland10026.discord.media
104.25.158.178 finland10027.discord.media
104.25.158.178 finland10028.discord.media
104.25.158.178 finland10029.discord.media
104.25.158.178 finland10030.discord.media
104.25.158.178 finland10031.discord.media
104.25.158.178 finland10032.discord.media
104.25.158.178 finland10033.discord.media
104.25.158.178 finland10034.discord.media
104.25.158.178 finland10035.discord.media
104.25.158.178 finland10036.discord.media
104.25.158.178 finland10037.discord.media
104.25.158.178 finland10038.discord.media
104.25.158.178 finland10039.discord.media
104.25.158.178 finland10040.discord.media
104.25.158.178 finland10041.discord.media
104.25.158.178 finland10042.discord.media
104.25.158.178 finland10043.discord.media
104.25.158.178 finland10044.discord.media
104.25.158.178 finland10045.discord.media
104.25.158.178 finland10046.discord.media
104.25.158.178 finland10047.discord.media
104.25.158.178 finland10048.discord.media
104.25.158.178 finland10049.discord.media
104.25.158.178 finland10050.discord.media
104.25.158.178 finland10051.discord.media
104.25.158.178 finland10052.discord.media
104.25.158.178 finland10053.discord.media
104.25.158.178 finland10054.discord.media
104.25.158.178 finland10055.discord.media
104.25.158.178 finland10056.discord.media
104.25.158.178 finland10057.discord.media
104.25.158.178 finland10058.discord.media
104.25.158.178 finland10059.discord.media
104.25.158.178 finland10060.discord.media
104.25.158.178 finland10061.discord.media
104.25.158.178 finland10062.discord.media
104.25.158.178 finland10063.discord.media
104.25.158.178 finland10064.discord.media
104.25.158.178 finland10065.discord.media
104.25.158.178 finland10066.discord.media
104.25.158.178 finland10067.discord.media
104.25.158.178 finland10068.discord.media
104.25.158.178 finland10069.discord.media
104.25.158.178 finland10070.discord.media
104.25.158.178 finland10071.discord.media
104.25.158.178 finland10072.discord.media
104.25.158.178 finland10073.discord.media
104.25.158.178 finland10074.discord.media
104.25.158.178 finland10075.discord.media
104.25.158.178 finland10076.discord.media
104.25.158.178 finland10077.discord.media
104.25.158.178 finland10078.discord.media
104.25.158.178 finland10079.discord.media
104.25.158.178 finland10080.discord.media
104.25.158.178 finland10081.discord.media
104.25.158.178 finland10082.discord.media
104.25.158.178 finland10083.discord.media
104.25.158.178 finland10084.discord.media
104.25.158.178 finland10085.discord.media
104.25.158.178 finland10086.discord.media
104.25.158.178 finland10087.discord.media
104.25.158.178 finland10088.discord.media
104.25.158.178 finland10089.discord.media
104.25.158.178 finland10090.discord.media
104.25.158.178 finland10091.discord.media
104.25.158.178 finland10092.discord.media
104.25.158.178 finland10093.discord.media
104.25.158.178 finland10094.discord.media
104.25.158.178 finland10095.discord.media
104.25.158.178 finland10096.discord.media
104.25.158.178 finland10097.discord.media
104.25.158.178 finland10098.discord.media
104.25.158.178 finland10099.discord.media
104.25.158.178 finland10100.discord.media
104.25.158.178 finland10101.discord.media
104.25.158.178 finland10102.discord.media
104.25.158.178 finland10103.discord.media
104.25.158.178 finland10104.discord.media
104.25.158.178 finland10105.discord.media
104.25.158.178 finland10106.discord.media
104.25.158.178 finland10107.discord.media
104.25.158.178 finland10108.discord.media
104.25.158.178 finland10109.discord.media
104.25.158.178 finland10110.discord.media
104.25.158.178 finland10111.discord.media
104.25.158.178 finland10112.discord.media
104.25.158.178 finland10113.discord.media
104.25.158.178 finland10114.discord.media
104.25.158.178 finland10115.discord.media
104.25.158.178 finland10116.discord.media
104.25.158.178 finland10117.discord.media
104.25.158.178 finland10118.discord.media
104.25.158.178 finland10119.discord.media
104.25.158.178 finland10120.discord.media
104.25.158.178 finland10121.discord.media
104.25.158.178 finland10122.discord.media
104.25.158.178 finland10123.discord.media
104.25.158.178 finland10124.discord.media
104.25.158.178 finland10125.discord.media
104.25.158.178 finland10126.discord.media
104.25.158.178 finland10127.discord.media
104.25.158.178 finland10128.discord.media
104.25.158.178 finland10129.discord.media
104.25.158.178 finland10130.discord.media
104.25.158.178 finland10131.discord.media
104.25.158.178 finland10132.discord.media
104.25.158.178 finland10133.discord.media
104.25.158.178 finland10134.discord.media
104.25.158.178 finland10135.discord.media
104.25.158.178 finland10136.discord.media
104.25.158.178 finland10137.discord.media
104.25.158.178 finland10138.discord.media
104.25.158.178 finland10139.discord.media
104.25.158.178 finland10140.discord.media
104.25.158.178 finland10141.discord.media
104.25.158.178 finland10142.discord.media
104.25.158.178 finland10143.discord.media
104.25.158.178 finland10144.discord.media
104.25.158.178 finland10145.discord.media
104.25.158.178 finland10146.discord.media
104.25.158.178 finland10147.discord.media
104.25.158.178 finland10148.discord.media
104.25.158.178 finland10149.discord.media
104.25.158.178 finland10150.discord.media
104.25.158.178 finland10151.discord.media
104.25.158.178 finland10152.discord.media
104.25.158.178 finland10153.discord.media
104.25.158.178 finland10154.discord.media
104.25.158.178 finland10155.discord.media
104.25.158.178 finland10156.discord.media
104.25.158.178 finland10157.discord.media
104.25.158.178 finland10158.discord.media
104.25.158.178 finland10159.discord.media
104.25.158.178 finland10160.discord.media
104.25.158.178 finland10161.discord.media
104.25.158.178 finland10162.discord.media
104.25.158.178 finland10163.discord.media
104.25.158.178 finland10164.discord.media
104.25.158.178 finland10165.discord.media
104.25.158.178 finland10166.discord.media
104.25.158.178 finland10167.discord.media
104.25.158.178 finland10168.discord.media
104.25.158.178 finland10169.discord.media
104.25.158.178 finland10170.discord.media
104.25.158.178 finland10171.discord.media
104.25.158.178 finland10172.discord.media
104.25.158.178 finland10173.discord.media
104.25.158.178 finland10174.discord.media
104.25.158.178 finland10175.discord.media
104.25.158.178 finland10176.discord.media
104.25.158.178 finland10177.discord.media
104.25.158.178 finland10178.discord.media
104.25.158.178 finland10179.discord.media
104.25.158.178 finland10180.discord.media
104.25.158.178 finland10181.discord.media
104.25.158.178 finland10182.discord.media
104.25.158.178 finland10183.discord.media
104.25.158.178 finland10184.discord.media
104.25.158.178 finland10185.discord.media
104.25.158.178 finland10186.discord.media
104.25.158.178 finland10187.discord.media
104.25.158.178 finland10188.discord.media
104.25.158.178 finland10189.discord.media
104.25.158.178 finland10190.discord.media
104.25.158.178 finland10191.discord.media
104.25.158.178 finland10192.discord.media
104.25.158.178 finland10193.discord.media
104.25.158.178 finland10194.discord.media
104.25.158.178 finland10195.discord.media
104.25.158.178 finland10196.discord.media
104.25.158.178 finland10197.discord.media
104.25.158.178 finland10198.discord.media
104.25.158.178 finland10199.discord.media

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
1.9.7
1.7.0

View File

@@ -1,7 +1,7 @@
MIT License
Copyright (c) 2016-2026 bol-van
Copyright (c) 2024-2026 Flowseal
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

155
README.md
View File

@@ -2,136 +2,88 @@
# <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=28 /> <a href="https://github.com/Flowseal/">Flowseal</a><a href="https://github.com/Flowseal/zapret-discord-youtube">/zapret-discord-youtube</a> <img src="https://cdn-icons-png.flaticon.com/128/1384/1384060.png" height=28 />
Альтернатива https://github.com/bol-van/zapret-win-bundle
Также вы можете материально поддержать оригинального разработчика zapret [тут](https://github.com/bol-van/zapret?tab=readme-ov-file#%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D1%82%D1%8C-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0)
*"Plug & Play"* обход блокировок <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=15 /> Discord и <img src="https://cdn-icons-png.flaticon.com/128/1384/1384060.png" height=15 /> YouTube для Windows
Альтернатива https://github.com/bol-van/zapret-win-bundle
</div>
> [!CAUTION]
>
> ### ФЕЙКИ
> Я не веду никакие другие страницы/группы в телеграм/ютуб каналы
> Если вы наткнулись на что-то вне этой страницы гитхаба, что распространяется от моего лица - **ФЕЙК**.
> [!WARNING]
>
> ### АНТИВИРУСЫ
> 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)*
>
> Некоторые антивирусы склонны относить файлы WinDivert к классам повышенного риска или хакерским инструментам. Происходит удаление файла и помещение его в карантин. При этом детект обязательно имеет название `WinDivert` или `Not-a-virus:RiskTool.Multi.WinDivert`
>
> В случае проблем с антивирусом добавьте папку с запретом в исключения, либо отключите детектирование PUA (потенциально нежелательных приложений). Например, в касперском есть галочка "Обнаруживать легальные приложения, которые злоумышленники часто используют для нанесения вреда". При аккуратной и правильной настройке исключений - рекомендуется настроить исключение, но если вы не до конца понимаете что делаете - рекомендуется отключить детект PUA.
> [!IMPORTANT]
> Все бинарные файлы в папке [`bin`](./bin) взяты из [zapret-win-bundle/zapret-winws](https://github.com/bol-van/zapret-win-bundle/tree/master/zapret-winws). Вы можете это проверить с помощью хэшей/контрольных сумм. Проверяйте, что запускаете, используя сборки из интернета!
> Все файлы в папке [`bin`](./bin) взяты из [zapret-win-bundle/zapret-winws](https://github.com/bol-van/zapret-win-bundle/tree/master/zapret-winws). Вы можете это проверить с помощью хэшей/контрольных сумм.
## ⚙️Использование
1. Включите Secure DNS
* В Chrome - "Использовать безопасный DNS", и выбрать поставщика услуг DNS (выбрать вариант, отличный от поставщика по умолчанию)
* В Firefox - "Включить DNS через HTTPS, используя: Максимальную защиту", затем "Выбрать поставщика" и вписать URL поставщика вручную, например можно использовать `https://dns.google/dns-query` (т.к. поставщик Cloudflare может быть заблокирован)
* В Windows 11 поддерживается включение Secure DNS прямо в настройках ОС - [инструкция тут](https://www.howtogeek.com/765940/how-to-enable-dns-over-https-on-windows-11/). Рекомендуется, если вы пользуетесь Windows 11
1. Загрузите архив (zip/rar) со [страницы последнего релиза](https://github.com/Flowseal/zapret-discord-youtube/releases/latest)
2. Скачайте архив (zip/rar) со [страницы последнего релиза](https://github.com/Flowseal/zapret-discord-youtube/releases/latest)
2. Распакуйте содержимое архива по пути, который не содержит кириллицу/спец. символы
3. Зайдите в свойства скачанного архива и поставьте галочку "Разблокировать". Если вы используете архиватор 7-Zip или PeaZip, этот шаг можно пропустить
4. Распакуйте содержимое архива по пути, который не содержит кириллицу/спец. символы
5. Запустите нужный файл
3. Запустите нужный файл
## ℹ️Краткие описания файлов
- [**`general.bat ...`**](./general.bat) - запуск стратегии вручную
- [**`discord.bat`**](./discord.bat) - запуск со стратегией для обхода блокировки <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=15 /> Discord
Запуск вручную можно использовать для проверки работоспособности стратегий. Работоспособность той или иной стратегии зависит от многих факторов. **Пробуйте разные стратегии (ALT, FAKE и другие), пока не найдёте рабочее для вас решение**
- [**`general.bat`**](./general.bat) - запуск со стратегией для обхода блокировок <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=15 /> Discord и <img src="https://cdn-icons-png.flaticon.com/128/1384/1384060.png" height=12 /> YouTube
- [**`service.bat`**](./service.bat) - установка в автозапуск и другие функции:
- <ins>**`Install Service`** - установка любой стратегии в автозапуск (services.msc)</ins>
- **`Remove Services`** - удаление стратегии и WinDivert из служб
- **`Check Status`** - проверка статуса обхода и служб (стратегии на автозапуске и WinDivert)
- **`Game Filter`** - переключение режима обхода для игр (и других сервисов, использующих UDP и TCP на портах выше 1023).
**После переключения требуется перезапуск стратегии.**
В скобках указан текущий статус (включено/выключено).
- **`IPSet Filter`** - переключение режима обхода сервисов из `ipset-all.txt`.
Полезно при тестировании, если не работает ресурс, который без zapret работает
В скобках указан текущий статус:
- `none` - никакие айпи не попадают под проверку
- `loaded` - айпи проверяется на вхождение в список
- `any` - любой айпи попадает под фильтр
- **`Auto-Update Check`** - Вкл/Выкл автоматическую проверку на обновления
- **`Update IPSet List`** - обновление списка `ipset-all.txt` актуальным из репозитория
- **`Update Hosts File`** - обновление файла hosts <ins>**для починки веб версии телеграма и подключения к голосовому чату Discord**</ins>
- **`Check for Updates`** - проверка на обновления
- **`Run Diagnostics`** - диагностика на распространённые причины, по которым zapret может не работать.
В конце можно очистить кэш <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=11 /> `Discord`, что может помочь, если он неожиданно перестал работать
- **`Run Tests`** - запуск утилиты для проверки стратегий на работоспособность:
- `Standard tests` - проверка сайтов из `utils/targets.txt`
- `DPI checkers` - проверка DPI на различных провайдерах (Cloudflare, Amazon и др.)
- [**`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`
### После запуска скрипта `general*` ничего не происходит
- [**`service_status.bat`**](./service_status.bat) - проверка состояния служб `zapret` и `WinDivert`
- После запуска стратегии (отдельным bat файлом, не через service), должен открыться winws.exe (обход), который можно увидеть в панели задач.
Если этого не произошло, то см. [#522](https://github.com/Flowseal/zapret-discord-youtube/issues/522)
- [**`check_updates.bat`**](./check_updates.bat) - проверка обновлений
### Не работает телеграм (веб версия) или бесконечное "подключение" к голосовому чату Discord
Запустите **`service.bat`**, выберите пункт **`Update hosts file`**. После чего, если ваш hosts будет неактуальным, то Вам будет предложено обновить его самостоятельно:
- Скопируйте весь текст из открывшегося блокнота
- Откройте файл `hosts` в появившейся папке с помощью текстового редактора, открытого от имени администратора
- Добавьте в конец файла `hosts` то, что скопировали (или замените, если до этого Вы уже добавляли подобное)
- Сохраните и перепроверьте подключение. Если не работает - убедитесь, что файл `hosts` действительно сохранился.
## ☑️Распространенные проблемы
### Обход не работает / перестал работать
### Не работает <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=18 /> Discord
- См. [#252](https://github.com/Flowseal/zapret-discord-youtube/discussions/252)
### Не работает <img src="https://cdn-icons-png.flaticon.com/128/1384/1384060.png" height=18 /> 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).
- Проверьте, чтобы не было ошибок в `service.bat` -> `Run Diagnostics`
- Проверьте другие стратегии (**`ALT`**/**`МГТС`**)
- Убедитесь, что адрес ресурса записан в списках доменов или IP
- Проверьте другие стратегии (**`ALT`**/**`FAKE`** и другие)
- Попробуйте полную переустановку (см. раздел ниже)
- Обновите файлы в папке [`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)
### Как переустановить/обновить полностью?
- Сохраните ресурсы/данные, которые вы сами добавляли
- Перезапустите устройство
- `service.bat` -> `Remove Services`
- `service.bat` -> `Run Diagnostics` (если есть ошибки - устраните их) -> в конце Y
- Удалите папку с запретом
- Скачайте последнюю версию [со страницы релизов](https://github.com/Flowseal/zapret-discord-youtube/releases) (`zapret-discord-youtube-...`)
- Нажмите пкм по архиву -> свойства. Если снизу справа есть галочка разблокировать, то нажмите на неё -> применить -> ОК
- Распакуйте в новую папку в корне диска (без спец. символов и пробелов)
- Далее пробуйте запускать различные `general` скрипты (стратегии). Проверьте доступность интернет ресурсов - если не работают, то закрывайте программу (в панели задач иконка замочка) и пробуйте другую стратегию
- Как найдёте рабочую стратегию, можете поставить её на автозапуск: `service.bat` -> `Install Service` -> выбираете нужную
### Файлы не запускаются
### Не работает игра/приложение с включённым запретом
- Проверьте, что в service.bat `Game Filter` **`disabled`**, а `IPSet Filter` **`none`**. Иначе это может затронуть доступность ресурсов, которых вы не ожидали.
### Античит ругается на WinDivert
- Прочитайте инструкцию тут - https://github.com/bol-van/zapret-win-bundle/tree/master/windivert-hide
- См. [#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)
### При удалении с помощью [**`service.bat`**](./service.bat), WinDivert остается в службах
### Не работает вместе с VPN
- Отключите функцию **TUN** (Tunneling) в настройках вашего VPN
### При удалении с помощью [**`service_remove.bat`**](./service_remove.bat), WinDivert остается в службах
1. Узнайте название службы с помощью команды, в командной строке Windows (Win+R, `cmd`):
@@ -142,42 +94,29 @@ driverquery | find "Divert"
2. Остановите и удалите службу командами:
```cmd
sc stop название_из_первогоага
sc stop {название, которые вы узнали в шаге 1}
sc delete название_из_первогоага
sc delete {название, которые вы узнали в шаге 1}
```
### Не работает <img src="https://cdn-icons-png.flaticon.com/128/1384/1384060.png" height=18 /> YouTube
- Убедитесь что вы настроили Secure DNS.
- Отключите блокировщик рекламы, известно что YouTube начал с ними бороться.
- Пробуйте все другие стратегии (если раньше работало, но перестало).
- См. также [#251](https://github.com/Flowseal/zapret-discord-youtube/discussions/251)
### Не работает <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=18 /> Discord
- Желательно сначала узнать, на какой стратегии открывается сайт YouTube. Запустите эту стратегию.
- Проверьте Discord в браузере: https://discord.com/app. В браузере работает? Если работает, то можете пользоваться в нём.
- Если Discord и в браузере не работает, убедитесь что вы настроили Secure DNS, и после этого ещё раз пробуйте все стратегии. Бывает такое, что на одной стратегии YouTube работает, а Discord нет.
- См. также [#252](https://github.com/Flowseal/zapret-discord-youtube/discussions/252)
### Не нашли своей проблемы
* Создайте её [тут](https://github.com/Flowseal/zapret-discord-youtube/issues)
## 🗒️Добавление адресов прочих ресурсов
## 🗒️Добавление адресов прочих заблокированных ресурсов
Список адресов для обхода можно расширить, добавляя их в:
- [`list-general.txt`](./lists/list-general.txt) для доменов (поддомены автоматически учитываются)
- [`list-exclude.txt`](./lists/list-exclude.txt) для исключения доменов (например, если айпи сети указан в `ipset-all.txt`, но конкретный домен из этой сети не надо фильтровать)
- [`ipset-all.txt`](./lists/ipset-all.txt) для IP и подсетей
- [`ipset-exclude.txt`](./lists/ipset-exclude.txt) для исключения IP и подсетей
Список блокирующихся адресов для обхода можно расширить, добавляя их в:
- [`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?tab=readme-ov-file#%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D1%82%D1%8C-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0)
Также, вы можете материально поддержать разработчика zapret [тут](https://github.com/bol-van/zapret/issues/590#issuecomment-2408866758)
<a href="https://star-history.com/#Flowseal/zapret-discord-youtube&Date">
<picture>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

37
check_updates.bat Normal file
View File

@@ -0,0 +1,37 @@
@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

50
cloudflare_switch.bat Normal file
View File

@@ -0,0 +1,50 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
:: Admin rights check
if "%1"=="admin" (
echo Started with admin rights
) else (
echo Requesting admin rights...
powershell -Command "Start-Process 'cmd.exe' -ArgumentList '/c \"\"%~f0\" admin\"' -Verb RunAs"
exit /b
)
set LISTS=%~dp0lists\
set FILE=%LISTS%ipset-cloudflare.txt
if not exist "%FILE%" (
echo Error! ipset-cloudflare.txt not found, path: %FILE%
goto :eof
)
findstr /C:"0.0.0.0" "%FILE%" >nul
if %ERRORLEVEL%==0 (
echo Enabling cloudflare bypass...
>"%FILE%" (
echo 173.245.48.0/20
echo 103.21.244.0/22
echo 103.22.200.0/22
echo 103.31.4.0/22
echo 141.101.64.0/18
echo 108.162.192.0/18
echo 190.93.240.0/20
echo 188.114.96.0/20
echo 197.234.240.0/22
echo 198.41.128.0/17
echo 162.158.0.0/15
echo 104.16.0.0/13
echo 104.24.0.0/14
echo 172.64.0.0/13
echo 131.0.72.0/22
)
) else (
echo Disabling cloudflare bypass...
>"%FILE%" (
echo 0.0.0.0/32
)
)
echo Done.
pause

16
discord.bat Normal file
View File

@@ -0,0 +1,16 @@
@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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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,23 +3,18 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
call service_status.bat zapret
call check_updates.bat soft
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
set BIN=%~dp0bin\
set LISTS=%~dp0lists\
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fooling=ts --dpi-desync-fakedsplit-pattern=0x00 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3
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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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"

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=none --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_4pda_to.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_4pda_to.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_4pda_to.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n4

View File

@@ -3,23 +3,18 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
call service_status.bat zapret
call check_updates.bat soft
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
set BIN=%~dp0bin\
set LISTS=%~dp0lists\
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=multisplit --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=multisplit --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --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-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --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=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2
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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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"

View File

@@ -3,23 +3,18 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
call service_status.bat zapret
call check_updates.bat soft
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
set BIN=%~dp0bin\
set LISTS=%~dp0lists\
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-hostfakesplit-mod=host=www.google.com,altorder=1 --dpi-desync-fooling=ts --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-hostfakesplit-mod=host=www.google.com,altorder=1 --dpi-desync-fooling=ts --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=ya.ru --dpi-desync-hostfakesplit-mod=host=ya.ru,altorder=1 --dpi-desync-fooling=ts --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-fake-tls-mod=rnd,dupsid,sni=ya.ru --dpi-desync-hostfakesplit-mod=host=ya.ru,altorder=1 --dpi-desync-fooling=ts --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=ya.ru --dpi-desync-hostfakesplit-mod=host=ya.ru,altorder=1 --dpi-desync-fooling=ts --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n4
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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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

View File

@@ -3,23 +3,18 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
call service_status.bat zapret
call check_updates.bat soft
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
set BIN=%~dp0bin\
set LISTS=%~dp0lists\
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=1000 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2
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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --dpi-desync-repeats=8 --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"

View File

@@ -4,20 +4,17 @@ chcp 65001 > nul
:: NOT RECOMMENDED
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
call service_status.bat zapret
call check_updates.bat soft
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
set BIN=%~dp0bin\
set LISTS=%~dp0lists\
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-l3=ipv4 --filter-tcp=80,443,2053,2083,2087,2096,8443 --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata,multidisorder --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata,multidisorder --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=14 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3
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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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 ^

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=multisplit --dpi-desync-split-pos=2,sniext+1 --dpi-desync-split-seqovl=679 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=multisplit --dpi-desync-split-pos=2,sniext+1 --dpi-desync-split-seqovl=679 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-pos=2,sniext+1 --dpi-desync-split-seqovl=679 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fake-tls-mod=none --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=hostfakesplit --dpi-desync-repeats=4 --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=www.google.com --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=hostfakesplit --dpi-desync-repeats=4 --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=www.google.com --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=hostfakesplit --dpi-desync-repeats=4 --dpi-desync-fooling=ts,md5sig --dpi-desync-hostfakesplit-mod=host=ozon.ru --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=hostfakesplit --dpi-desync-repeats=4 --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=ozon.ru --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=hostfakesplit --dpi-desync-repeats=4 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=ozon.ru --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,fakedsplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls=^! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls=^! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls=^! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls=^! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls=^! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2

View File

@@ -0,0 +1,20 @@
@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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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

View File

@@ -0,0 +1,20 @@
@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=8 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=50000-50100 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d4 --dpi-desync-repeats=8 --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

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=2 --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n5 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3

View File

@@ -1,25 +0,0 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fooling=ts --dpi-desync-fake-tls="%BIN%stun.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n3

20
general (МГТС).bat Normal file
View File

@@ -0,0 +1,20 @@
@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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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"

20
general (МГТС2).bat Normal file
View File

@@ -0,0 +1,20 @@
@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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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"

View File

@@ -3,23 +3,18 @@ chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
call service_status.bat zapret
call check_updates.bat soft
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
set BIN=%~dp0bin\
set LISTS=%~dp0lists\
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_4pda_to.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_4pda_to.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_4pda_to.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-cutoff=n2
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 --ipset="%LISTS%ipset-discord.txt" --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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

View File

@@ -1 +0,0 @@
203.0.113.113/32

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
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

325
lists/ipset-discord.txt Normal file
View File

@@ -0,0 +1,325 @@
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

View File

@@ -1,11 +0,0 @@
0.0.0.0/8
10.0.0.0/8
127.0.0.0/8
172.16.0.0/12
192.168.0.0/16
169.254.0.0/16
224.0.0.0/4
100.64.0.0/10
::1
fc00::/7
fe80::/10

25
lists/list-discord.txt Normal file
View File

@@ -0,0 +1,25 @@
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

View File

@@ -1,35 +0,0 @@
pusher.com
live-video.net
ttvnw.net
twitch.tv
mail.ru
citilink.ru
yandex.com
nvidia.com
donationalerts.com
vk.com
yandex.kz
mts.ru
multimc.org
ya.ru
dns-shop.ru
habr.com
3dnews.ru
sberbank.ru
ozon.ru
wildberries.ru
microsoft.com
microsoftonline.com
live.com
minecraft.net
xboxlive.com
akamaitechnologies.com
msi.com
2ip.ru
yandex.ru
boosty.to
tanki.su
lesta.ru
korabli.su
tanksblitz.ru
reg.ru

View File

@@ -1,20 +1,4 @@
cloudflare-ech.com
encryptedsni.com
cloudflareaccess.com
cloudflareapps.com
cloudflarebolt.com
cloudflareclient.com
cloudflareinsights.com
cloudflareok.com
cloudflarepartners.com
cloudflareportal.com
cloudflarepreview.com
cloudflareresolve.com
cloudflaressl.com
cloudflarestatus.com
cloudflarestorage.com
cloudflarestream.com
cloudflaretest.com
dis.gd
discord-attachments-uploads-prd.storage.googleapis.com
discord.app
@@ -38,10 +22,23 @@ discordmerch.com
discordpartygames.com
discordsays.com
discordsez.com
discordstatus.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
localizeapi.com

View File

@@ -1,17 +0,0 @@
yt3.ggpht.com
yt4.ggpht.com
yt3.googleusercontent.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

File diff suppressed because it is too large Load Diff

125
service_install.bat Normal file
View File

@@ -0,0 +1,125 @@
@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

24
service_remove.bat Normal file
View File

@@ -0,0 +1,24 @@
@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

36
service_status.bat Normal file
View File

@@ -0,0 +1,36 @@
@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

View File

@@ -1 +0,0 @@
ENABLED

View File

@@ -1,35 +0,0 @@
# targets.txt - endpoint list for zapret.ps1 tests
#
# Format:
# KeyName = "https://host..." -> Runs HTTP/TLS checks + ping
# KeyName = "PING:1.2.3.4" -> Ping only
#
# Keys must be a single word (letters/digits/underscore), because the
# script parses them as simple identifiers. You can add or remove lines.
### Discord
DiscordMain = "https://discord.com"
DiscordGateway = "https://gateway.discord.gg"
DiscordCDN = "https://cdn.discordapp.com"
DiscordUpdates = "https://updates.discord.com"
### YouTube
YouTubeWeb = "https://www.youtube.com"
YouTubeShort = "https://youtu.be"
YouTubeImage = "https://i.ytimg.com"
YouTubeVideoRedirect = "https://redirector.googlevideo.com"
### Google
GoogleMain = "https://www.google.com"
GoogleGstatic = "https://www.gstatic.com"
### Cloudflare
CloudflareWeb = "https://www.cloudflare.com"
CloudflareCDN = "https://cdnjs.cloudflare.com"
### Public DNS (PING-only)
CloudflareDNS1111 = "PING:1.1.1.1"
CloudflareDNS1001 = "PING:1.0.0.1"
GoogleDNS8888 = "PING:8.8.8.8"
GoogleDNS8844 = "PING:8.8.4.4"
Quad9DNS9999 = "PING:9.9.9.9"

View File

@@ -1,944 +0,0 @@
$hasErrors = $false
$rootDir = Split-Path $PSScriptRoot
$listsDir = Join-Path $rootDir "lists"
$utilsDir = Join-Path $rootDir "utils"
$resultsDir = Join-Path $utilsDir "test results"
if (-not (Test-Path $resultsDir)) { New-Item -ItemType Directory -Path $resultsDir | Out-Null }
# Define functions early
function Get-IpsetStatus {
$listFile = Join-Path $listsDir "ipset-all.txt"
if (-not (Test-Path $listFile)) { return "none" }
$lineCount = (Get-Content $listFile | Measure-Object -Line).Lines
if ($lineCount -eq 0) { return "any" }
$hasDummy = Get-Content $listFile | Select-String -Pattern "203\.0\.113\.113/32" -Quiet
if ($hasDummy) { return "none" } else { return "loaded" }
}
function Set-IpsetMode {
param([string]$mode)
$listFile = Join-Path $listsDir "ipset-all.txt"
$backupFile = Join-Path $listsDir "ipset-all.test-backup.txt"
if ($mode -eq "any") {
# Always backup current file (even if none)
if (Test-Path $listFile) {
Copy-Item $listFile $backupFile -Force
} else {
# If none, create empty backup
"" | Out-File $backupFile -Encoding UTF8
}
# Make file empty
"" | Out-File $listFile -Encoding UTF8
} elseif ($mode -eq "restore") {
if (Test-Path $backupFile) {
Move-Item $backupFile $listFile -Force
}
}
}
trap {
Write-Host "[ERROR] Script interrupted. Restoring ipset..." -ForegroundColor Red
if ($originalIpsetStatus -and $originalIpsetStatus -ne "any") {
Set-IpsetMode -mode "restore"
}
Remove-Item -Path $ipsetFlagFile -ErrorAction SilentlyContinue
break
}
function New-OrderedDict { New-Object System.Collections.Specialized.OrderedDictionary }
function Add-OrSet {
param($dict, $key, $val)
if ($dict.Contains($key)) { $dict[$key] = $val } else { $dict.Add($key, $val) }
}
# Convert raw target value to structured target (supports PING:ip for ping-only targets)
function Convert-Target {
param(
[string]$Name,
[string]$Value
)
if ($Value -like "PING:*") {
$ping = $Value -replace '^PING:\s*', ''
$url = $null
$pingTarget = $ping
} else {
$url = $Value
$pingTarget = $url -replace "^https?://", "" -replace "/.*$", ""
}
return (New-Object PSObject -Property @{
Name = $Name
Url = $url
PingTarget = $pingTarget
})
}
# DPI checker defaults (override via MONITOR_* env vars like in monitor.ps1)
$dpiTimeoutSeconds = 5
$dpiRangeBytes = 262144
$dpiWarnMinKB = 14
$dpiWarnMaxKB = 22
$dpiMaxParallel = 8
$dpiCustomUrl = $env:MONITOR_URL
if ($env:MONITOR_TIMEOUT) { [int]$dpiTimeoutSeconds = $env:MONITOR_TIMEOUT }
if ($env:MONITOR_RANGE) { [int]$dpiRangeBytes = $env:MONITOR_RANGE }
if ($env:MONITOR_WARN_MINKB) { [int]$dpiWarnMinKB = $env:MONITOR_WARN_MINKB }
if ($env:MONITOR_WARN_MAXKB) { [int]$dpiWarnMaxKB = $env:MONITOR_WARN_MAXKB }
if ($env:MONITOR_MAX_PARALLEL) { [int]$dpiMaxParallel = $env:MONITOR_MAX_PARALLEL }
function Get-DpiSuite {
# Suite sourced from https://github.com/hyperion-cs/dpi-checkers (Apache-2.0 license)
# Original copyright retained from dpi-checkers repository
$url = "https://hyperion-cs.github.io/dpi-checkers/ru/tcp-16-20/suite.json"
try {
(Invoke-RestMethod -Uri $url -TimeoutSec $dpiTimeoutSeconds) |
Select-Object `
@{n='Id'; e={$_.id}},
@{n='Provider'; e={$_.provider}},
@{n='Url'; e={$_.url}},
@{n='Times'; e={$_.times}}
}
catch {
Write-Host "[WARN] Fetch dpi suite failed." -ForegroundColor Yellow
@()
}
}
function Build-DpiTargets {
param(
[string]$CustomUrl
)
$suite = Get-DpiSuite
$targets = @()
if ($CustomUrl) {
$targets += @{ Id = "CUSTOM"; Provider = "Custom"; Url = $CustomUrl }
} else {
foreach ($entry in $suite) {
$repeat = $entry.Times
if (-not $repeat -or $repeat -lt 1) { $repeat = 1 }
for ($i = 0; $i -lt $repeat; $i++) {
$suffix = ""
if ($repeat -gt 1) { $suffix = "@$i" }
$targets += @{ Id = "$($entry.Id)$suffix"; Provider = $entry.Provider; Url = $entry.Url }
}
}
}
return $targets
}
function Invoke-DpiSuite {
param(
[array]$Targets,
[int]$TimeoutSeconds,
[int]$RangeBytes,
[int]$WarnMinKB,
[int]$WarnMaxKB,
[int]$MaxParallel
)
$tests = @(
@{ Label = "HTTP"; Args = @("--http1.1") },
@{ Label = "TLS1.2"; Args = @("--tlsv1.2", "--tls-max", "1.2") },
@{ Label = "TLS1.3"; Args = @("--tlsv1.3", "--tls-max", "1.3") }
)
$rangeSpec = "0-$($RangeBytes - 1)"
$warnDetected = $false
Write-Host "[INFO] Targets: $($Targets.Count) (custom URL overrides suite). Range: $rangeSpec bytes; Timeout: $TimeoutSeconds s; Warn window: $WarnMinKB-$WarnMaxKB KB" -ForegroundColor Cyan
Write-Host "[INFO] Starting DPI TCP 16-20 checks (parallel: $MaxParallel)..." -ForegroundColor DarkGray
$runspacePool = [runspacefactory]::CreateRunspacePool(1, $MaxParallel)
$runspacePool.Open()
$scriptBlock = {
param($target, $tests, $rangeSpec, $TimeoutSeconds, $WarnMinKB, $WarnMaxKB)
$warned = $false
$lines = @()
foreach ($test in $tests) {
$curlArgs = @(
"-L",
"--range", $rangeSpec,
"-m", $TimeoutSeconds,
"-w", "%{http_code} %{size_download}",
"-o", "NUL",
"-s"
) + $test.Args + $target.Url
$output = & curl.exe @curlArgs 2>&1
$exit = $LASTEXITCODE
$text = ($output | Out-String).Trim()
$code = "NA"
$sizeBytes = 0
if ($text -match '^(?<code>\d{3})\s+(?<size>\d+)$') {
$code = $matches['code']
$sizeBytes = [int64]$matches['size']
} elseif (($exit -eq 35) -or ($text -match "not supported|does not support|protocol\s+'.+'\s+not\s+supported|protocol\s+.+\s+not\s+supported|unsupported protocol|TLS.not supported|Unrecognized option|Unknown option|unsupported option|unsupported feature|schannel|SSL")) {
$code = "UNSUP"
} elseif ($text) {
$code = "ERR"
}
$sizeKB = [math]::Round($sizeBytes / 1024, 1)
$status = "OK"
$color = "Green"
if ($code -eq "UNSUP") {
$status = "UNSUPPORTED"
$color = "Yellow"
} elseif ($exit -ne 0 -or $code -eq "ERR" -or $code -eq "NA") {
$status = "FAIL"
$color = "Red"
}
if (($sizeKB -ge $WarnMinKB) -and ($sizeKB -le $WarnMaxKB) -and ($exit -ne 0)) {
$status = "LIKELY_BLOCKED"
$color = "Yellow"
$warned = $true
}
$lines += [PSCustomObject]@{
TargetId = $target.Id
Provider = $target.Provider
TestLabel = $test.Label
Code = $code
SizeBytes = $sizeBytes
SizeKB = $sizeKB
Status = $status
Color = $color
Warned = $warned
}
}
return [PSCustomObject]@{
TargetId = $target.Id
Provider = $target.Provider
Lines = $lines
Warned = $warned
}
}
$runspaces = @()
foreach ($target in $Targets) {
$powershell = [powershell]::Create().AddScript($scriptBlock)
[void]$powershell.AddArgument($target)
[void]$powershell.AddArgument($tests)
[void]$powershell.AddArgument($rangeSpec)
[void]$powershell.AddArgument($TimeoutSeconds)
[void]$powershell.AddArgument($WarnMinKB)
[void]$powershell.AddArgument($WarnMaxKB)
$powershell.RunspacePool = $runspacePool
$runspaces += [PSCustomObject]@{
Powershell = $powershell
Handle = $powershell.BeginInvoke()
}
}
$results = @()
foreach ($rs in $runspaces) {
# Wait for the runspace to complete with a small grace period beyond curl's timeout
try {
$waitMs = ([int]$TimeoutSeconds + 5) * 1000
$handle = $rs.Handle
if ($handle -and $handle.AsyncWaitHandle) {
$completed = $handle.AsyncWaitHandle.WaitOne($waitMs)
if (-not $completed) {
Write-Host "[WARN] Runspace for target timed out after $waitMs ms; stopping runspace..." -ForegroundColor Yellow
try { $rs.Powershell.Stop() } catch {}
}
}
} catch {
# ignore wait errors and attempt to EndInvoke
}
try {
$results += $rs.Powershell.EndInvoke($rs.Handle)
} catch {
Write-Host "[WARN] EndInvoke failed for a runspace; treating as failure." -ForegroundColor Yellow
$failedLine = [PSCustomObject]@{
TestLabel = 'RUNSPACE'
Code = 'ERR'
SizeBytes = 0
SizeKB = 0
Status = 'FAIL'
Color = 'Red'
Warned = $false
}
$results += [PSCustomObject]@{ TargetId = 'UNKNOWN'; Provider = 'UNKNOWN'; Lines = @($failedLine); Warned = $false }
}
$rs.Powershell.Dispose()
}
$runspacePool.Close()
$runspacePool.Dispose()
foreach ($res in $results) {
Write-Host "`n=== $($res.TargetId) [$($res.Provider)] ===" -ForegroundColor DarkCyan
foreach ($line in $res.Lines) {
$msg = "[{0}][{1}] code={2} size={3} bytes ({4} KB) status={5}" -f $line.TargetId, $line.TestLabel, $line.Code, $line.SizeBytes, $line.SizeKB, $line.Status
Write-Host $msg -ForegroundColor $line.Color
if ($line.Status -eq "LIKELY_BLOCKED") {
Write-Host " Pattern matches 16-20KB freeze; censor likely cutting this strategy." -ForegroundColor Yellow
}
}
if (-not $res.Warned) {
Write-Host " No 16-20KB freeze pattern for this target." -ForegroundColor Green
} else {
$warnDetected = $true
}
}
if ($warnDetected) {
Write-Host ""
Write-Host "[WARNING] Detected possible DPI TCP 16-20 blocking on one or more targets. Consider changing strategy/SNI/IP." -ForegroundColor Red
} else {
Write-Host ""
Write-Host "[OK] No 16-20KB freeze pattern detected across targets." -ForegroundColor Green
}
return $results
}
function Test-ZapretServiceConflict {
return [bool](Get-Service -Name "zapret" -ErrorAction SilentlyContinue)
}
# Check Admin
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
if (-not $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
Write-Host "[ERROR] Run as Administrator to execute tests" -ForegroundColor Red
$hasErrors = $true
} else {
Write-Host "[OK] Administrator rights detected" -ForegroundColor Green
}
# Check curl
if (-not (Get-Command "curl.exe" -ErrorAction SilentlyContinue)) {
Write-Host "[ERROR] curl.exe not found" -ForegroundColor Red
Write-Host "Install curl or add it to PATH" -ForegroundColor Yellow
$hasErrors = $true
} else {
Write-Host "[OK] curl.exe found" -ForegroundColor Green
}
# Check for leftover ipset flag from previous interrupted run
$ipsetFlagFile = Join-Path $rootDir "ipset_switched.flag"
if (Test-Path $ipsetFlagFile) {
Write-Host "[INFO] Detected leftover ipset switch flag. Restoring ipset..." -ForegroundColor Yellow
Set-IpsetMode -mode "restore"
Remove-Item -Path $ipsetFlagFile -ErrorAction SilentlyContinue
}
# Get original ipset status early
$originalIpsetStatus = Get-IpsetStatus
# Warn about ipset switching and X button behavior
if ($originalIpsetStatus -ne "any") {
Write-Host "[INFO] Current ipset status: $originalIpsetStatus" -ForegroundColor Cyan
Write-Host "[WARNING] Ipset will be switched to 'any' for accurate DPI tests." -ForegroundColor Yellow
Write-Host "[WARNING] If you close the window with the X button, ipset will NOT restore immediately." -ForegroundColor Yellow
Write-Host "[WARNING] It will be restored automatically on the next script run." -ForegroundColor Yellow
}
# Check if zapret service installed
if (Test-ZapretServiceConflict) {
Write-Host "[ERROR] Windows service 'zapret' is installed" -ForegroundColor Red
Write-Host " Remove the service before running tests" -ForegroundColor Yellow
Write-Host " Open service.bat and choose 'Remove Services'" -ForegroundColor Yellow
$hasErrors = $true
}
if ($hasErrors) {
Write-Host ""
Write-Host "Fix the errors above and rerun." -ForegroundColor Yellow
Write-Host "Press any key to exit..." -ForegroundColor Yellow
[void][System.Console]::ReadKey($true)
exit 1
}
$dpiTargets = Build-DpiTargets -CustomUrl $dpiCustomUrl
# Config
$targetDir = $rootDir
if (-not $targetDir) { $targetDir = Split-Path -Parent $MyInvocation.MyCommand.Path }
$batFiles = Get-ChildItem -Path $targetDir -Filter "*.bat" | Where-Object { $_.Name -notlike "service*" } | Sort-Object { [Regex]::Replace($_.Name, "(\d+)", { $args[0].Value.PadLeft(8, "0") }) }
$globalResults = @()
# Select top-level test type (standard vs DPI checkers)
function Read-TestType {
while ($true) {
Write-Host ""
Write-Host "Select test type:" -ForegroundColor Cyan
Write-Host " [1] Standard tests (HTTP/ping)" -ForegroundColor Gray
Write-Host " [2] DPI checkers (TCP 16-20 freeze)" -ForegroundColor Gray
$choice = Read-Host "Enter 1 or 2"
switch ($choice) {
'1' { return 'standard' }
'2' { return 'dpi' }
default { Write-Host "Incorrect input. Please try again." -ForegroundColor Yellow }
}
}
}
# Select test mode: all configs or custom subset
function Read-ModeSelection {
while ($true) {
Write-Host ""
Write-Host "Select test run mode:" -ForegroundColor Cyan
Write-Host " [1] All configs" -ForegroundColor Gray
Write-Host " [2] Selected configs" -ForegroundColor Gray
$choice = Read-Host "Enter 1 or 2"
switch ($choice) {
'1' { return 'all' }
'2' { return 'select' }
default { Write-Host "Incorrect input. Please try again." -ForegroundColor Yellow }
}
}
}
function Read-ConfigSelection {
param([array]$allFiles)
while ($true) {
Write-Host ""
Write-Host "Available configs:" -ForegroundColor Cyan
for ($i = 0; $i -lt $allFiles.Count; $i++) {
$idx = $i + 1
Write-Host " [$idx] $($allFiles[$i].Name)" -ForegroundColor Gray
}
$selectionInput = Read-Host "Enter numbers (e.g. 1,3,5) , ranges (e.g. 2-7), or mixed (e.g. 1,5-10,12). '0' for all"
$trimmed = $selectionInput.Trim()
if ($trimmed -eq '0') {
return $allFiles
}
$parts = $selectionInput -split '[,\s]+' | Where-Object { $_ -match '^\d+(-\d+)?$' }
if ($parts.Count -eq 0) {
Write-Host ""
Write-Host "Invalid input format. Use numbers, ranges (1-5), or combinations (1,3-7,10). Try again." -ForegroundColor Yellow
continue
}
$selectedIndices = @()
$hasErrors = $false
foreach ($part in $parts) {
if ($part -match '^(\d+)-(\d+)$') {
$start = [int]$matches[1]
$end = [int]$matches[2]
if ($start -gt $end) {
Write-Host " [WARN] Invalid range '$part' (start > end). Skipping." -ForegroundColor Yellow
$hasErrors = $true
continue
}
if ($start -lt 1 -or $end -gt $allFiles.Count) {
Write-Host " [WARN] Range '$part' out of bounds (valid: 1-$($allFiles.Count)). Skipping invalid parts." -ForegroundColor Yellow
$hasErrors = $true
$start = [Math]::Max($start, 1)
$end = [Math]::Min($end, $allFiles.Count)
}
for ($i = $start; $i -le $end; $i++) {
$selectedIndices += $i
}
} else {
$num = [int]$part
if ($num -ge 1 -and $num -le $allFiles.Count) {
$selectedIndices += $num
} else {
Write-Host " [WARN] Number '$num' out of bounds (valid: 1-$($allFiles.Count)). Skipping." -ForegroundColor Yellow
$hasErrors = $true
}
}
}
$valid = $selectedIndices | Sort-Object -Unique | Where-Object { $_ -ge 1 -and $_ -le $allFiles.Count }
if ($valid.Count -eq 0) {
Write-Host ""
Write-Host "No valid configs selected. Try again." -ForegroundColor Yellow
continue
}
# Checker
Write-Host "Selected configs: $($valid -join ', ')" -ForegroundColor Green
if ($hasErrors) {
Write-Host "Some entries were skipped due to errors (see warnings above)." -ForegroundColor Yellow
}
return $valid | ForEach-Object { $allFiles[$_ - 1] }
}
}
while ($true) {
$globalResults = @()
$testType = Read-TestType
$mode = Read-ModeSelection
if ($mode -eq 'select') {
$selected = Read-ConfigSelection -allFiles $batFiles
$batFiles = @($selected)
}
# Load targets once for standard mode
$targetList = @()
$maxNameLen = 10
if ($testType -eq 'standard') {
$targetsFile = Join-Path $utilsDir "targets.txt"
$rawTargets = New-OrderedDict
if (Test-Path $targetsFile) {
Get-Content $targetsFile | ForEach-Object {
if ($_ -match '^\s*(\w+)\s*=\s*"(.+)"\s*$') {
Add-OrSet -dict $rawTargets -key $matches[1] -val $matches[2]
}
}
}
if ($rawTargets.Count -eq 0) {
Write-Host "[INFO] targets.txt missing or empty. Using defaults." -ForegroundColor Gray
Add-OrSet $rawTargets "Discord Main" "https://discord.com"
Add-OrSet $rawTargets "Discord Gateway" "https://gateway.discord.gg"
Add-OrSet $rawTargets "Discord CDN" "https://cdn.discordapp.com"
Add-OrSet $rawTargets "Discord Updates" "https://updates.discord.com"
Add-OrSet $rawTargets "YouTube Web" "https://www.youtube.com"
Add-OrSet $rawTargets "YouTube Short" "https://youtu.be"
Add-OrSet $rawTargets "YouTube Image" "https://i.ytimg.com"
Add-OrSet $rawTargets "YouTube Video Redirect" "https://redirector.googlevideo.com"
Add-OrSet $rawTargets "Google Main" "https://www.google.com"
Add-OrSet $rawTargets "Google Gstatic" "https://www.gstatic.com"
Add-OrSet $rawTargets "Cloudflare Web" "https://www.cloudflare.com"
Add-OrSet $rawTargets "Cloudflare CDN" "https://cdnjs.cloudflare.com"
Add-OrSet $rawTargets "Cloudflare DNS 1.1.1.1" "PING:1.1.1.1"
Add-OrSet $rawTargets "Cloudflare DNS 1.0.0.1" "PING:1.0.0.1"
Add-OrSet $rawTargets "Google DNS 8.8.8.8" "PING:8.8.8.8"
Add-OrSet $rawTargets "Google DNS 8.8.4.4" "PING:8.8.4.4"
Add-OrSet $rawTargets "Quad9 DNS 9.9.9.9" "PING:9.9.9.9"
} else {
Write-Host ""
Write-Host "[INFO] Loaded targets from targets.txt" -ForegroundColor Gray
Write-Host "[INFO] Targets loaded: $($rawTargets.Count)" -ForegroundColor Gray
}
foreach ($key in $rawTargets.Keys) {
$targetList += Convert-Target -Name $key -Value $rawTargets[$key]
}
$maxNameLen = ($targetList | ForEach-Object { $_.Name.Length } | Measure-Object -Maximum).Maximum
if (-not $maxNameLen -or $maxNameLen -lt 10) { $maxNameLen = 10 }
}
# Ensure we have configs to run
if (-not $batFiles -or $batFiles.Count -eq 0) {
Write-Host "[ERROR] No general*.bat files found" -ForegroundColor Red
Write-Host "Press any key to exit..." -ForegroundColor Yellow
[void][System.Console]::ReadKey($true)
exit 1
}
# Stop winws
function Stop-Zapret {
Get-Process -Name "winws" -ErrorAction SilentlyContinue | Stop-Process -Force
}
# Capture/restore running winws instances to return user ipset/config
function Get-WinwsSnapshot {
try {
return Get-CimInstance Win32_Process -Filter "Name='winws.exe'" |
Select-Object ProcessId, CommandLine, ExecutablePath
} catch {
return @()
}
}
function Restore-WinwsSnapshot {
param($snapshot)
if (-not $snapshot -or $snapshot.Count -eq 0) { return }
$current = @()
try { $current = (Get-WinwsSnapshot).CommandLine } catch { $current = @() }
Write-Host "[INFO] Restoring previously running winws instances..." -ForegroundColor DarkGray
foreach ($p in $snapshot) {
if (-not $p.ExecutablePath) { continue }
# Skip if an identical command line is already active
if ($current -and $current -contains $p.CommandLine) { continue }
$exe = $p.ExecutablePath
$processArgs = ""
if ($p.CommandLine) {
$quotedExe = '"' + $exe + '"'
if ($p.CommandLine.StartsWith($quotedExe)) {
$processArgs = $p.CommandLine.Substring($quotedExe.Length).Trim()
} elseif ($p.CommandLine.StartsWith($exe)) {
$processArgs = $p.CommandLine.Substring($exe.Length).Trim()
}
}
Start-Process -FilePath $exe -ArgumentList $processArgs -WorkingDirectory (Split-Path $exe -Parent) -WindowStyle Minimized | Out-Null
}
}
$env:NO_UPDATE_CHECK = "1"
$originalWinws = Get-WinwsSnapshot
Write-Host ""
Write-Host "============================================================" -ForegroundColor Cyan
Write-Host " ZAPRET CONFIG TESTS" -ForegroundColor Cyan
Write-Host " Mode: $($testType.ToUpper())" -ForegroundColor Cyan
Write-Host " Total configs: $($batFiles.Count.ToString().PadLeft(2))" -ForegroundColor Cyan
Write-Host "============================================================" -ForegroundColor Cyan
try {
# Save original ipset status and switch to 'any' for accurate DPI tests
if (($originalIpsetStatus -ne "any") -and ($testType -eq 'dpi')) {
Write-Host "[WARNING] Ipset is in '$originalIpsetStatus' mode. Switching to 'any' for accurate DPI tests..." -ForegroundColor Yellow
Set-IpsetMode -mode "any"
# Create flag file to indicate ipset was switched
"" | Out-File -FilePath $ipsetFlagFile -Encoding UTF8
}
Write-Host "[WARNING] Tests may take several minutes to complete. Please wait..." -ForegroundColor Yellow
$configNum = 0
foreach ($file in $batFiles) {
$configNum++
Write-Host ""
Write-Host "------------------------------------------------------------" -ForegroundColor DarkCyan
Write-Host " [$configNum/$($batFiles.Count)] $($file.Name)" -ForegroundColor Yellow
Write-Host "------------------------------------------------------------" -ForegroundColor DarkCyan
# Cleanup
Stop-Zapret
# Start config
Write-Host " > Starting config..." -ForegroundColor Cyan
$proc = Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$($file.FullName)`"" -WorkingDirectory $targetDir -PassThru -WindowStyle Minimized
# Wait init
Start-Sleep -Seconds 5
if ($testType -eq 'standard') {
$curlTimeoutSeconds = 5
# Parallel target checks via runspace pool (faster than jobs)
$maxParallel = 8
$runspacePool = [runspacefactory]::CreateRunspacePool(1, $maxParallel)
$runspacePool.Open()
$scriptBlock = {
param($t, $curlTimeoutSeconds)
$httpPieces = @()
if ($t.Url) {
$tests = @(
@{ Label = "HTTP"; Args = @("--http1.1") },
@{ Label = "TLS1.2"; Args = @("--tlsv1.2", "--tls-max", "1.2") },
@{ Label = "TLS1.3"; Args = @("--tlsv1.3", "--tls-max", "1.3") }
)
$baseArgs = @("-I", "-s", "-m", $curlTimeoutSeconds, "-o", "NUL", "-w", "%{http_code}", "--show-error")
foreach ($test in $tests) {
try {
$curlArgs = $baseArgs + $test.Args
$stderr = $null
$output = & curl.exe @curlArgs $t.Url 2>&1 | ForEach-Object {
if ($_ -is [System.Management.Automation.ErrorRecord]) {
$stderr += $_.Exception.Message + " "
} else {
$_
}
}
$httpCode = ($output | Out-String).Trim()
$dnsHijack = ($stderr -match "Could not resolve host|certificate|SSL certificate problem|self[- ]?signed|certificate verify failed|unable to get local issuer certificate")
if ($dnsHijack) {
$httpPieces += "$($test.Label):SSL "
continue
}
$unsupported = (($LASTEXITCODE -eq 35) -or ($stderr -match "does not support|not supported|protocol\s+'?.+'?\s+not\s+supported|unsupported protocol|TLS.*not supported|Unrecognized option|Unknown option|unsupported option|unsupported feature|schannel"))
if ($unsupported) {
$httpPieces += "$($test.Label):UNSUP"
continue
}
$ok = ($LASTEXITCODE -eq 0)
if ($ok) {
$httpPieces += "$($test.Label):OK "
} else {
$httpPieces += "$($test.Label):ERROR"
}
} catch {
$httpPieces += "$($test.Label):ERROR"
}
}
}
$pingResult = "n/a"
if ($t.PingTarget) {
try {
$pings = Test-Connection -ComputerName $t.PingTarget -Count 3 -ErrorAction Stop
$avg = ($pings | Measure-Object -Property ResponseTime -Average).Average
$pingResult = "{0:N0} ms" -f $avg
} catch {
$pingResult = "Timeout"
}
}
return (New-Object PSObject -Property @{
Name = $t.Name
HttpTokens = $httpPieces
PingResult = $pingResult
IsUrl = [bool]$t.Url
})
}
$runspaces = @()
foreach ($target in $targetList) {
$ps = [powershell]::Create().AddScript($scriptBlock)
[void]$ps.AddArgument($target)
[void]$ps.AddArgument($curlTimeoutSeconds)
$ps.RunspacePool = $runspacePool
$runspaces += [PSCustomObject]@{
Powershell = $ps
Handle = $ps.BeginInvoke()
}
}
$script:currentLine = " > Running tests..."
Write-Host $script:currentLine -ForegroundColor DarkGray
$targetResults = @()
foreach ($rs in $runspaces) {
try {
$waitMs = ([int]$curlTimeoutSeconds + 5) * 1000
$handle = $rs.Handle
if ($handle -and $handle.AsyncWaitHandle) {
$completed = $handle.AsyncWaitHandle.WaitOne($waitMs)
if (-not $completed) {
Write-Host "[WARN] Runspace for target timed out after $waitMs ms; stopping runspace..." -ForegroundColor Yellow
try { $rs.Powershell.Stop() } catch {}
}
}
} catch {
# ignore
}
try {
$targetResults += $rs.Powershell.EndInvoke($rs.Handle)
} catch {
Write-Host "[WARN] EndInvoke failed for a runspace; treating as failure." -ForegroundColor Yellow
$targetResults += [PSCustomObject]@{ Name = 'UNKNOWN'; HttpTokens = @('HTTP:ERROR'); PingResult = 'Timeout'; IsUrl = $true }
}
$rs.Powershell.Dispose()
}
$runspacePool.Close()
$runspacePool.Dispose()
$targetLookup = @{}
foreach ($res in $targetResults) { $targetLookup[$res.Name] = $res }
foreach ($target in $targetList) {
$res = $targetLookup[$target.Name]
if (-not $res) { continue }
Write-Host " $($target.Name.PadRight($maxNameLen)) " -NoNewline
if ($res.IsUrl -and $res.HttpTokens) {
foreach ($tok in $res.HttpTokens) {
$tokColor = "Green"
if ($tok -match "UNSUP") { $tokColor = "Yellow" }
elseif ($tok -match "SSL") { $tokColor = "Red" }
elseif ($tok -match "ERR") { $tokColor = "Red" }
Write-Host " $tok" -NoNewline -ForegroundColor $tokColor
}
Write-Host " | Ping: " -NoNewline -ForegroundColor DarkGray
if ($res.PingResult -eq "Timeout") {
$pingColor = "Yellow"
} else {
$pingColor = "Cyan"
}
Write-Host "$($res.PingResult)" -NoNewline -ForegroundColor $pingColor
Write-Host ""
} else {
# Ping-only target
Write-Host " Ping: " -NoNewline -ForegroundColor DarkGray
if ($res.PingResult -eq "Timeout") {
$pingColor = "Red"
} else {
$pingColor = "Cyan"
}
Write-Host "$($res.PingResult)" -ForegroundColor $pingColor
}
}
$globalResults += @{ Config = $file.Name; Type = 'standard'; Results = $targetResults }
} else {
Write-Host " > Running DPI checkers..." -ForegroundColor DarkGray
$dpiResults = Invoke-DpiSuite -Targets $dpiTargets -TimeoutSeconds $dpiTimeoutSeconds -RangeBytes $dpiRangeBytes -WarnMinKB $dpiWarnMinKB -WarnMaxKB $dpiWarnMaxKB -MaxParallel $dpiMaxParallel
$globalResults += @{ Config = $file.Name; Type = 'dpi'; Results = $dpiResults }
}
# Stop
Stop-Zapret
if (-not $proc.HasExited) { Stop-Process -Id $proc.Id -Force -ErrorAction SilentlyContinue }
}
Write-Host ""
Write-Host "All tests finished." -ForegroundColor Green
# Analytics
$analytics = @{}
foreach ($res in $globalResults) {
if ($res.Type -eq 'standard') {
foreach ($targetRes in $res.Results) {
$config = $res.Config
if (-not $analytics.ContainsKey($config)) { $analytics[$config] = @{ OK = 0; ERROR = 0; UNSUP = 0; PingOK = 0; PingFail = 0 } }
if ($targetRes.IsUrl) {
foreach ($tok in $targetRes.HttpTokens) {
if ($tok -match "OK") { $analytics[$config].OK++ }
elseif ($tok -match "SSL") { $analytics[$config].ERROR++ }
elseif ($tok -match "ERROR") { $analytics[$config].ERROR++ }
elseif ($tok -match "UNSUP") { $analytics[$config].UNSUP++ }
}
}
if ($targetRes.PingResult -ne "Timeout" -and $targetRes.PingResult -ne "n/a") { $analytics[$config].PingOK++ } else { $analytics[$config].PingFail++ }
}
} elseif ($res.Type -eq 'dpi') {
foreach ($targetRes in $res.Results) {
$config = $res.Config
if (-not $analytics.ContainsKey($config)) { $analytics[$config] = @{ OK = 0; FAIL = 0; UNSUPPORTED = 0; LIKELY_BLOCKED = 0 } }
foreach ($line in $targetRes.Lines) {
if ($line.Status -eq "OK") { $analytics[$config].OK++ }
elseif ($line.Status -eq "FAIL") { $analytics[$config].FAIL++ }
elseif ($line.Status -eq "UNSUPPORTED") { $analytics[$config].UNSUPPORTED++ }
elseif ($line.Status -eq "LIKELY_BLOCKED") { $analytics[$config].LIKELY_BLOCKED++ }
}
}
}
}
Write-Host ""
Write-Host "=== ANALYTICS ===" -ForegroundColor Cyan
foreach ($config in $analytics.Keys) {
$a = $analytics[$config]
if ($a.ContainsKey('PingOK')) {
Write-Host "$config : HTTP OK: $($a.OK), ERR: $($a.ERROR), UNSUP: $($a.UNSUP), Ping OK: $($a.PingOK), Fail: $($a.PingFail)" -ForegroundColor Yellow
} else {
Write-Host "$config : OK: $($a.OK), FAIL: $($a.FAIL), UNSUP: $($a.UNSUPPORTED), BLOCKED: $($a.LIKELY_BLOCKED)" -ForegroundColor Yellow
}
}
# Determine best strategy
$bestConfig = $null
$maxScore = 0
$maxPing = -1
foreach ($config in $analytics.Keys) {
$a = $analytics[$config]
$score = $a.OK
$pingScore = 0
if ($a.ContainsKey('PingOK')) {
$pingScore = $a.PingOK
}
if ($score -gt $maxScore) {
$maxScore = $score
$maxPing = $pingScore
$bestConfig = $config
} elseif ($score -eq $maxScore) {
if ($pingScore -gt $maxPing) {
$maxPing = $pingScore
$bestConfig = $config
}
}
}
Write-Host ""
Write-Host "Best config: $bestConfig" -ForegroundColor Green
Write-Host ""
# Save to file
$dateStr = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$resultFile = Join-Path $resultsDir "test_results_$dateStr.txt"
# Clear file
"" | Out-File $resultFile -Encoding UTF8
foreach ($res in $globalResults) {
$config = $res.Config
$type = $res.Type
$results = $res.Results
Add-Content $resultFile "Config: $config (Type: $type)"
if ($type -eq 'standard') {
foreach ($targetRes in $results) {
$name = $targetRes.Name
$http = $targetRes.HttpTokens -join ' '
$ping = $targetRes.PingResult
Add-Content $resultFile " $name : $http | Ping: $ping"
}
} elseif ($type -eq 'dpi') {
foreach ($targetRes in $results) {
$id = $targetRes.TargetId
$provider = $targetRes.Provider
Add-Content $resultFile " Target: $id ($provider)"
foreach ($line in $targetRes.Lines) {
$test = $line.TestLabel
$code = $line.Code
$size = $line.SizeKB
$status = $line.Status
Add-Content $resultFile " ${test}: code=${code} size=${size} KB status=${status}"
}
}
}
Add-Content $resultFile ""
}
# Add analytics
Add-Content $resultFile "=== ANALYTICS ==="
foreach ($config in $analytics.Keys) {
$a = $analytics[$config]
if ($a.ContainsKey('PingOK')) {
Add-Content $resultFile "$config : HTTP OK: $($a.OK), ERR: $($a.ERROR), UNSUP: $($a.UNSUP), Ping OK: $($a.PingOK), Fail: $($a.PingFail)"
} else {
Add-Content $resultFile "$config : OK: $($a.OK), FAIL: $($a.FAIL), UNSUP: $($a.UNSUPPORTED), BLOCKED: $($a.LIKELY_BLOCKED)"
}
}
Add-Content $resultFile "Best strategy: $bestConfig"
Write-Host "Results saved to $resultFile" -ForegroundColor Green
} catch {
Write-Host "[ERROR] An error occurred during tests. Restoring ipset..." -ForegroundColor Red
if ($originalIpsetStatus -and $originalIpsetStatus -ne "any") {
Set-IpsetMode -mode "restore"
}
Remove-Item -Path $ipsetFlagFile -ErrorAction SilentlyContinue
} finally {
Stop-Zapret
Restore-WinwsSnapshot -snapshot $originalWinws
if ($originalIpsetStatus -ne "any") {
Write-Host "[INFO] Restoring original ipset mode..." -ForegroundColor DarkGray
Set-IpsetMode -mode "restore"
}
Remove-Item -Path $ipsetFlagFile -ErrorAction SilentlyContinue
}
Write-Host "Press any key to close..." -ForegroundColor Yellow
[void][System.Console]::ReadKey($true)
exit
}