mirror of
https://github.com/Flowseal/zapret-discord-youtube.git
synced 2026-08-05 23:55:53 +03:00
Compare commits
221 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9503dc0451 | ||
|
|
cce6edca82 | ||
|
|
9c3817d40a | ||
|
|
c3b30cd233 | ||
|
|
c05cddaece | ||
|
|
4e711167a2 | ||
|
|
73cee5db28 | ||
|
|
1a7d98d506 | ||
|
|
ee13846608 | ||
|
|
69ffda8cbf | ||
|
|
28fa5df61d | ||
|
|
0e7c839089 | ||
|
|
d75903b44c | ||
|
|
36f4452342 | ||
|
|
cb6c83d13b | ||
|
|
d3aabff5d8 | ||
|
|
0f2b8dd6eb | ||
|
|
d7eedce22a | ||
|
|
7174c5bcb3 | ||
|
|
02f6e89f81 | ||
|
|
b62f558c7b | ||
|
|
100a0c9a41 | ||
|
|
0b923f9b5c | ||
|
|
2af70b9f8b | ||
|
|
22a04fc6e8 | ||
|
|
394d12ce33 | ||
|
|
d1638825c6 | ||
|
|
132df16b20 | ||
|
|
d7e154a351 | ||
|
|
f26572fa90 | ||
|
|
03866b1b2f | ||
|
|
7e9b42a00b | ||
|
|
ef19845a80 | ||
|
|
047cc04fd6 | ||
|
|
57b91239f7 | ||
|
|
32a6830373 | ||
|
|
9407cd31cc | ||
|
|
d28460499e | ||
|
|
197dafcaa3 | ||
|
|
8195c466c3 | ||
|
|
459c4c2a2e | ||
|
|
7b39f1bbb8 | ||
|
|
68c57eacc8 | ||
|
|
d60e21c1bb | ||
|
|
f474a9f3f0 | ||
|
|
3ca61f3ab6 | ||
|
|
e609f1550b | ||
|
|
ff334e5767 | ||
|
|
8b47f91512 | ||
|
|
4456f6ee1c | ||
|
|
1963ad068d | ||
|
|
68fa02f9a4 | ||
|
|
f6f22e20e1 | ||
|
|
523bf61ac8 | ||
|
|
4af99e3c33 | ||
|
|
4f8d81b742 | ||
|
|
5a792c0a25 | ||
|
|
c368de3f97 | ||
|
|
95e2d53424 | ||
|
|
1bb7c01a24 | ||
|
|
1b2e20f938 | ||
|
|
5db8059985 | ||
|
|
67b0ba3996 | ||
|
|
517f2debf0 | ||
|
|
b50cc0601f | ||
|
|
42054ff2ca | ||
|
|
da7a23c652 | ||
|
|
91ba8f4259 | ||
|
|
22a9ca3bc0 | ||
|
|
0d5ab7b13c | ||
|
|
1d9ad5f605 | ||
|
|
f7913547db | ||
|
|
a23f96cef8 | ||
|
|
05ec945a05 | ||
|
|
9a1ce92593 | ||
|
|
82efae8e1f | ||
|
|
28a60d8295 | ||
|
|
0eea22755f | ||
|
|
48a3c739a3 | ||
|
|
cb9aed0944 | ||
|
|
5d1ba74e59 | ||
|
|
0d2ab87bd0 | ||
|
|
337c550160 | ||
|
|
eb779e4543 | ||
|
|
7121668ca1 | ||
|
|
0cbe689724 | ||
|
|
dc861c36ec | ||
|
|
45ab3c93dd | ||
|
|
5920631440 | ||
|
|
c3dae75a12 | ||
|
|
18e8d447d5 | ||
|
|
7bad3ee9d1 | ||
|
|
a90fead845 | ||
|
|
2aea7ea384 | ||
|
|
bea49d3774 | ||
|
|
8551542b1f | ||
|
|
f2cbf47073 | ||
|
|
3c1b64ab06 | ||
|
|
e78bb10a3a | ||
|
|
7952e58ee8 | ||
|
|
e5a4c95f08 | ||
|
|
6d287edc5b | ||
|
|
e2ecd7244b | ||
|
|
8a6d88bb3b | ||
|
|
55b7d85baa | ||
|
|
e95744e169 | ||
|
|
981a4256ae | ||
|
|
05bd8cfb8a | ||
|
|
00b3590e41 | ||
|
|
7a63a79470 | ||
|
|
7e723f0a3f | ||
|
|
f3f741d2c7 | ||
|
|
a373c7e268 | ||
|
|
533edcaf2f | ||
|
|
0d3fbfe9b2 | ||
|
|
ef9c3688d9 | ||
|
|
5e172135f0 | ||
|
|
5933f3be80 | ||
|
|
41d2bca4d7 | ||
|
|
5f62978e48 | ||
|
|
b0c6f3452b | ||
|
|
3d47c276bd | ||
|
|
707a33aec3 | ||
|
|
39146ab761 | ||
|
|
874b6813a8 | ||
|
|
f5e5a858e7 | ||
|
|
c4516f3f74 | ||
|
|
cc207357cb | ||
|
|
79186f7eea | ||
|
|
c726092f65 | ||
|
|
d1ea4fec6c | ||
|
|
5399edf8d3 | ||
|
|
e9d5b22a3b | ||
|
|
e1322fd3af | ||
|
|
7d16969b71 | ||
|
|
62907dcf59 | ||
|
|
d31fb058b8 | ||
|
|
4ecc348d55 | ||
|
|
a1bae719ce | ||
|
|
104573e321 | ||
|
|
9ceffd5302 | ||
|
|
ed43b9b05e | ||
|
|
92fd82967a | ||
|
|
3e7c667589 | ||
|
|
59ed28cb3e | ||
|
|
4180d36b68 | ||
|
|
5033f20594 | ||
|
|
789254328a | ||
|
|
f754baa650 | ||
|
|
04df4830e7 | ||
|
|
e20eecd37c | ||
|
|
8a1885d7d0 | ||
|
|
d2cf5c005c | ||
|
|
59f26cc148 | ||
|
|
ab727a9094 | ||
|
|
a7f23f17f4 | ||
|
|
95a23d6bf5 | ||
|
|
e88c07d0ec | ||
|
|
2d8f7c0c1f | ||
|
|
028c9badf6 | ||
|
|
454b12c9fb | ||
|
|
528b707bab | ||
|
|
651342d06f | ||
|
|
621a501d03 | ||
|
|
ada3a43664 | ||
|
|
56977c45a1 | ||
|
|
5a2b7d5e52 | ||
|
|
4f7d1bb9d0 | ||
|
|
51cbdb2180 | ||
|
|
6b33dd5600 | ||
|
|
d40ae860e1 | ||
|
|
a725b3eb65 | ||
|
|
f3556ec9c8 | ||
|
|
52fd70e98a | ||
|
|
cee87db301 | ||
|
|
6e299fce26 | ||
|
|
bab2426685 | ||
|
|
c341cfce2d | ||
|
|
b4e9e2a778 | ||
|
|
0bb36b8345 | ||
|
|
6fa7bbfd99 | ||
|
|
e5c16c26dd | ||
|
|
e5e03903a3 | ||
|
|
7caf18f067 | ||
|
|
5de4f57df4 | ||
|
|
b9ec911ef4 | ||
|
|
dc417adf7b | ||
|
|
72d93b88c6 | ||
|
|
2017b60d0c | ||
|
|
ed4d52108b | ||
|
|
fe6e10e861 | ||
|
|
e97d00946c | ||
|
|
ae99645851 | ||
|
|
2f46d349e3 | ||
|
|
770c25bceb | ||
|
|
4239338f41 | ||
|
|
8970cd4ede | ||
|
|
dd6f1b6c6e | ||
|
|
97bfe7301b | ||
|
|
5caadc8fcf | ||
|
|
1c694cf9cc | ||
|
|
7f086ae776 | ||
|
|
3fa8f33f79 | ||
|
|
adf4927fb2 | ||
|
|
4f617f31e9 | ||
|
|
cd21d074ca | ||
|
|
778f6d4c0f | ||
|
|
1c05e1b2d3 | ||
|
|
7afb2cf364 | ||
|
|
e548374644 | ||
|
|
5c6e6a56de | ||
|
|
f933c41ac4 | ||
|
|
68a89148f1 | ||
|
|
0a513b9409 | ||
|
|
4a05ad518f | ||
|
|
9c302f1bbf | ||
|
|
0949686499 | ||
|
|
2a4e602621 | ||
|
|
10ae6c6cf2 | ||
|
|
875be6bf67 | ||
|
|
8e8156472a |
3
.gitattributes
vendored
Normal file
3
.gitattributes
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*.bat text eol=crlf
|
||||
*.ps1 text eol=crlf
|
||||
*.txt text eol=crlf
|
||||
22
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
22
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -31,28 +31,6 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: reproduction
|
||||
attributes:
|
||||
label: Шаги воспроизведения проблемы
|
||||
description: Шаги по воспроизведению поведения (вашей проблемы).
|
||||
placeholder: |
|
||||
Напишите здесь шаги, с помощью которых можно повторить вашу проблему
|
||||
на других компьютерах
|
||||
|
||||
- type: textarea
|
||||
id: bat-name
|
||||
attributes:
|
||||
label: Какой .bat файл вы используете?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: other-bat
|
||||
attributes:
|
||||
label: Использовали ли вы другие .bat?
|
||||
description: Пробовали ли вы использовать другой .bat для устранения проблемы? Если использовали, то какие?
|
||||
|
||||
- type: textarea
|
||||
id: additions
|
||||
attributes:
|
||||
|
||||
14
.github/github-bot.yml
vendored
Normal file
14
.github/github-bot.yml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
trusted_users:
|
||||
- Flowseal
|
||||
- ControlRe
|
||||
- ekungurov
|
||||
- V3nilla
|
||||
- serpen7
|
||||
- EgorWeders
|
||||
- FlowersOfMind
|
||||
- Dronatar
|
||||
- JustChickNugget
|
||||
- prettyleaf
|
||||
- amozebus
|
||||
- fridorin
|
||||
- kinlay0
|
||||
44
.github/workflows/comment.yml
vendored
44
.github/workflows/comment.yml
vendored
@@ -12,40 +12,48 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Comment on new issue
|
||||
uses: peter-evans/create-or-update-comment@v4
|
||||
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)
|
||||
# Пожалуйста, ознакомьтесь с 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` выберите `Switch ipset`, чтобы он стал (empty)
|
||||
- Если у вас проблемы с чем-то, что корректно работает без zapret, то убедитесь, что `Game Filter` (disabled) в `service.bat`. Если это не помогло, то в `service.bat` выберите `IPSet Filter`, чтобы он стал (none)
|
||||
|
||||
##
|
||||
### Не запускаются файлы?
|
||||
- Убедитесь, что файлы разархивированы
|
||||
- **Убедитесь, что вы скачали со страницы релизов**, а не с кнопки Code на главной странице репозитория
|
||||
- Попробуйте запустить service.bat от имени администратора, и выбрать Remove Services для удаления прошлых обходов данного обхода
|
||||
- Вспомните, использовали ли вы другие обходы (например, GoodbyeDPI). Если да, то удалите их по их же инструкции. Другие обходы, установленные на автозапуск будут мешать запуску zapret
|
||||
- Отключите антивирусы, различные клинеры с доп. защитой, защитные средства браузера или другое ПО, которое может повредить архив. Перекачайте обход [со страницы релизов](https://github.com/Flowseal/zapret-discord-youtube/releases) и распакуйте в новую папку
|
||||
- Запустите service.bat и выберите Run Diagnostics, он проверит на возможные распространённые конфликты на вашем компьютере
|
||||
- Попробуйте отключить другие прокси / VPN
|
||||
- "Служба базовой фильтрации" или "Base Filtering Engine" должна быть включена (Win+R -> services.msc)
|
||||
### Проблемы с файлами? (не открываются / нет стратегий в 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`
|
||||
Если это игра или сервис, то можете попробовать выключить `Game Filter` в `service.bat` (требуется перезапуск обхода или переустановка сервиса)
|
||||
Если не помогло выключение `Game Filter`, то можно найти IP и удалить из `ipset-all.txt`. Если не можете найти IP, то можно выключить фильтрацию по IP в `service.bat` (пункт `Switch Ipset`)
|
||||
- Домен можно удалить в `lists/list-general-user.txt`, если он там присутствует
|
||||
Либо же добавить домен в `lists/list-exclude-user.txt` (*поддомены автоматически учитываются*)
|
||||
- Попробуйте выключить `Game Filter` в `service.bat` (требуется перезапуск обхода или переустановка сервиса) и `IPSet Filter` (чтобы стал **none**)
|
||||
|
||||
- **Не работает: пробуйте другие стратегии.** Если не помогло, то:
|
||||
*Если это сайт*, то добавьте домен в `lists/list-general.txt` (поддомены автоматически учитываются).
|
||||
*Если это игра*, то попробуйте включить `Game Filter` и `ipset` в `service.bat` (требуется перезапуск обхода или переустановка сервиса). Если не помогло, то, возможно, IP не включён в список `ipset-all.txt`; в этом случае необходимо найти его самому и добавить ip/подсеть в упомянутый файл.
|
||||
*Если это сайт*, то добавьте домен в `lists/list-general-user.txt` (поддомены автоматически учитываются).
|
||||
*Если это игра*, то попробуйте включить `Game Filter` и `IPSet Filter` (чтобы стал **loaded**, если не поможет то **any**) в `service.bat` (требуется перезапуск обхода или переустановка сервиса).
|
||||
|
||||
**Пробуйте разные стратегии после внесения изменений в случае, если это не сработало**
|
||||
|
||||
- Если проблема связана с игрой и решения выше не помогли, то:
|
||||
1. **Закройте** этот issue.
|
||||
2. **Создайте новую (или найдите уже существующую) ветку обсуждений** в разделе [**Discussions**](https://github.com/Flowseal/zapret-discord-youtube/discussions), подробно опишите свою проблему и ждите помощи от других игроков.
|
||||
*Давайте будем честны*: Игр много. Как и вы, никто и никогда не читает уже существующие чужие issues, а вероятность найти решение проблемы в разделе [**Discussions**](https://github.com/Flowseal/zapret-discord-youtube/discussions) — выше.
|
||||
|
||||
69
.github/workflows/release.yml
vendored
Normal file
69
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag:
|
||||
description: 'Release tag'
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Verify version matches version.txt
|
||||
run: |
|
||||
VERSION=$(cat .service/version.txt)
|
||||
if [ "$VERSION" != "${{ github.event.inputs.tag }}" ]; then
|
||||
echo "Error: tag '${{ github.event.inputs.tag }}' does not match .service/version.txt ('$VERSION')"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Install tools
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y zip tar rar
|
||||
|
||||
- name: Prepare release bundle
|
||||
run: |
|
||||
NAME="zapret-discord-youtube-${{ github.event.inputs.tag }}"
|
||||
|
||||
mkdir "$NAME"
|
||||
|
||||
cp -r bin "$NAME/"
|
||||
cp -r lists "$NAME/"
|
||||
cp -r utils "$NAME/"
|
||||
cp *.bat "$NAME/"
|
||||
|
||||
- name: Create archives
|
||||
run: |
|
||||
NAME="zapret-discord-youtube-${{ github.event.inputs.tag }}"
|
||||
|
||||
zip -qr "${NAME}.zip" "$NAME"
|
||||
rar a -idq "${NAME}.rar" "$NAME"
|
||||
tar --owner=0 --group=0 -czf "${NAME}.tar.gz" "$NAME"
|
||||
|
||||
- name: Print SHA256 checksums
|
||||
run: |
|
||||
NAME="zapret-discord-youtube-${{ github.event.inputs.tag }}"
|
||||
|
||||
sha256sum \
|
||||
"${NAME}.zip" \
|
||||
"${NAME}.rar" \
|
||||
"${NAME}.tar.gz"
|
||||
|
||||
- name: Create GitHub Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: ${{ github.event.inputs.tag }}
|
||||
name: ${{ github.event.inputs.tag }}
|
||||
files: |
|
||||
zapret-discord-youtube-${{ github.event.inputs.tag }}.zip
|
||||
zapret-discord-youtube-${{ github.event.inputs.tag }}.rar
|
||||
zapret-discord-youtube-${{ github.event.inputs.tag }}.tar.gz
|
||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v9.1.0
|
||||
- uses: actions/stale@v10.1.1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
8
.gitignore
vendored
8
.gitignore
vendored
@@ -0,0 +1,8 @@
|
||||
/utils/test results
|
||||
/utils/game_filter.enabled
|
||||
/lists/ipset-exclude-user.txt
|
||||
/lists/list-general-user.txt
|
||||
/lists/list-exclude-user.txt
|
||||
|
||||
.vscode/
|
||||
/build/
|
||||
243
.service/hosts
Normal file
243
.service/hosts
Normal file
@@ -0,0 +1,243 @@
|
||||
185.199.109.133 objects.githubusercontent.com
|
||||
185.199.109.133 raw.githubusercontent.com
|
||||
185.199.109.133 release-assets.githubusercontent.com
|
||||
185.199.108.133 private-user-images.githubusercontent.com
|
||||
185.199.108.133 gist.githubusercontent.com
|
||||
185.199.108.133 avatars.githubusercontent.com
|
||||
|
||||
149.154.167.220 my.telegram.org
|
||||
149.154.167.220 desktop.telegram.org
|
||||
149.154.167.220 macos.telegram.org
|
||||
149.154.167.220 oauth.telegram.org
|
||||
149.154.167.220 oauth.tg.dev
|
||||
149.154.167.220 cdn.telesco.pe
|
||||
149.154.167.220 cdn1.telesco.pe
|
||||
149.154.167.220 cdn2.telesco.pe
|
||||
149.154.167.220 cdn3.telesco.pe
|
||||
149.154.167.220 cdn4.telesco.pe
|
||||
149.154.167.220 cdn5.telesco.pe
|
||||
149.154.167.220 cdn6.telesco.pe
|
||||
149.154.167.220 core.telegram.org
|
||||
149.154.167.220 zws4.web.telegram.org
|
||||
149.154.167.220 vesta.web.telegram.org
|
||||
149.154.167.220 vesta-1.web.telegram.org
|
||||
149.154.167.220 venus-1.web.telegram.org
|
||||
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 telegram.org
|
||||
149.154.167.220 t.me
|
||||
149.154.167.220 api.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 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 zws2-1.web.telegram.org
|
||||
149.154.167.220 zws2.web.telegram.org
|
||||
149.154.167.220 zws4-1.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
@@ -1 +1 @@
|
||||
1.8.4
|
||||
1.10.0
|
||||
@@ -1,7 +1,7 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016-2025 bol-van
|
||||
Copyright (c) 2024-2025 Flowseal
|
||||
Copyright (c) 2016-2026 bol-van
|
||||
Copyright (c) 2024-2026 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
|
||||
|
||||
159
README.md
159
README.md
@@ -2,71 +2,101 @@
|
||||
|
||||
# <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 />
|
||||
|
||||
|
||||
**NEW**: Ускорение Telegram Desktop - https://github.com/Flowseal/tg-ws-proxy
|
||||
Альтернатива 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)
|
||||
</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) и [zapret/releases](https://github.com/bol-van/zapret/releases). Вы можете это проверить с помощью хэшей/контрольных сумм. Проверяйте, что запускаете, используя сборки из интернета!
|
||||
|
||||
## ⚙️Использование
|
||||
|
||||
1. Включите Secure DNS. В Chrome - "Использовать безопасный DNS", и выбрать поставщика услуг DNS (выбрать вариант, отличный от поставщика по умолчанию). В Firefox - "Включить DNS через HTTPS, используя: Максимальную защиту"
|
||||
* В **Windows 11** поддерживается включение Secure DNS прямо в настройках - [инструкция тут](https://www.howtogeek.com/765940/how-to-enable-dns-over-https-on-windows-11/). Рекомендуется, если вы пользуетесь Windows 11
|
||||
1. Включите Secure DNS
|
||||
* В Chrome - "Использовать безопасный DNS", и выбрать поставщика услуг DNS (выбрать вариант, отличный от варианта "Поставщик по умолчанию")
|
||||
* В Firefox - "Включить DNS через HTTPS, используя: Максимальную защиту", затем "Выбрать поставщика" и вписать URL поставщика вручную, например можно использовать `https://dns.google/dns-query` (т.к. поставщик Cloudflare может быть заблокирован)
|
||||
* В Windows 11 поддерживается включение Secure DNS прямо в настройках ОС - [инструкция тут](https://remontka.pro/dns-over-https-windows-11/). Рекомендуется, если вы пользуетесь Windows 11
|
||||
* Если у вас роутер Keenetic, включите в настройках роутера опцию "Транзит запросов". Отключение этой опции может привести к проблемам при настройке и использовании Secure DNS на компьютере
|
||||
|
||||
2. Загрузите архив (zip/rar) со [страницы последнего релиза](https://github.com/Flowseal/zapret-discord-youtube/releases/latest)
|
||||
2. Скачайте архив (zip/rar) со [страницы последнего релиза](https://github.com/Flowseal/zapret-discord-youtube/releases/latest)
|
||||
|
||||
3. Распакуйте содержимое архива по пути, который не содержит кириллицу/спец. символы
|
||||
3. Зайдите в свойства скачанного архива и поставьте галочку "Разблокировать". Если вы используете архиватор 7-Zip или PeaZip, этот шаг можно пропустить
|
||||
|
||||
4. Запустите нужный файл
|
||||
4. Распакуйте содержимое архива по пути, который не содержит кириллицу/спец. символы
|
||||
|
||||
5. Запустите нужный файл
|
||||
|
||||
## ℹ️Краткие описания файлов
|
||||
|
||||
- [**`general.bat ...`**](./general.bat) - запуск со стратегией для обхода блокировок
|
||||
**Работоспособность той или иной стратегии зависит от многих факторов. Пробуйте разные стратегии (ALT, МГТС и другие), пока не найдёте рабочее для вас решение**
|
||||
- [**`general.bat ...`**](./general.bat) - запуск стратегии вручную
|
||||
|
||||
- [**`service.bat`**](./service.bat) - вспомогательные скрипты:
|
||||
Запуск вручную можно использовать для проверки работоспособности стратегий. Работоспособность той или иной стратегии зависит от многих факторов. **Пробуйте разные стратегии (ALT, FAKE и другие), пока не найдёте рабочее для вас решение**
|
||||
|
||||
- [**`service.bat`**](./service.bat) - установка в автозапуск и другие функции:
|
||||
- <ins>**`Install Service`** - установка любой стратегии в автозапуск (services.msc)</ins>
|
||||
- **`Remove Services`** - удаление стратегии и WinDivert из служб
|
||||
- **`Check Status`** - проверка статуса обхода и служб (стратегии на автозапуске и WinDivert)
|
||||
- **`Run Diagnostics`** - диагностика на распространённые причины, по которым zapret может не работать.
|
||||
В конце можно очистить кэш <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=11 /> `Discord`, что может помочь, если он неожиданно перестал работать
|
||||
- **`Check Updates`** - проверка на обновления
|
||||
- **`Switch Game Filter`** - переключение режима обхода для игр (и других сервисов, использующих UDP и TCP на портах выше 1023).
|
||||
- **`Game Filter`** - переключение режима обхода для игр (и других сервисов, использующих UDP и TCP на портах выше 1023).
|
||||
**После переключения требуется перезапуск стратегии.**
|
||||
В скобках указан текущий статус (включено/выключено).
|
||||
- **`Switch ipset`** - переключение режима обхода сервисов из `ipset-all.txt`.
|
||||
Полезно при тестировании, если не работает то, что не заблокировано.
|
||||
В скобках указан текущий статус (загружен список/пустой список).
|
||||
- **`Update ipset list`** - обновление списка `ipset-all.txt` актуальным из репозитория
|
||||
- **`IPSet Filter`** - переключение режима обхода сервисов из `ipset-all.txt`.
|
||||
Полезно при тестировании, если не работает ресурс, который без zapret работает
|
||||
В скобках указан текущий статус:
|
||||
- `none` - никакие айпи не попадают под проверку
|
||||
- `loaded` - айпи проверяется на вхождение в список
|
||||
- `any` - любой айпи попадает под фильтр
|
||||
- **`Auto-Update Check`** - Вкл/Выкл автоматическую проверку на обновления
|
||||
- **`Replace active fakes`** - Заменить указанный используемый фейк на другой из папки `bin`
|
||||
- **`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 и др.)
|
||||
|
||||
|
||||
## ☑️Распространенные проблемы
|
||||
## ☑️Распространенные вопросы и проблемы
|
||||
|
||||
### После запуска скрипта `general*` ничего не происходит
|
||||
|
||||
- После запуска стратегии (отдельным bat файлом, не через service), должен открыться winws.exe (обход), который можно увидеть в панели задач.
|
||||
Если этого не произошло, то см. [#522](https://github.com/Flowseal/zapret-discord-youtube/issues/522)
|
||||
|
||||
### Не работает телеграм (веб версия) или бесконечное "подключение" к голосовому чату Discord
|
||||
Запустите **`service.bat`**, выберите пункт **`Update hosts file`**. После чего, если ваш hosts будет неактуальным, то Вам будет предложено обновить его самостоятельно:
|
||||
- Скопируйте весь текст из открывшегося блокнота
|
||||
- Откройте файл `hosts` в появившейся папке с помощью текстового редактора, открытого от имени администратора
|
||||
- Добавьте в конец файла `hosts` то, что скопировали (или замените, если до этого Вы уже добавляли подобное)
|
||||
- Сохраните и перепроверьте подключение. Если не работает - убедитесь, что файл `hosts` действительно сохранился.
|
||||
|
||||
### Обход не работает / перестал работать
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **Стратегии блокировок со временем изменяются.**
|
||||
> Определенная стратегия обхода zapret может работать какое-то время, но если меняется способ блокировки или обнаружения обхода блокировки, то она перестанет работать.
|
||||
> **Стратегии со временем могут переставать работать.**
|
||||
> Определенная стратегия может работать какое-то время, но со временем она может переставать работать из-за обнаружения.
|
||||
> В репозитории представлены множество различных стратегий для обхода. Если ни одна из них вам не помогает, то вам необходимо создать новую, взяв за основу одну из представленных здесь и изменив её параметры.
|
||||
> Информацию про параметры стратегий вы можете найти [тут](https://github.com/bol-van/zapret/blob/master/docs/readme.md#nfqws).
|
||||
|
||||
@@ -74,23 +104,27 @@
|
||||
|
||||
- Убедитесь, что адрес ресурса записан в списках доменов или IP
|
||||
|
||||
- Проверьте другие стратегии (**`ALT`**/**`МГТС`** и другие)
|
||||
- Проверьте другие стратегии (**`ALT`**/**`FAKE`** и другие)
|
||||
|
||||
- Выполните полную переустанвоку:
|
||||
- `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` -> выбираете нужную
|
||||
- Попробуйте полную переустановку (см. раздел ниже)
|
||||
|
||||
- См. [#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` **`empty`**. Иначе это может затронуть доступность ресурсов, которых вы не ожидали.
|
||||
- Проверьте, что в service.bat `Game Filter` **`disabled`**, а `IPSet Filter` **`none`**. Иначе это может затронуть доступность ресурсов, которых вы не ожидали.
|
||||
|
||||
### Античит ругается на WinDivert
|
||||
|
||||
@@ -116,23 +150,52 @@ sc stop название_из_первого_шага
|
||||
sc delete название_из_первого_шага
|
||||
```
|
||||
|
||||
### Не работает <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)
|
||||
- Убедитесь что вы настроили 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
|
||||
|
||||
- Убедитесь что вы настроили Secure DNS.
|
||||
- Желательно сначала узнать, на какой стратегии открывается сайт YouTube. Запустите эту стратегию.
|
||||
- Запустите `service.bat` -> `Run Diagnostics` и выполните там очистку кэша Discord.
|
||||
- Проверьте приложение Discord. Помогла ли очистка кэша?
|
||||
- Проверьте Discord в браузере: https://discord.com/app. В браузере работает? Если работает, то можете пользоваться в нём.
|
||||
- Если Discord и в браузере не работает, то пробуйте ещё раз все стратегии. Бывает такое, что на одной стратегии YouTube работает, а Discord нет.
|
||||
- См. также [#252](https://github.com/Flowseal/zapret-discord-youtube/discussions/252)
|
||||
|
||||
### Не работает <img src="https://cdn-icons-png.flaticon.com/128/5968/5968804.png" height=18 /> Telegram
|
||||
|
||||
- Используйте программу [tg-ws-proxy](https://github.com/Flowseal/tg-ws-proxy)
|
||||
- Или используйте бесплатные MTProto прокси из интернета
|
||||
|
||||
### Не работают игры
|
||||
|
||||
Есть много разных игр. Исследовать и чинить каждую из них нет возможности.
|
||||
|
||||
Наиболее универсальный рецепт такой:
|
||||
- через `service.bat` обновите ipset и включите `Game Filter`
|
||||
- если это не поможет, то попробуйте также включить настройку `ipset any`
|
||||
|
||||
Но помните, что при включении `ipset any` появятся проблемы с открытием многих сайтов. Чтобы этого избежать, не используйте `ipset any` на постоянной основе. Вместо этого нужно выяснить все IP адреса, которые используются игрой, и добавить их в `ipset-all.txt`
|
||||
|
||||
Если и это не помогло, создайте ветку обсуждений в разделе [Discussions](https://github.com/Flowseal/zapret-discord-youtube/discussions) (не в issues) и ждите помощи от других игроков.
|
||||
|
||||
### Не нашли своей проблемы
|
||||
|
||||
* Создайте её [тут](https://github.com/Flowseal/zapret-discord-youtube/issues)
|
||||
- Создайте её [тут](https://github.com/Flowseal/zapret-discord-youtube/issues)
|
||||
|
||||
## 🗒️Добавление адресов прочих заблокированных ресурсов
|
||||
## 🗒️Добавление адресов прочих ресурсов
|
||||
|
||||
Список блокирующихся адресов для обхода можно расширить, добавляя их в:
|
||||
- [`list-general.txt`](./lists/list-general.txt) для доменов (поддомены автоматически учитываются)
|
||||
- [`ipset-all.txt`](./lists/ipset-all.txt) для IP и подсетей
|
||||
Список адресов для обхода можно расширить, добавляя их в:
|
||||
- **`list-general-user.txt`** для доменов (поддомены автоматически учитываются)
|
||||
- **`list-exclude-user.txt`** для исключения доменов (например, если айпи сети указан в `ipset-all.txt`, но конкретный домен из этой сети не надо фильтровать)
|
||||
- **`ipset-all.txt`** для IP и подсетей
|
||||
- **`ipset-exclude-user.txt`** для исключения IP и подсетей
|
||||
- Файлы **`*-user.txt`** автоматически создадутся при первом запуске `zapret` или `service.bat`
|
||||
|
||||
## ⭐Поддержка проекта
|
||||
|
||||
@@ -140,14 +203,6 @@ sc delete название_из_первого_шага
|
||||
|
||||
Также вы можете материально поддержать оригинального разработчика 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)
|
||||
|
||||
<a href="https://star-history.com/#Flowseal/zapret-discord-youtube&Date">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Flowseal/zapret-discord-youtube&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Flowseal/zapret-discord-youtube&type=Date" />
|
||||
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Flowseal/zapret-discord-youtube&type=Date" />
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
## ⚖️Лицензирование
|
||||
|
||||
Проект распространяется на условиях лицензии [MIT](https://github.com/Flowseal/zapret-discord-youtube/blob/main/LICENSE.txt)
|
||||
|
||||
BIN
bin/ACTIVE_DISCORD_UDP.bin
Normal file
BIN
bin/ACTIVE_DISCORD_UDP.bin
Normal file
Binary file not shown.
BIN
bin/ACTIVE_GAME_UDP.bin
Normal file
BIN
bin/ACTIVE_GAME_UDP.bin
Normal file
Binary file not shown.
BIN
bin/quic_initial_4pda.to.bin
Normal file
BIN
bin/quic_initial_4pda.to.bin
Normal file
Binary file not shown.
BIN
bin/quic_initial_dbankcloud_ru.bin
Normal file
BIN
bin/quic_initial_dbankcloud_ru.bin
Normal file
Binary file not shown.
BIN
bin/quic_initial_steamcommunity_com.bin
Normal file
BIN
bin/quic_initial_steamcommunity_com.bin
Normal file
Binary file not shown.
BIN
bin/quic_initial_tencent_com.bin
Normal file
BIN
bin/quic_initial_tencent_com.bin
Normal file
Binary file not shown.
BIN
bin/stun.bin
Normal file
BIN
bin/stun.bin
Normal file
Binary file not shown.
BIN
bin/stun2.bin
Normal file
BIN
bin/stun2.bin
Normal file
Binary file not shown.
BIN
bin/tls_clienthello_4pda_to.bin
Normal file
BIN
bin/tls_clienthello_4pda_to.bin
Normal file
Binary file not shown.
BIN
bin/tls_clienthello_max_ru.bin
Normal file
BIN
bin/tls_clienthello_max_ru.bin
Normal file
Binary file not shown.
BIN
bin/winws.exe
BIN
bin/winws.exe
Binary file not shown.
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,fakedsplit --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-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,fakedsplit --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-all.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-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake,fakedsplit --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=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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: %~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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n3
|
||||
|
||||
25
general (ALT10).bat
Normal file
25
general (ALT10).bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
25
general (ALT11).bat
Normal file
25
general (ALT11).bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n4
|
||||
25
general (ALT12).bat
Normal file
25
general (ALT12).bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@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-fake-discord="%BIN%stun.bin" --dpi-desync-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-repeats=3 --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=hostfakesplit --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=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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n4
|
||||
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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-general.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" --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-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.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=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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
|
||||
--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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
|
||||
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fakedsplit --dpi-desync-split-pos=1 --dpi-desync-autottl --dpi-desync-fooling=badseq --dpi-desync-repeats=8 --new ^
|
||||
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fakedsplit --dpi-desync-split-pos=1 --dpi-desync-autottl --dpi-desync-fooling=badseq --dpi-desync-repeats=8 --new ^
|
||||
--filter-udp=443 --ipset="%LISTS%ipset-all.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-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fakedsplit --dpi-desync-split-pos=1 --dpi-desync-autottl --dpi-desync-fooling=badseq --dpi-desync-repeats=8 --new ^
|
||||
--filter-udp=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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: %~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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n4
|
||||
|
||||
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --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-all.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-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake,multisplit --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||
--filter-udp=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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: %~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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
|
||||
@@ -7,17 +7,17 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-l3=ipv4 --filter-tcp=443,2053,2083,2087,2096,8443,%GameFilter% --dpi-desync=syndata --new ^
|
||||
--filter-tcp=80 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||
--filter-udp=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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: %~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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n3
|
||||
|
||||
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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-general.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" --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-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.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=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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
|
||||
--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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
|
||||
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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-general.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" --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-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=syndata --new ^
|
||||
--filter-udp=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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
|
||||
--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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
|
||||
25
general (ALT8).bat
Normal file
25
general (ALT8).bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
25
general (ALT9).bat
Normal file
25
general (ALT9).bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
25
general (EXP).bat
Normal file
25
general (EXP).bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@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-l7=quic --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,unknown --dpi-desync=fake --dpi-desync-fake-discord="%BIN%quic_initial_www_google_com.bin" --dpi-desync-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-fake-unknown-udp="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-repeats=4 --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=hostfakesplit --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=fake,multisplit --dpi-desync-split-seqovl=480 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=4 --dpi-desync-split-seqovl-pattern="%BIN%stun2.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" --hostlist-exclude-domains=fonts.googleapis.com --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=480 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=4 --dpi-desync-split-seqovl-pattern="%BIN%stun2.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%stun2.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=5 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_4pda.to.bin" --dpi-desync-fake-unknown-udp="%BIN%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n4
|
||||
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-autottl --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
|
||||
--filter-tcp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-autottl --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
|
||||
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||
--filter-tcp=80 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-autottl --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
|
||||
--filter-udp=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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: %~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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
|
||||
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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-general.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 --new ^
|
||||
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||
--filter-tcp=80 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.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 --new ^
|
||||
--filter-udp=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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
|
||||
--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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
|
||||
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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-general.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 --new ^
|
||||
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||
--filter-tcp=80 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.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 --new ^
|
||||
--filter-udp=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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
|
||||
--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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n3
|
||||
|
||||
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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-general.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 --new ^
|
||||
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||
--filter-tcp=80 --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake,fakedsplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.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 --new ^
|
||||
--filter-udp=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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
|
||||
--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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
|
||||
25
general (SIMPLE FAKE ALT).bat
Normal file
25
general (SIMPLE FAKE ALT).bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
25
general (SIMPLE FAKE ALT2).bat
Normal file
25
general (SIMPLE FAKE ALT2).bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n3
|
||||
25
general (SIMPLE FAKE).bat
Normal file
25
general (SIMPLE FAKE).bat
Normal file
@@ -0,0 +1,25 @@
|
||||
@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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n3
|
||||
@@ -1,24 +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
|
||||
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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --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-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-all.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-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.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=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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
|
||||
@@ -1,24 +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
|
||||
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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --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-all.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-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.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=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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
|
||||
21
general.bat
21
general.bat
@@ -6,19 +6,20 @@ 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,%GameFilter% --wf-udp=443,19294-19344,50000-50100,%GameFilter% ^
|
||||
--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=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 --new ^
|
||||
--filter-tcp=80 --hostlist="%LISTS%list-general.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multidisorder --dpi-desync-split-pos=midsld --dpi-desync-repeats=8 --dpi-desync-fooling=md5sig,badseq --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-all.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-all.txt" --dpi-desync=fake,multisplit --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
||||
--filter-tcp=443,%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=midsld --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig,badseq --new ^
|
||||
--filter-udp=%GameFilter% --ipset="%LISTS%ipset-all.txt" --dpi-desync=fake --dpi-desync-autottl=2 --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: %~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-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --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%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n2
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
11
lists/ipset-exclude.txt
Normal file
11
lists/ipset-exclude.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
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
|
||||
112
lists/list-exclude.txt
Normal file
112
lists/list-exclude.txt
Normal file
@@ -0,0 +1,112 @@
|
||||
pusher.com
|
||||
twitch.tv
|
||||
mail.ru
|
||||
citilink.ru
|
||||
yandex.com
|
||||
yandex.net
|
||||
yandex.org
|
||||
yandex.md
|
||||
yandex.ru
|
||||
yandexadexchange.net
|
||||
yandexcloud.net
|
||||
yandexcom.net
|
||||
yandexmetrica.com
|
||||
yandexwebcache.net
|
||||
yandexwebcache.org
|
||||
yastat.net
|
||||
yastatic-net.ru
|
||||
yastatic.net
|
||||
ya.ru
|
||||
adfox.ru
|
||||
admetrica.ru
|
||||
naydex.net
|
||||
rostaxi.org
|
||||
turbopages.org
|
||||
webvisor.com
|
||||
webvisor.org
|
||||
nvidia.com
|
||||
donationalerts.com
|
||||
vk.com
|
||||
yandex.kz
|
||||
mts.ru
|
||||
multimc.org
|
||||
dns-shop.ru
|
||||
habr.com
|
||||
3dnews.ru
|
||||
microsoft.com
|
||||
microsoftonline.com
|
||||
live.com
|
||||
sharepoint.com
|
||||
minecraft.net
|
||||
xboxlive.com
|
||||
akamaitechnologies.com
|
||||
msi.com
|
||||
2ip.ru
|
||||
boosty.to
|
||||
tanki.su
|
||||
lesta.ru
|
||||
korabli.su
|
||||
tanksblitz.ru
|
||||
reg.ru
|
||||
epicgames.dev
|
||||
epicgames.com
|
||||
unrealengine.com
|
||||
riotgames.com
|
||||
riotcdn.net
|
||||
leagueoflegends.com
|
||||
playvalorant.com
|
||||
marketplace.visualstudio.com
|
||||
gallery.vsassets.io
|
||||
gallerycdn.vsassets.io
|
||||
gosuslugi.ru
|
||||
gov.ru
|
||||
nalog.ru
|
||||
spb.ru
|
||||
mos.ru
|
||||
vk.ru
|
||||
vk.me
|
||||
vkvideo.ru
|
||||
ok.ru
|
||||
mycdn.me
|
||||
okcdn.ru
|
||||
odkl.ru
|
||||
wb.ru
|
||||
geobasket.ru
|
||||
paywb.com
|
||||
rwb.ru
|
||||
wb-basket.ru
|
||||
wbbasket.ru
|
||||
wbpay.ru
|
||||
wibes.ru
|
||||
wildberries.ru
|
||||
ozon.by
|
||||
ozon.com
|
||||
ozon.com.by
|
||||
ozon.com.kz
|
||||
ozon.kz
|
||||
ozon.ru
|
||||
ozon.tm
|
||||
ozone.ru
|
||||
ozonru.me
|
||||
ozonusercontent.com
|
||||
alfabank.ru
|
||||
gazprombank.ru
|
||||
gpb.ru
|
||||
dbo-dengi.online
|
||||
mtsdengi.ru
|
||||
psbank.ru
|
||||
bankline.ru
|
||||
rosbank.ru
|
||||
abr.ru
|
||||
rshb.ru
|
||||
sber.ru
|
||||
sberbank.com
|
||||
sberbank.ru
|
||||
cdn-tinkoff.ru
|
||||
tbank-online.com
|
||||
tbank.ru
|
||||
t-bank-app.ru
|
||||
tochka-tech.com
|
||||
tochka.com
|
||||
vtb.ru
|
||||
steamcommunity.com
|
||||
@@ -1,4 +1,21 @@
|
||||
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
|
||||
cloudfront.net
|
||||
dis.gd
|
||||
discord-attachments-uploads-prd.storage.googleapis.com
|
||||
discord.app
|
||||
@@ -22,25 +39,12 @@ discordmerch.com
|
||||
discordpartygames.com
|
||||
discordsays.com
|
||||
discordsez.com
|
||||
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
|
||||
discordstatus.com
|
||||
frankerfacez.com
|
||||
ffzap.com
|
||||
betterttv.net
|
||||
7tv.app
|
||||
7tv.io
|
||||
localizeapi.com
|
||||
klipy.com
|
||||
live-video.net
|
||||
|
||||
20
lists/list-google.txt
Normal file
20
lists/list-google.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
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
|
||||
youtube.googleapis.com
|
||||
youtubei.googleapis.com
|
||||
youtu.be
|
||||
yt-video-upload.l.google.com
|
||||
ytimg.com
|
||||
ytimg.l.google.com
|
||||
play.google.com
|
||||
google.ru
|
||||
677
service.bat
677
service.bat
@@ -1,5 +1,5 @@
|
||||
@echo off
|
||||
set "LOCAL_VERSION=1.8.4"
|
||||
set "LOCAL_VERSION=1.10.0"
|
||||
|
||||
:: External commands
|
||||
if "%~1"=="status_zapret" (
|
||||
@@ -9,11 +9,16 @@ if "%~1"=="status_zapret" (
|
||||
)
|
||||
|
||||
if "%~1"=="check_updates" (
|
||||
if defined NO_UPDATE_CHECK exit /b
|
||||
|
||||
if exist "%~dp0utils\check_updates.enabled" (
|
||||
if not "%~2"=="soft" (
|
||||
start /b service check_updates soft
|
||||
) else (
|
||||
call :service_check_updates soft
|
||||
)
|
||||
)
|
||||
|
||||
exit /b
|
||||
)
|
||||
|
||||
@@ -22,50 +27,112 @@ if "%~1"=="load_game_filter" (
|
||||
exit /b
|
||||
)
|
||||
|
||||
if "%~1"=="load_user_lists" (
|
||||
call :load_user_lists
|
||||
exit /b
|
||||
)
|
||||
|
||||
if "%1"=="admin" (
|
||||
call :check_command chcp
|
||||
call :check_command find
|
||||
call :check_command findstr
|
||||
call :check_command netsh
|
||||
|
||||
call :load_user_lists
|
||||
|
||||
echo Started with admin rights
|
||||
) else (
|
||||
call :check_extracted
|
||||
call :check_command powershell
|
||||
|
||||
echo Requesting admin rights...
|
||||
powershell -Command "Start-Process 'cmd.exe' -ArgumentList '/c \"\"%~f0\" admin\"' -Verb RunAs"
|
||||
exit /b
|
||||
powershell -NoProfile -Command "Start-Process 'cmd.exe' -ArgumentList '/c \"\"%~f0\" admin\"' -Verb RunAs"
|
||||
exit
|
||||
)
|
||||
|
||||
|
||||
:: MENU ================================
|
||||
setlocal EnableDelayedExpansion
|
||||
title ZAPRET SERVICE MANAGER v!LOCAL_VERSION!
|
||||
:menu
|
||||
|
||||
cls
|
||||
|
||||
call :ipset_switch_status
|
||||
call :game_switch_status
|
||||
call :check_updates_switch_status
|
||||
call :get_strategy_name
|
||||
|
||||
set "menu_choice=null"
|
||||
echo =========v!LOCAL_VERSION!=========
|
||||
|
||||
echo.
|
||||
echo ZAPRET SERVICE MANAGER v!LOCAL_VERSION!
|
||||
echo. !CurrentStrategy!
|
||||
echo ----------------------------------------
|
||||
echo.
|
||||
echo :: SERVICE
|
||||
echo 1. Install Service
|
||||
echo 2. Remove Services
|
||||
echo 3. Check Status
|
||||
echo 4. Run Diagnostics
|
||||
echo 5. Check Updates
|
||||
echo 6. Switch Game Filter (%GameFilterStatus%)
|
||||
echo 7. Switch ipset (%IPsetStatus%)
|
||||
echo 8. Update ipset list
|
||||
echo.
|
||||
echo :: SETTINGS
|
||||
echo 4. Game Filter [!GameFilterStatus!]
|
||||
echo 5. IPSet Filter [!IPsetStatus!]
|
||||
echo 6. Auto-Update Check [!CheckUpdatesStatus!]
|
||||
echo 7. Replace active fakes
|
||||
echo.
|
||||
echo :: UPDATES
|
||||
echo 8. Update IPSet List
|
||||
echo 9. Update Hosts File
|
||||
echo 10. Check for Updates
|
||||
echo.
|
||||
echo :: TOOLS
|
||||
echo 11. Run Diagnostics
|
||||
echo 12. Run Tests
|
||||
echo.
|
||||
echo ----------------------------------------
|
||||
echo 0. Exit
|
||||
set /p menu_choice=Enter choice (0-8):
|
||||
echo.
|
||||
|
||||
set /p menu_choice= Select option (0-12):
|
||||
|
||||
if "%menu_choice%"=="1" goto service_install
|
||||
if "%menu_choice%"=="2" goto service_remove
|
||||
if "%menu_choice%"=="3" goto service_status
|
||||
if "%menu_choice%"=="4" goto service_diagnostics
|
||||
if "%menu_choice%"=="5" goto service_check_updates
|
||||
if "%menu_choice%"=="6" goto game_switch
|
||||
if "%menu_choice%"=="7" goto ipset_switch
|
||||
if "%menu_choice%"=="4" goto game_switch
|
||||
if "%menu_choice%"=="5" goto ipset_switch
|
||||
if "%menu_choice%"=="6" goto check_updates_switch
|
||||
if "%menu_choice%"=="7" goto replace_active_fakes
|
||||
if "%menu_choice%"=="8" goto ipset_update
|
||||
if "%menu_choice%"=="9" goto hosts_update
|
||||
if "%menu_choice%"=="10" goto service_check_updates
|
||||
if "%menu_choice%"=="11" goto service_diagnostics
|
||||
if "%menu_choice%"=="12" goto run_tests
|
||||
if "%menu_choice%"=="0" exit /b
|
||||
goto menu
|
||||
|
||||
|
||||
:: LOAD USER LISTS =====================
|
||||
:load_user_lists
|
||||
set "LISTS_PATH=%~dp0lists\"
|
||||
|
||||
if not exist "%LISTS_PATH%ipset-exclude-user.txt" (
|
||||
echo 203.0.113.113/32>"%LISTS_PATH%ipset-exclude-user.txt"
|
||||
)
|
||||
if not exist "%LISTS_PATH%list-general-user.txt" (
|
||||
echo # Never leave this file empty>"%LISTS_PATH%list-general-user.txt"
|
||||
echo domain.example.abc>>"%LISTS_PATH%list-general-user.txt"
|
||||
)
|
||||
if not exist "%LISTS_PATH%list-exclude-user.txt" (
|
||||
echo domain.example.abc>"%LISTS_PATH%list-exclude-user.txt"
|
||||
)
|
||||
|
||||
exit /b
|
||||
|
||||
|
||||
:: TCP ENABLE ==========================
|
||||
:tcp_enable
|
||||
chcp 437 > nul
|
||||
netsh interface tcp show global | findstr /i "timestamps" | findstr /i "enabled" > nul || netsh interface tcp set global timestamps=enabled > nul 2>&1
|
||||
exit /b
|
||||
|
||||
@@ -82,13 +149,18 @@ if !errorlevel!==0 (
|
||||
|
||||
call :test_service zapret
|
||||
call :test_service WinDivert
|
||||
|
||||
set "BIN_PATH=%~dp0bin\"
|
||||
if not exist "%BIN_PATH%\*.sys" (
|
||||
call :PrintRed "WinDivert64.sys file NOT found."
|
||||
)
|
||||
echo:
|
||||
|
||||
tasklist /FI "IMAGENAME eq winws.exe" | find /I "winws.exe" > nul
|
||||
if !errorlevel!==0 (
|
||||
call :PrintGreen "Bypass (winws.exe) is ACTIVE"
|
||||
call :PrintGreen "Bypass (winws.exe) is RUNNING."
|
||||
) else (
|
||||
call :PrintRed "Bypass (winws.exe) NOT FOUND"
|
||||
call :PrintRed "Bypass (winws.exe) is NOT running."
|
||||
)
|
||||
|
||||
pause
|
||||
@@ -156,7 +228,7 @@ goto menu
|
||||
:: INSTALL =============================
|
||||
:service_install
|
||||
cls
|
||||
chcp 65001 > nul
|
||||
chcp 437 > nul
|
||||
|
||||
:: Main
|
||||
cd /d "%~dp0"
|
||||
@@ -166,19 +238,26 @@ set "LISTS_PATH=%~dp0lists\"
|
||||
:: Searching for .bat files in current folder, except files that start with "service"
|
||||
echo Pick one of the options:
|
||||
set "count=0"
|
||||
for %%f in (*.bat) do (
|
||||
set "filename=%%~nxf"
|
||||
if /i not "!filename:~0,7!"=="service" (
|
||||
for /f "delims=" %%F in ('powershell -NoProfile -Command "Get-ChildItem -LiteralPath '.' -Filter '*.bat' | Where-Object { $_.Name -notlike 'service*' } | Sort-Object { [Regex]::Replace($_.Name, '(\d+)', { $args[0].Value.PadLeft(8, '0') }) } | ForEach-Object { $_.Name }"') do (
|
||||
set /a count+=1
|
||||
echo !count!. %%f
|
||||
set "file!count!=%%f"
|
||||
)
|
||||
echo !count!. %%F
|
||||
set "file!count!=%%F"
|
||||
)
|
||||
|
||||
echo 0. Exit
|
||||
|
||||
echo.
|
||||
|
||||
:: Choosing file
|
||||
set "choice="
|
||||
set /p "choice=Input file index (number): "
|
||||
if "!choice!"=="" goto :eof
|
||||
set /p "choice=Input option (0-!count!, default: 0): "
|
||||
if "!choice!"=="" (
|
||||
set "choice=0"
|
||||
)
|
||||
|
||||
if "!choice!"=="0" (
|
||||
goto menu
|
||||
)
|
||||
|
||||
set "selectedFile=!file%choice%!"
|
||||
if not defined selectedFile (
|
||||
@@ -188,7 +267,7 @@ if not defined selectedFile (
|
||||
)
|
||||
|
||||
:: Args that should be followed by value
|
||||
set "args_with_value=sni"
|
||||
set "args_with_value=sni host altorder"
|
||||
|
||||
:: Parsing args (mergeargs: 2=start param|3=arg with value|1=params args|0=default)
|
||||
set "args="
|
||||
@@ -236,6 +315,10 @@ for /f "tokens=*" %%a in ('type "!selectedFile!"') do (
|
||||
)
|
||||
) else if "!arg:~0,12!" EQU "%%GameFilter%%" (
|
||||
set "arg=%GameFilter%"
|
||||
) else if "!arg:~0,15!" EQU "%%GameFilterTCP%%" (
|
||||
set "arg=%GameFilterTCP%"
|
||||
) else if "!arg:~0,15!" EQU "%%GameFilterUDP%%" (
|
||||
set "arg=%GameFilterUDP%"
|
||||
)
|
||||
|
||||
if !mergeargs!==1 (
|
||||
@@ -249,9 +332,9 @@ for /f "tokens=*" %%a in ('type "!selectedFile!"') do (
|
||||
|
||||
if "!arg:~0,2!" EQU "--" (
|
||||
set "mergeargs=2"
|
||||
) else if !mergeargs!==2 (
|
||||
set "mergeargs=1"
|
||||
) else if !mergeargs!==1 (
|
||||
) else if !mergeargs! GEQ 1 (
|
||||
if !mergeargs!==2 set "mergeargs=1"
|
||||
|
||||
for %%x in (!args_with_value!) do (
|
||||
if /i "%%x"=="!arg!" (
|
||||
set "mergeargs=3"
|
||||
@@ -297,10 +380,10 @@ cls
|
||||
:: Set current version and URLs
|
||||
set "GITHUB_VERSION_URL=https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/main/.service/version.txt"
|
||||
set "GITHUB_RELEASE_URL=https://github.com/Flowseal/zapret-discord-youtube/releases/tag/"
|
||||
set "GITHUB_DOWNLOAD_URL=https://github.com/Flowseal/zapret-discord-youtube/releases/latest/download/zapret-discord-youtube-"
|
||||
set "GITHUB_DOWNLOAD_URL=https://github.com/Flowseal/zapret-discord-youtube/releases/latest"
|
||||
|
||||
:: 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"
|
||||
for /f "delims=" %%A in ('powershell -NoProfile -Command "(Invoke-WebRequest -Uri \"%GITHUB_VERSION_URL%\" -Headers @{\"Cache-Control\"=\"no-cache\"} -UseBasicParsing -TimeoutSec 5).Content.Trim()" 2^>nul') do set "GITHUB_VERSION=%%A"
|
||||
|
||||
:: Error handling
|
||||
if not defined GITHUB_VERSION (
|
||||
@@ -322,15 +405,8 @@ if "%LOCAL_VERSION%"=="%GITHUB_VERSION%" (
|
||||
echo New version available: %GITHUB_VERSION%
|
||||
echo Release page: %GITHUB_RELEASE_URL%%GITHUB_VERSION%
|
||||
|
||||
set "CHOICE="
|
||||
set /p "CHOICE=Do you want to automatically download the new version? (Y/N) (default: Y) "
|
||||
if "%CHOICE%"=="" set "CHOICE=Y"
|
||||
if /i "%CHOICE%"=="y" set "CHOICE=Y"
|
||||
|
||||
if /i "%CHOICE%"=="Y" (
|
||||
echo Opening the download page...
|
||||
start "" "%GITHUB_DOWNLOAD_URL%%GITHUB_VERSION%.rar"
|
||||
)
|
||||
echo Opening the download page...
|
||||
start "" "%GITHUB_DOWNLOAD_URL%"
|
||||
|
||||
|
||||
if "%1"=="soft" exit
|
||||
@@ -353,6 +429,26 @@ if !errorlevel!==0 (
|
||||
)
|
||||
echo:
|
||||
|
||||
:: Proxy check
|
||||
set "proxyEnabled=0"
|
||||
set "proxyServer="
|
||||
|
||||
for /f "tokens=2*" %%A in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable 2^>nul ^| findstr /i "ProxyEnable"') do (
|
||||
if "%%B"=="0x1" set "proxyEnabled=1"
|
||||
)
|
||||
|
||||
if !proxyEnabled!==1 (
|
||||
for /f "tokens=2*" %%A in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer 2^>nul ^| findstr /i "ProxyServer"') do (
|
||||
set "proxyServer=%%B"
|
||||
)
|
||||
|
||||
call :PrintYellow "[?] System proxy is enabled: !proxyServer!"
|
||||
call :PrintYellow "Make sure it's valid or disable it if you don't use a proxy"
|
||||
) else (
|
||||
call :PrintGreen "Proxy check passed"
|
||||
)
|
||||
echo:
|
||||
|
||||
:: TCP timestamps check
|
||||
netsh interface tcp show global | findstr /i "timestamps" | findstr /i "enabled" > nul
|
||||
if !errorlevel!==0 (
|
||||
@@ -428,10 +524,25 @@ if !errorlevel!==0 (
|
||||
)
|
||||
echo:
|
||||
|
||||
:: WinDivert64.sys file
|
||||
set "BIN_PATH=%~dp0bin\"
|
||||
if not exist "%BIN_PATH%\*.sys" (
|
||||
call :PrintRed "WinDivert64.sys file NOT found."
|
||||
echo:
|
||||
)
|
||||
|
||||
:: VPN
|
||||
set "VPN_SERVICES="
|
||||
sc query | findstr /I "VPN" > nul
|
||||
if !errorlevel!==0 (
|
||||
call :PrintYellow "[?] Some VPN services found. Some VPNs can conflict with zapret"
|
||||
for /f "tokens=2 delims=:" %%A in ('sc query ^| findstr /I "VPN"') do (
|
||||
if not defined VPN_SERVICES (
|
||||
set "VPN_SERVICES=!VPN_SERVICES!%%A"
|
||||
) else (
|
||||
set "VPN_SERVICES=!VPN_SERVICES!,%%A"
|
||||
)
|
||||
)
|
||||
call :PrintYellow "[?] VPN services found:!VPN_SERVICES!. Some VPNs can conflict with zapret"
|
||||
call :PrintYellow "Make sure that all VPNs are disabled"
|
||||
) else (
|
||||
call :PrintGreen "VPN check passed"
|
||||
@@ -440,7 +551,7 @@ echo:
|
||||
|
||||
:: DNS
|
||||
set "dohfound=0"
|
||||
for /f "delims=" %%a in ('powershell -Command "Get-ChildItem -Recurse -Path 'HKLM:System\CurrentControlSet\Services\Dnscache\InterfaceSpecificParameters\' | Get-ItemProperty | Where-Object { $_.DohFlags -gt 0 } | Measure-Object | Select-Object -ExpandProperty Count"') do (
|
||||
for /f "delims=" %%a in ('powershell -NoProfile -Command "Get-ChildItem -Recurse -Path 'HKLM:System\CurrentControlSet\Services\Dnscache\InterfaceSpecificParameters\' | Get-ItemProperty | Where-Object { $_.DohFlags -gt 0 } | Measure-Object | Select-Object -ExpandProperty Count"') do (
|
||||
if %%a gtr 0 (
|
||||
set "dohfound=1"
|
||||
)
|
||||
@@ -453,11 +564,22 @@ if !dohfound!==0 (
|
||||
)
|
||||
echo:
|
||||
|
||||
:: Hosts file check
|
||||
set "hostsFile=%SystemRoot%\System32\drivers\etc\hosts"
|
||||
if exist "%hostsFile%" (
|
||||
set "yt_found=0"
|
||||
>nul 2>&1 findstr /I "youtube.com" "%hostsFile%" && set "yt_found=1"
|
||||
>nul 2>&1 findstr /I "youtu.be" "%hostsFile%" && set "yt_found=1"
|
||||
if !yt_found!==1 (
|
||||
call :PrintYellow "[?] Your hosts file contains entries for youtube.com or youtu.be. This may cause problems with YouTube access"
|
||||
)
|
||||
)
|
||||
|
||||
:: WinDivert conflict
|
||||
tasklist /FI "IMAGENAME eq winws.exe" | find /I "winws.exe" > nul
|
||||
set "winws_running=!errorlevel!"
|
||||
|
||||
sc query WinDidvert | findstr /I "RUNNING STOP_PENDING" > nul
|
||||
sc query "WinDivert" | findstr /I "RUNNING STOP_PENDING" > nul
|
||||
set "windivert_running=!errorlevel!"
|
||||
|
||||
if !winws_running! neq 0 if !windivert_running!==0 (
|
||||
@@ -465,7 +587,8 @@ if !winws_running! neq 0 if !windivert_running!==0 (
|
||||
|
||||
net stop "WinDivert" >nul 2>&1
|
||||
sc delete "WinDivert" >nul 2>&1
|
||||
if !errorlevel! neq 0 (
|
||||
sc query "WinDivert" >nul 2>&1
|
||||
if !errorlevel!==0 (
|
||||
call :PrintRed "[X] Failed to delete WinDivert. Checking for conflicting services..."
|
||||
|
||||
set "conflicting_services=GoodbyeDPI"
|
||||
@@ -491,6 +614,7 @@ if !winws_running! neq 0 if !windivert_running!==0 (
|
||||
) else (
|
||||
call :PrintYellow "[?] Attempting to delete WinDivert again..."
|
||||
|
||||
net stop "WinDivert" >nul 2>&1
|
||||
sc delete "WinDivert" >nul 2>&1
|
||||
sc query "WinDivert" >nul 2>&1
|
||||
if !errorlevel! neq 0 (
|
||||
@@ -508,6 +632,8 @@ if !winws_running! neq 0 if !windivert_running!==0 (
|
||||
|
||||
:: Conflicting bypasses
|
||||
set "conflicting_services=GoodbyeDPI discordfix_zapret winws1 winws2"
|
||||
set "found_any_conflict=0"
|
||||
set "found_conflicts="
|
||||
|
||||
for %%s in (!conflicting_services!) do (
|
||||
sc query "%%s" >nul 2>&1
|
||||
@@ -552,37 +678,22 @@ if !found_any_conflict!==1 (
|
||||
|
||||
:: Discord cache clearing
|
||||
set "CHOICE="
|
||||
set /p "CHOICE=Do you want to clear the Discord cache? (Y/N) (default: Y) "
|
||||
set /p "CHOICE=Do you want to clear the Discord and Discord PTB cache? (Y/N) (default: Y) "
|
||||
if "!CHOICE!"=="" set "CHOICE=Y"
|
||||
if "!CHOICE!"=="y" set "CHOICE=Y"
|
||||
|
||||
if /i "!CHOICE!"=="Y" (
|
||||
tasklist /FI "IMAGENAME eq Discord.exe" | findstr /I "Discord.exe" > nul
|
||||
if !errorlevel!==0 (
|
||||
echo Discord is running, closing...
|
||||
taskkill /IM Discord.exe /F > nul
|
||||
if !errorlevel! == 0 (
|
||||
call :PrintGreen "Discord was successfully closed"
|
||||
) else (
|
||||
call :PrintRed "Unable to close Discord"
|
||||
)
|
||||
)
|
||||
|
||||
set "discordCacheDir=%appdata%\discord"
|
||||
|
||||
for %%d in ("Cache" "Code Cache" "GPUCache") do (
|
||||
set "dirPath=!discordCacheDir!\%%~d"
|
||||
if exist "!dirPath!" (
|
||||
rd /s /q "!dirPath!"
|
||||
if !errorlevel!==0 (
|
||||
call :PrintGreen "Successfully deleted !dirPath!"
|
||||
) else (
|
||||
call :PrintRed "Failed to delete !dirPath!"
|
||||
)
|
||||
) else (
|
||||
call :PrintRed "!dirPath! does not exist"
|
||||
set "discordFound=0"
|
||||
if exist "%APPDATA%\discord\" (
|
||||
set "discordFound=1"
|
||||
call :clear_discord_cache "Discord.exe" "Discord" "%APPDATA%\discord"
|
||||
)
|
||||
if exist "%APPDATA%\discordptb\" (
|
||||
set "discordFound=1"
|
||||
call :clear_discord_cache "DiscordPTB.exe" "Discord PTB" "%APPDATA%\discordptb"
|
||||
)
|
||||
if !discordFound! equ 0 call :PrintRed "Discord and Discord PTB were not found"
|
||||
set "discordFound="
|
||||
)
|
||||
echo:
|
||||
|
||||
@@ -594,14 +705,36 @@ goto menu
|
||||
:game_switch_status
|
||||
chcp 437 > nul
|
||||
|
||||
set "gameFlagFile=%~dp0bin\game_filter.enabled"
|
||||
set "gameFlagFile=%~dp0utils\game_filter.enabled"
|
||||
|
||||
if exist "%gameFlagFile%" (
|
||||
set "GameFilterStatus=enabled"
|
||||
set "GameFilter=1024-65535"
|
||||
) else (
|
||||
if not exist "%gameFlagFile%" (
|
||||
set "GameFilterStatus=disabled"
|
||||
set "GameFilter=12"
|
||||
set "GameFilterTCP=12"
|
||||
set "GameFilterUDP=12"
|
||||
exit /b
|
||||
)
|
||||
|
||||
set "GameFilterMode="
|
||||
for /f "usebackq delims=" %%A in ("%gameFlagFile%") do (
|
||||
if not defined GameFilterMode set "GameFilterMode=%%A"
|
||||
)
|
||||
|
||||
if /i "%GameFilterMode%"=="all" (
|
||||
set "GameFilterStatus=enabled (TCP and UDP)"
|
||||
set "GameFilter=1024-65535"
|
||||
set "GameFilterTCP=1024-65535"
|
||||
set "GameFilterUDP=1024-65535"
|
||||
) else if /i "%GameFilterMode%"=="tcp" (
|
||||
set "GameFilterStatus=enabled (TCP)"
|
||||
set "GameFilter=1024-65535"
|
||||
set "GameFilterTCP=1024-65535"
|
||||
set "GameFilterUDP=12"
|
||||
) else (
|
||||
set "GameFilterStatus=enabled (UDP)"
|
||||
set "GameFilter=1024-65535"
|
||||
set "GameFilterTCP=12"
|
||||
set "GameFilterUDP=1024-65535"
|
||||
)
|
||||
exit /b
|
||||
|
||||
@@ -610,29 +743,198 @@ exit /b
|
||||
chcp 437 > nul
|
||||
cls
|
||||
|
||||
if not exist "%gameFlagFile%" (
|
||||
echo Enabling game filter...
|
||||
echo ENABLED > "%gameFlagFile%"
|
||||
call :PrintYellow "Restart the zapret to apply the changes"
|
||||
) else (
|
||||
echo Disabling game filter...
|
||||
echo Select game filter mode:
|
||||
echo 0. Disable
|
||||
echo 1. TCP and UDP
|
||||
echo 2. TCP only
|
||||
echo 3. UDP only
|
||||
echo.
|
||||
set "GameFilterChoice=0"
|
||||
set /p "GameFilterChoice=Select option (0-3, default: 0): "
|
||||
if "%GameFilterChoice%"=="" set "GameFilterChoice=0"
|
||||
|
||||
if "%GameFilterChoice%"=="0" (
|
||||
if exist "%gameFlagFile%" (
|
||||
del /f /q "%gameFlagFile%"
|
||||
call :PrintYellow "Restart the zapret to apply the changes"
|
||||
) else (
|
||||
goto menu
|
||||
)
|
||||
) else if "%GameFilterChoice%"=="1" (
|
||||
echo all>"%gameFlagFile%"
|
||||
) else if "%GameFilterChoice%"=="2" (
|
||||
echo tcp>"%gameFlagFile%"
|
||||
) else if "%GameFilterChoice%"=="3" (
|
||||
echo udp>"%gameFlagFile%"
|
||||
) else (
|
||||
echo Invalid choice, exiting...
|
||||
pause
|
||||
goto menu
|
||||
)
|
||||
|
||||
call :PrintYellow "Restart the zapret to apply the changes"
|
||||
pause
|
||||
goto menu
|
||||
|
||||
|
||||
:: CHECK UPDATES SWITCH =================
|
||||
:check_updates_switch_status
|
||||
chcp 437 > nul
|
||||
|
||||
set "checkUpdatesFlag=%~dp0utils\check_updates.enabled"
|
||||
|
||||
if exist "%checkUpdatesFlag%" (
|
||||
set "CheckUpdatesStatus=enabled"
|
||||
) else (
|
||||
set "CheckUpdatesStatus=disabled"
|
||||
)
|
||||
exit /b
|
||||
|
||||
|
||||
:check_updates_switch
|
||||
chcp 437 > nul
|
||||
cls
|
||||
|
||||
if not exist "%checkUpdatesFlag%" (
|
||||
echo Enabling check updates...
|
||||
echo ENABLED > "%checkUpdatesFlag%"
|
||||
) else (
|
||||
echo Disabling check updates...
|
||||
del /f /q "%checkUpdatesFlag%"
|
||||
)
|
||||
|
||||
pause
|
||||
goto menu
|
||||
|
||||
|
||||
:: REPLACE ACTIVE FAKES =================
|
||||
:replace_active_fakes
|
||||
chcp 437 > nul
|
||||
cls
|
||||
|
||||
set "BIN_PATH=%~dp0bin\"
|
||||
set "fake_count=0"
|
||||
set "fake_type="
|
||||
set "fake_number="
|
||||
set "discord_hash="
|
||||
set "game_hash="
|
||||
set "current_discord_fake=(not found)"
|
||||
set "current_game_fake=(not found)"
|
||||
|
||||
if not exist "%BIN_PATH%" (
|
||||
echo Error: bin folder not found.
|
||||
pause
|
||||
goto menu
|
||||
)
|
||||
|
||||
pushd "%BIN_PATH%"
|
||||
for /f "tokens=1,2,3 delims=|" %%A in ('powershell -NoProfile -Command "foreach ($item in @(@{Name='ACTIVE_DISCORD_UDP.bin'; Label='ACTIVE_DISCORD'},@{Name='ACTIVE_GAME_UDP.bin'; Label='ACTIVE_GAME'})) { if (Test-Path -LiteralPath $item.Name) { Write-Output ($item.Label + [char]124 + $item.Label + [char]124 + (Get-FileHash -LiteralPath $item.Name -Algorithm SHA256).Hash) } }; $files = @(Get-ChildItem -LiteralPath . -File -Filter '*.bin'); foreach ($file in $files) { if ($file.BaseName -notlike 'ACTIVE_*') { Write-Output ('FAKE' + [char]124 + $file.BaseName + [char]124 + (Get-FileHash -LiteralPath $file.FullName -Algorithm SHA256).Hash) } }"') do (
|
||||
if "%%A"=="ACTIVE_DISCORD" (
|
||||
set "discord_hash=%%C"
|
||||
) else if "%%A"=="ACTIVE_GAME" (
|
||||
set "game_hash=%%C"
|
||||
) else if "%%A"=="FAKE" (
|
||||
set /a fake_count+=1
|
||||
set "fake_file!fake_count!=%BIN_PATH%%%B.bin"
|
||||
set "fake_name!fake_count!=%%B"
|
||||
set "fake_hash!fake_count!=%%C"
|
||||
)
|
||||
)
|
||||
popd
|
||||
|
||||
if !fake_count! EQU 0 (
|
||||
echo No .bin files were found in the bin folder.
|
||||
pause
|
||||
goto menu
|
||||
)
|
||||
|
||||
for /l %%N in (1,1,!fake_count!) do (
|
||||
if defined discord_hash if /i "!fake_hash%%N!"=="!discord_hash!" set "current_discord_fake=!fake_name%%N!"
|
||||
if defined game_hash if /i "!fake_hash%%N!"=="!game_hash!" set "current_game_fake=!fake_name%%N!"
|
||||
)
|
||||
|
||||
:replace_active_fakes_prompt
|
||||
echo.
|
||||
echo Enter the fake type number and the fake file number to replace it with.
|
||||
echo Example: 1 4 (replaces Discord UDP with fake file under number 4)
|
||||
echo 2 1 (replaces GameFilter UDP with fake file under number 1)
|
||||
echo.
|
||||
echo Press ENTER or 0 to return.
|
||||
echo.
|
||||
echo ----------------------------------------
|
||||
echo.
|
||||
echo Fake types:
|
||||
echo 1. Discord UDP (current: !current_discord_fake!)
|
||||
echo 2. GameFilter UDP (current: !current_game_fake!)
|
||||
echo.
|
||||
echo Fake files:
|
||||
for /l %%N in (1,1,!fake_count!) do echo %%N. !fake_name%%N!
|
||||
echo.
|
||||
|
||||
set "replace_choice="
|
||||
set /p "replace_choice=Enter choice: "
|
||||
if not defined replace_choice goto menu
|
||||
if "!replace_choice!"=="0" goto menu
|
||||
|
||||
set "active_file="
|
||||
set "fake_type="
|
||||
set "fake_number="
|
||||
for /f "tokens=1,2" %%A in ("!replace_choice!") do (
|
||||
set "fake_type=%%A"
|
||||
set "fake_number=%%B"
|
||||
)
|
||||
|
||||
if "!fake_type!"=="1" (
|
||||
set "active_file=%BIN_PATH%ACTIVE_DISCORD_UDP.bin"
|
||||
) else if "!fake_type!"=="2" (
|
||||
set "active_file=%BIN_PATH%ACTIVE_GAME_UDP.bin"
|
||||
) else (
|
||||
echo Invalid fake type.
|
||||
pause
|
||||
cls
|
||||
goto replace_active_fakes_prompt
|
||||
)
|
||||
|
||||
set "source_file="
|
||||
for /l %%N in (1,1,!fake_count!) do if "%%N"=="!fake_number!" set "source_file=!fake_file%%N!"
|
||||
if not defined source_file (
|
||||
echo Invalid fake file number.
|
||||
pause
|
||||
cls
|
||||
goto replace_active_fakes_prompt
|
||||
)
|
||||
|
||||
del /f /q "!active_file!" >nul 2>&1
|
||||
copy /y "!source_file!" "!active_file!" >nul
|
||||
if errorlevel 1 (
|
||||
echo Failed to replace the active fake file.
|
||||
) else (
|
||||
echo Active fake file replaced successfully.
|
||||
for /l %%N in (1,1,!fake_count!) do if "%%N"=="!fake_number!" (
|
||||
if "!fake_type!"=="1" set "current_discord_fake=!fake_name%%N!"
|
||||
if "!fake_type!"=="2" set "current_game_fake=!fake_name%%N!"
|
||||
)
|
||||
)
|
||||
pause
|
||||
cls
|
||||
goto replace_active_fakes_prompt
|
||||
|
||||
|
||||
:: IPSET SWITCH =======================
|
||||
:ipset_switch_status
|
||||
chcp 437 > nul
|
||||
|
||||
findstr /R "^0\.0\.0\.0/32$" "%~dp0lists\ipset-all.txt" >nul
|
||||
if !errorlevel!==0 (
|
||||
set "IPsetStatus=empty"
|
||||
set "listFile=%~dp0lists\ipset-all.txt"
|
||||
for /f %%i in ('type "%listFile%" 2^>nul ^| find /c /v ""') do set "lineCount=%%i"
|
||||
|
||||
if !lineCount!==0 (
|
||||
set "IPsetStatus=any"
|
||||
) else (
|
||||
findstr /C:"203.0.113.113/32" "%listFile%" >nul
|
||||
if !errorlevel!==0 (
|
||||
set "IPsetStatus=none"
|
||||
) else (
|
||||
set "IPsetStatus=loaded"
|
||||
)
|
||||
)
|
||||
exit /b
|
||||
|
||||
@@ -644,19 +946,8 @@ cls
|
||||
set "listFile=%~dp0lists\ipset-all.txt"
|
||||
set "backupFile=%listFile%.backup"
|
||||
|
||||
findstr /R "^0\.0\.0\.0/32$" "%listFile%" >nul
|
||||
if !errorlevel!==0 (
|
||||
echo Enabling ipset based bypass...
|
||||
|
||||
if exist "%backupFile%" (
|
||||
del /f /q "%listFile%"
|
||||
ren "%backupFile%" "ipset-all.txt"
|
||||
) else (
|
||||
echo Error: no backup to restore. Update list from service menu by yourself
|
||||
)
|
||||
|
||||
) else (
|
||||
echo Disabling ipset based bypass...
|
||||
if "%IPsetStatus%"=="loaded" (
|
||||
echo Switching to none mode...
|
||||
|
||||
if not exist "%backupFile%" (
|
||||
ren "%listFile%" "ipset-all.txt.backup"
|
||||
@@ -668,6 +959,26 @@ if !errorlevel!==0 (
|
||||
>"%listFile%" (
|
||||
echo 203.0.113.113/32
|
||||
)
|
||||
|
||||
) else if "%IPsetStatus%"=="none" (
|
||||
echo Switching to any mode...
|
||||
|
||||
>"%listFile%" (
|
||||
rem Creating empty file
|
||||
)
|
||||
|
||||
) else if "%IPsetStatus%"=="any" (
|
||||
echo Switching to loaded mode...
|
||||
|
||||
if exist "%backupFile%" (
|
||||
del /f /q "%listFile%"
|
||||
ren "%backupFile%" "ipset-all.txt"
|
||||
) else (
|
||||
echo Error: no backup to restore. Update list from service menu first
|
||||
pause
|
||||
goto menu
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
pause
|
||||
@@ -685,9 +996,14 @@ set "url=https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/refs/
|
||||
echo Updating ipset-all...
|
||||
|
||||
if exist "%SystemRoot%\System32\curl.exe" (
|
||||
curl -L -o "%listFile%" "%url%"
|
||||
curl --version | find "libcurl/7"
|
||||
if !errorlevel!==0 (
|
||||
curl --ssl-no-revoke -L -o "%listFile%" "%url%"
|
||||
) else (
|
||||
curl --ssl-revoke-best-effort -L -o "%listFile%" "%url%"
|
||||
)
|
||||
) else (
|
||||
powershell -Command ^
|
||||
powershell -NoProfile -Command ^
|
||||
"$url = '%url%';" ^
|
||||
"$out = '%listFile%';" ^
|
||||
"$dir = Split-Path -Parent $out;" ^
|
||||
@@ -701,16 +1017,173 @@ echo Finished
|
||||
pause
|
||||
goto menu
|
||||
|
||||
|
||||
:: HOSTS UPDATE =======================
|
||||
:hosts_update
|
||||
chcp 437 > nul
|
||||
cls
|
||||
|
||||
set "hostsFile=%SystemRoot%\System32\drivers\etc\hosts"
|
||||
set "hostsUrl=https://raw.githubusercontent.com/Flowseal/zapret-discord-youtube/refs/heads/main/.service/hosts"
|
||||
set "tempFile=%TEMP%\zapret_hosts.txt"
|
||||
set "needsUpdate=0"
|
||||
|
||||
set "cacheBuster=%RANDOM%%RANDOM%%RANDOM%"
|
||||
set "requestUrl=%hostsUrl%?t=%cacheBuster%"
|
||||
|
||||
echo Checking hosts file...
|
||||
|
||||
if exist "%SystemRoot%\System32\curl.exe" (
|
||||
curl -L -s -o "%tempFile%" "%requestUrl%"
|
||||
) else (
|
||||
powershell -NoProfile -Command ^
|
||||
"$url = '%requestUrl%';" ^
|
||||
"$out = '%tempFile%';" ^
|
||||
"$res = Invoke-WebRequest -Uri $url -TimeoutSec 10 -UseBasicParsing;" ^
|
||||
"if ($res.StatusCode -eq 200) { $res.Content | Out-File -FilePath $out -Encoding UTF8 } else { exit 1 }"
|
||||
)
|
||||
if not exist "%tempFile%" (
|
||||
call :PrintRed "Failed to download hosts file from repository"
|
||||
call :PrintYellow "Copy hosts file manually from %hostsUrl%"
|
||||
pause
|
||||
goto menu
|
||||
)
|
||||
|
||||
set "firstLine="
|
||||
set "lastLine="
|
||||
for /f "usebackq delims=" %%a in ("%tempFile%") do (
|
||||
if not defined firstLine (
|
||||
set "firstLine=%%a"
|
||||
)
|
||||
set "lastLine=%%a"
|
||||
)
|
||||
|
||||
findstr /C:"!firstLine!" "%hostsFile%" >nul 2>&1
|
||||
if !errorlevel! neq 0 (
|
||||
echo First line from repository not found in hosts file
|
||||
set "needsUpdate=1"
|
||||
)
|
||||
|
||||
findstr /C:"!lastLine!" "%hostsFile%" >nul 2>&1
|
||||
if !errorlevel! neq 0 (
|
||||
echo Last line from repository not found in hosts file
|
||||
set "needsUpdate=1"
|
||||
)
|
||||
|
||||
if "%needsUpdate%"=="1" (
|
||||
echo:
|
||||
call :PrintYellow "Hosts file needs to be updated"
|
||||
call :PrintYellow "Please manually copy the content from the downloaded file to your hosts file"
|
||||
|
||||
start notepad "%tempFile%"
|
||||
explorer /select,"%hostsFile%"
|
||||
) else (
|
||||
call :PrintGreen "Hosts file is up to date"
|
||||
if exist "%tempFile%" del /f /q "%tempFile%"
|
||||
)
|
||||
|
||||
echo:
|
||||
pause
|
||||
goto menu
|
||||
|
||||
|
||||
:: RUN TESTS =============================
|
||||
:run_tests
|
||||
chcp 437 >nul
|
||||
cls
|
||||
|
||||
:: Require PowerShell 3.0+
|
||||
powershell -NoProfile -Command "if ($PSVersionTable -and $PSVersionTable.PSVersion -and $PSVersionTable.PSVersion.Major -ge 3) { exit 0 } else { exit 1 }" >nul 2>&1
|
||||
if %errorLevel% neq 0 (
|
||||
echo PowerShell 3.0 or newer is required.
|
||||
echo Please upgrade PowerShell and rerun this script.
|
||||
echo.
|
||||
pause
|
||||
goto menu
|
||||
)
|
||||
|
||||
echo Starting configuration tests in PowerShell window...
|
||||
echo.
|
||||
start "" powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0utils\test zapret.ps1"
|
||||
pause
|
||||
goto menu
|
||||
|
||||
|
||||
:: Get strategy name
|
||||
:get_strategy_name
|
||||
set "CurrentStrategy="
|
||||
for /f "tokens=2*" %%A in ('reg query "HKLM\System\CurrentControlSet\Services\zapret" /v zapret-discord-youtube 2^>nul') do set "CurrentStrategy=Strategy: %%B"
|
||||
exit /b
|
||||
|
||||
|
||||
:: Utility functions
|
||||
|
||||
:clear_discord_cache
|
||||
setlocal EnableDelayedExpansion
|
||||
set "discordProcess=%~1"
|
||||
set "discordName=%~2"
|
||||
set "discordCacheDir=%~3"
|
||||
|
||||
tasklist /FI "IMAGENAME eq !discordProcess!" 2>nul | findstr /I /C:"!discordProcess!" >nul
|
||||
if !errorlevel! equ 0 (
|
||||
echo !discordName! is running, closing...
|
||||
taskkill /IM "!discordProcess!" /F >nul 2>&1
|
||||
if !errorlevel! equ 0 (
|
||||
call :PrintGreen "!discordName! was successfully closed"
|
||||
) else (
|
||||
call :PrintRed "Unable to close !discordName!"
|
||||
)
|
||||
)
|
||||
|
||||
if exist "!discordCacheDir!\" (
|
||||
for %%d in ("Cache" "Code Cache" "GPUCache") do (
|
||||
set "dirPath=!discordCacheDir!\%%~d"
|
||||
if exist "!dirPath!\" (
|
||||
rd /s /q "!dirPath!" >nul 2>&1
|
||||
if exist "!dirPath!\" (
|
||||
call :PrintRed "Failed to delete !dirPath!"
|
||||
) else (
|
||||
call :PrintGreen "Successfully deleted !dirPath!"
|
||||
)
|
||||
) else (
|
||||
call :PrintRed "!dirPath! does not exist"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
endlocal
|
||||
exit /b
|
||||
|
||||
:PrintGreen
|
||||
powershell -Command "Write-Host \"%~1\" -ForegroundColor Green"
|
||||
powershell -NoProfile -Command "Write-Host \"%~1\" -ForegroundColor Green"
|
||||
exit /b
|
||||
|
||||
:PrintRed
|
||||
powershell -Command "Write-Host \"%~1\" -ForegroundColor Red"
|
||||
powershell -NoProfile -Command "Write-Host \"%~1\" -ForegroundColor Red"
|
||||
exit /b
|
||||
|
||||
:PrintYellow
|
||||
powershell -Command "Write-Host \"%~1\" -ForegroundColor Yellow"
|
||||
powershell -NoProfile -Command "Write-Host \"%~1\" -ForegroundColor Yellow"
|
||||
exit /b
|
||||
|
||||
:check_command
|
||||
where %1 >nul 2>&1
|
||||
if %errorLevel% neq 0 (
|
||||
echo [ERROR] %1 not found in PATH
|
||||
echo Fix your PATH variable with instructions here https://github.com/Flowseal/zapret-discord-youtube/issues/7490
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
exit /b 0
|
||||
|
||||
:check_extracted
|
||||
set "extracted=1"
|
||||
|
||||
if not exist "%~dp0bin\" set "extracted=0"
|
||||
|
||||
if "%extracted%"=="0" (
|
||||
echo Zapret must be extracted from archive first or bin folder not found for some reason
|
||||
pause
|
||||
exit
|
||||
)
|
||||
exit /b 0
|
||||
|
||||
1
utils/check_updates.enabled
Normal file
1
utils/check_updates.enabled
Normal file
@@ -0,0 +1 @@
|
||||
ENABLED
|
||||
35
utils/targets.txt
Normal file
35
utils/targets.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
# 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"
|
||||
961
utils/test zapret.ps1
Normal file
961
utils/test zapret.ps1
Normal file
@@ -0,0 +1,961 @@
|
||||
$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 = 65536
|
||||
$dpiMaxParallel = 8
|
||||
$dpiCustomHost = $env:MONITOR_HOST
|
||||
if ($env:MONITOR_TIMEOUT) { [int]$dpiTimeoutSeconds = $env:MONITOR_TIMEOUT }
|
||||
if ($env:MONITOR_RANGE) { [int]$dpiRangeBytes = $env:MONITOR_RANGE }
|
||||
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.v2.json"
|
||||
|
||||
try {
|
||||
(Invoke-RestMethod -Uri $url -TimeoutSec $dpiTimeoutSeconds) |
|
||||
Select-Object `
|
||||
@{n='Id'; e={$_.id}},
|
||||
@{n='Provider'; e={$_.provider}},
|
||||
@{n='Country'; e={$_.country}},
|
||||
@{n='Host'; e={$_.host}}
|
||||
}
|
||||
catch {
|
||||
Write-Host "[WARN] Fetch dpi suite failed." -ForegroundColor Yellow
|
||||
@()
|
||||
}
|
||||
}
|
||||
|
||||
function Build-DpiTargets {
|
||||
param(
|
||||
[string]$CustomHost
|
||||
)
|
||||
|
||||
$suite = Get-DpiSuite
|
||||
$targets = @()
|
||||
|
||||
if ($CustomHost) {
|
||||
$targets += @{ Id = "CUSTOM"; Provider = "Custom"; Country = "💡"; Host = $CustomHost }
|
||||
} else {
|
||||
foreach ($entry in $suite) {
|
||||
$targets += @{ Id = $entry.Id; Country = $entry.Country; Provider = $entry.Provider; Host = $entry.Host }
|
||||
}
|
||||
}
|
||||
|
||||
return $targets
|
||||
}
|
||||
|
||||
function Invoke-DpiSuite {
|
||||
param(
|
||||
[array]$Targets,
|
||||
[int]$TimeoutSeconds,
|
||||
[int]$RangeBytes,
|
||||
[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" -ForegroundColor Cyan
|
||||
Write-Host "[INFO] Starting DPI TCP 16-20 checks (parallel: $MaxParallel)..." -ForegroundColor DarkGray
|
||||
|
||||
$runspacePool = [runspacefactory]::CreateRunspacePool(1, $MaxParallel)
|
||||
$runspacePool.Open()
|
||||
|
||||
$payload = New-Object byte[] $RangeBytes
|
||||
[System.Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($payload)
|
||||
|
||||
$payloadFile = New-TemporaryFile
|
||||
[IO.File]::WriteAllBytes($payloadFile, $payload)
|
||||
|
||||
$scriptBlock = {
|
||||
param($payloadFile, $target, $tests, $rangeSpec, $TimeoutSeconds)
|
||||
|
||||
$warned = $false
|
||||
$lines = @()
|
||||
|
||||
foreach ($test in $tests) {
|
||||
$curlArgs = @(
|
||||
"--range", $rangeSpec,
|
||||
"-m", $TimeoutSeconds,
|
||||
"-w", "%{http_code} %{size_upload} %{size_download} %{time_total}",
|
||||
"-o", "NUL",
|
||||
"-X", "POST",
|
||||
"--data-binary", "@$payloadFile",
|
||||
"-s"
|
||||
) + $test.Args + @("https://$($target.Host)")
|
||||
|
||||
$output = $payload | curl.exe @curlArgs 2>&1
|
||||
$exit = $LASTEXITCODE
|
||||
$text = ($output | Out-String).Trim()
|
||||
|
||||
$code = "NA"
|
||||
$upBytes = 0
|
||||
$downBytes = 0
|
||||
$time = -1
|
||||
|
||||
if ($text -match '^(?<code>\d{3})\s+(?<up>\d+)\s+(?<down>\d+)\s+(?<time>[\d\.]+)$') {
|
||||
$code = $matches['code']
|
||||
$upBytes = [int64]$matches['up']
|
||||
$downBytes = [int64]$matches['down']
|
||||
$time = [double]$matches['time']
|
||||
} 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"
|
||||
}
|
||||
|
||||
$upKB = [math]::Round($upBytes / 1024, 1)
|
||||
$downKB = [math]::Round($downBytes / 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 (($upBytes -gt 0) -and ($downBytes -eq 0) -and ($time -ge $TimeoutSeconds) -and ($exit -ne 0)) {
|
||||
$status = "LIKELY_BLOCKED"
|
||||
$color = "Yellow"
|
||||
$warned = $true
|
||||
}
|
||||
|
||||
$lines += [PSCustomObject]@{
|
||||
TestLabel = $test.Label
|
||||
Code = $code
|
||||
UpBytes = $upBytes
|
||||
UpKB = $upKB
|
||||
DownBytes = $downBytes
|
||||
DownKB = $downKB
|
||||
Time = $time
|
||||
Status = $status
|
||||
Color = $color
|
||||
Warned = $warned
|
||||
}
|
||||
}
|
||||
|
||||
return [PSCustomObject]@{
|
||||
TargetId = $target.Id
|
||||
Provider = $target.Provider
|
||||
Country = $target.Country
|
||||
Lines = $lines
|
||||
Warned = $warned
|
||||
}
|
||||
}
|
||||
|
||||
$runspaces = @()
|
||||
foreach ($target in $Targets) {
|
||||
$powershell = [powershell]::Create().AddScript($scriptBlock)
|
||||
[void]$powershell.AddArgument($payloadFile)
|
||||
[void]$powershell.AddArgument($target)
|
||||
[void]$powershell.AddArgument($tests)
|
||||
[void]$powershell.AddArgument($rangeSpec)
|
||||
[void]$powershell.AddArgument($TimeoutSeconds)
|
||||
$powershell.RunspacePool = $runspacePool
|
||||
|
||||
$runspaces += [PSCustomObject]@{
|
||||
Powershell = $powershell
|
||||
Handle = $powershell.BeginInvoke()
|
||||
TargetId = $target.Id
|
||||
}
|
||||
}
|
||||
|
||||
$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 [$($rs.TargetId)] timed out after $waitMs ms; stopping runspace..." -ForegroundColor Yellow
|
||||
try { $rs.Powershell.Stop() } catch {}
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
# ignore wait errors and attempt to EndInvoke
|
||||
}
|
||||
|
||||
try {
|
||||
$res = $rs.Powershell.EndInvoke($rs.Handle)
|
||||
$results += $res
|
||||
|
||||
Write-Host "`n=== [$($res.Country)][$($res.Provider)] $($res.TargetId) ===" -ForegroundColor DarkCyan
|
||||
foreach ($line in $res.Lines) {
|
||||
$msg = "[{0}] code={1} buf_up={2} bytes ({3} KB) buf_down={4} bytes ({5} KB) time={6}s status={7}" -f $line.TestLabel, $line.Code, $line.UpBytes, $line.UpKB, $line.DownBytes, $line.DownKB, $line.Time, $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 ($res.Warned) {
|
||||
$warnDetected = $true
|
||||
} else {
|
||||
Write-Host " No 16-20KB freeze pattern for this target." -ForegroundColor Green
|
||||
}
|
||||
} 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()
|
||||
|
||||
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 -CustomHost $dpiCustomHost
|
||||
|
||||
# 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 -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
|
||||
$maxConfigLen = ($analytics.Keys | ForEach-Object { $_.Length } | Measure-Object -Maximum).Maximum
|
||||
foreach ($config in $analytics.Keys) {
|
||||
$a = $analytics[$config]
|
||||
$configPadded = $config.PadRight($maxConfigLen)
|
||||
if ($a.ContainsKey('PingOK')) {
|
||||
$line = "{0} : HTTP OK: {1,3}, ERR: {2,3}, UNSUP: {3,3}, Ping OK: {4,3}, Fail: {5,3}" -f `
|
||||
$configPadded, $a.OK, $a.ERROR, $a.UNSUP, $a.PingOK, $a.PingFail
|
||||
} else {
|
||||
$line = "{0} : OK: {1,3}, FAIL: {2,3}, UNSUP: {3,3}, BLOCKED: {4,3}" -f `
|
||||
$configPadded, $a.OK, $a.FAIL, $a.UNSUPPORTED, $a.LIKELY_BLOCKED
|
||||
}
|
||||
Write-Host $line -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
|
||||
$country = $targetRes.Country
|
||||
if ($country) {
|
||||
Add-Content $resultFile " Target: [$country] $id ($provider)"
|
||||
} else {
|
||||
Add-Content $resultFile " Target: $id ($provider)"
|
||||
}
|
||||
foreach ($line in $targetRes.Lines) {
|
||||
$test = $line.TestLabel
|
||||
$code = $line.Code
|
||||
$up = $line.UpKB
|
||||
$down = $line.DownKB
|
||||
$time = $line.Time
|
||||
$status = $line.Status
|
||||
Add-Content $resultFile " ${test}: code=${code} up=${up} KB down=${down} KB time=${time}s status=${status}"
|
||||
}
|
||||
}
|
||||
}
|
||||
Add-Content $resultFile ""
|
||||
}
|
||||
|
||||
# Add analytics
|
||||
Add-Content $resultFile "=== ANALYTICS ==="
|
||||
$maxConfigLen = ($analytics.Keys | ForEach-Object { $_.Length } | Measure-Object -Maximum).Maximum
|
||||
foreach ($config in $analytics.Keys) {
|
||||
$a = $analytics[$config]
|
||||
$configPadded = $config.PadRight($maxConfigLen)
|
||||
if ($a.ContainsKey('PingOK')) {
|
||||
$line = "{0} : HTTP OK: {1,3}, ERR: {2,3}, UNSUP: {3,3}, Ping OK: {4,3}, Fail: {5,3}" -f `
|
||||
$configPadded, $a.OK, $a.ERROR, $a.UNSUP, $a.PingOK, $a.PingFail
|
||||
} else {
|
||||
$line = "{0} : OK: {1,3}, FAIL: {2,3}, UNSUP: {3,3}, BLOCKED: {4,3}" -f `
|
||||
$configPadded, $a.OK, $a.FAIL, $a.UNSUPPORTED, $a.LIKELY_BLOCKED
|
||||
}
|
||||
Add-Content $resultFile $line
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user