mirror of
https://github.com/Flowseal/zapret-discord-youtube.git
synced 2026-08-05 15:45:52 +03:00
Compare commits
376 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
105e2cd302 | ||
|
|
3eb9afdf52 | ||
|
|
733c14d37a | ||
|
|
4743104fe0 | ||
|
|
46b1ce93dc | ||
|
|
25e01f021d | ||
|
|
98d637d8b3 | ||
|
|
586aeca80c | ||
|
|
72294fa261 | ||
|
|
d3d1569572 | ||
|
|
7b9673764d | ||
|
|
bf924b803f | ||
|
|
a609396772 | ||
|
|
7e52c9790a | ||
|
|
731013a010 | ||
|
|
adbe23b167 | ||
|
|
89a9ada900 | ||
|
|
32bc3939b2 | ||
|
|
80f1ba0570 | ||
|
|
3db34875e1 | ||
|
|
efeee9d4cd | ||
|
|
ddbb863649 | ||
|
|
cfec4f6963 | ||
|
|
2ca69a8252 | ||
|
|
1955a838f3 | ||
|
|
f684e33754 | ||
|
|
4a3ce73378 | ||
|
|
cc52322fe5 | ||
|
|
2cd68f24f1 | ||
|
|
13444ab388 | ||
|
|
b23ef448d7 | ||
|
|
83a6efa135 | ||
|
|
fa32c6661c | ||
|
|
ba78a8e6c8 | ||
|
|
c96152664f | ||
|
|
86e7e06274 | ||
|
|
163bb7613c | ||
|
|
f76d4cf376 | ||
|
|
7f7831d82a | ||
|
|
a4425d7b6e | ||
|
|
653d01b224 | ||
|
|
cf03dd0c3d | ||
|
|
105978ee43 | ||
|
|
6b71827a3b | ||
|
|
702e7cd13f | ||
|
|
c8eb80b4c6 | ||
|
|
8d2deff133 | ||
|
|
3ef216b71b | ||
|
|
785b8de6d2 | ||
|
|
faed518d0c | ||
|
|
50a6d390f7 | ||
|
|
e0455fcbfc | ||
|
|
df54a4ea72 | ||
|
|
7a55a2f3cd | ||
|
|
8a30df6f03 | ||
|
|
779853740f | ||
|
|
87ee178546 | ||
|
|
33f30fa00c | ||
|
|
2785c4616f | ||
|
|
fc29a5794c | ||
|
|
27d47f3bdd | ||
|
|
d86df6be35 | ||
|
|
b5b331e822 | ||
|
|
755353ecd7 | ||
|
|
a7edae47bc | ||
|
|
127a19effe | ||
|
|
383410f6fa | ||
|
|
feb4a69c99 | ||
|
|
4b27f7713e | ||
|
|
199829795c | ||
|
|
aaac27e74e | ||
|
|
4166c5cf19 | ||
|
|
96d14286c7 | ||
|
|
c6bdc104d8 | ||
|
|
0f4591d813 | ||
|
|
3da7c54ec3 | ||
|
|
2ed3c1e279 | ||
|
|
0360ff318b | ||
|
|
ccd2839bdc | ||
|
|
475cfd99c6 | ||
|
|
e2a5649180 | ||
|
|
3911688102 | ||
|
|
6ea2950d13 | ||
|
|
c00943cb8b | ||
|
|
05b5433209 | ||
|
|
cf02ce7791 | ||
|
|
0c59a9c45c | ||
|
|
09ea8c907d | ||
|
|
75a96d90f2 | ||
|
|
fc30567558 | ||
|
|
559f48c3d2 | ||
|
|
565e294599 | ||
|
|
50b6e1a819 | ||
|
|
30a7ac4e9b | ||
|
|
6718d597bf | ||
|
|
6334bbd284 | ||
|
|
daac2bb681 | ||
|
|
dcdb0a3dce | ||
|
|
6d526e5e51 | ||
|
|
543591bf65 | ||
|
|
facfbbc11a | ||
|
|
ca9aee77d3 | ||
|
|
e668a2ca7f | ||
|
|
f6af378b9c | ||
|
|
916f61d952 | ||
|
|
0e320fe52d | ||
|
|
99613c9423 | ||
|
|
7002b334a7 | ||
|
|
30c8ce9b68 | ||
|
|
81cf594ae4 | ||
|
|
7aedfac35f | ||
|
|
ef746381bd | ||
|
|
2b16cb4444 | ||
|
|
cacdebc5d5 | ||
|
|
23d47fd8b1 | ||
|
|
ec2b7c4b88 | ||
|
|
d20672ce27 | ||
|
|
591c8fa785 | ||
|
|
d3e1c91e77 | ||
|
|
f70fe5cb27 | ||
|
|
f7a2220afd | ||
|
|
6874c0e429 | ||
|
|
63ed7d76ca | ||
|
|
7facdc039f | ||
|
|
642f6927ff | ||
|
|
cae93c3cdf | ||
|
|
2c2b1ab779 | ||
|
|
d0567cd698 | ||
|
|
0b14284d2a | ||
|
|
dd278a1f71 | ||
|
|
03d2caac3c | ||
|
|
85fadd8e0c | ||
|
|
46b4e3e4f0 | ||
|
|
5682cd1654 | ||
|
|
5d4ad427e4 | ||
|
|
9bde74742a | ||
|
|
87b12253cb | ||
|
|
a43dcfb27c | ||
|
|
f0f6c27180 | ||
|
|
62ff4115b2 | ||
|
|
dc7364db1b | ||
|
|
5e9be26551 | ||
|
|
bb2ba55bbf | ||
|
|
a7cf34c9ac | ||
|
|
8072cb1ec9 | ||
|
|
4dcfd8e922 | ||
|
|
666f0aa25f | ||
|
|
f132879d28 | ||
|
|
609d9528dd | ||
|
|
5d4c1769c9 | ||
|
|
8478f088eb | ||
|
|
efbcb9000d | ||
|
|
db424b06de | ||
|
|
79eed2e5d2 | ||
|
|
db24a54998 | ||
|
|
92197db267 | ||
|
|
0b7ed0c418 | ||
|
|
8a47e893ba | ||
|
|
7656ba101e | ||
|
|
83938b448e | ||
|
|
5acf410906 | ||
|
|
c8196c4837 | ||
|
|
7a4dc12df5 | ||
|
|
b4b94022bc | ||
|
|
91a96c1357 | ||
|
|
dcfa9fb11b | ||
|
|
3044eb2076 | ||
|
|
54a0c0ccd7 | ||
|
|
d7821cd125 | ||
|
|
d663e14297 | ||
|
|
95fbabe968 | ||
|
|
c42488b919 | ||
|
|
2d512518f0 | ||
|
|
2a1764bf36 | ||
|
|
4cb8c01cda | ||
|
|
9d3cdd4aa0 | ||
|
|
fce0da4d0e | ||
|
|
5befdc2ac5 | ||
|
|
3733e90d8f | ||
|
|
ac3b3b2ac3 | ||
|
|
8cee6753ef | ||
|
|
61ba1be7c2 | ||
|
|
b39ac56e47 | ||
|
|
2588cae778 | ||
|
|
65867a16a3 | ||
|
|
4000d76a00 | ||
|
|
ad205dac20 | ||
|
|
c3ec1f731b | ||
|
|
1a089e4282 | ||
|
|
af35c4027d | ||
|
|
56f3710e23 | ||
|
|
8db968aa46 | ||
|
|
b5ca13a04d | ||
|
|
a7b97856f7 | ||
|
|
8edb8306e9 | ||
|
|
977561fde8 | ||
|
|
e04dba7d79 | ||
|
|
99ff02c2c2 | ||
|
|
a62c3d661c | ||
|
|
60d73d68ae | ||
|
|
5c35c8810c | ||
|
|
75df64bfe5 | ||
|
|
5fd74d3546 | ||
|
|
0c0e6cf9bb | ||
|
|
06e825c1b2 | ||
|
|
078cec8c2e | ||
|
|
b50d13ba5b | ||
|
|
d39d1050d9 |
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
*.bat text eol=crlf
|
||||||
|
*.ps1 text eol=crlf
|
||||||
38
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
38
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
name: 🐛 Проблема
|
||||||
|
title: '[Проблема] '
|
||||||
|
description: Сообщить о проблеме
|
||||||
|
labels: ['type: проблема', 'status: нуждается в сортировке']
|
||||||
|
|
||||||
|
body:
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: ⚠️ Чеклист
|
||||||
|
description: Перед созданием нового Issue, удостоверьтесь что выполнили следующие пункты
|
||||||
|
options:
|
||||||
|
- label: Я искал решение проблемы в [README](https://github.com/Flowseal/zapret-discord-youtube/blob/main/README.md) и среди [Issues](https://github.com/Flowseal/zapret-discord-youtube/issues)
|
||||||
|
- label: Я скачал ``zapret-discord-youtube`` из [релизов официального репозитория](https://github.com/Flowseal/zapret-discord-youtube/releases)
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: Опишите вашу проблему
|
||||||
|
description: Чётко опишите проблему с которой вы столкнулись
|
||||||
|
placeholder: Описание проблемы
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: version
|
||||||
|
attributes:
|
||||||
|
label: Версия zapret-discord-youtube
|
||||||
|
description: Версия zapret-discord-youtube на которой вы словили проблему
|
||||||
|
placeholder: Версия
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: additions
|
||||||
|
attributes:
|
||||||
|
label: Дополнительные детали
|
||||||
|
description: Дополнительные детали о которых нам нужно знать
|
||||||
13
.github/github-bot.yml
vendored
Normal file
13
.github/github-bot.yml
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
trusted_users:
|
||||||
|
- Flowseal
|
||||||
|
- Kail-225
|
||||||
|
- ekungurov
|
||||||
|
- V3nilla
|
||||||
|
- serpen7
|
||||||
|
- EgorWeders
|
||||||
|
- FlowersOfMind
|
||||||
|
- Dronatar
|
||||||
|
- JustChickNugget
|
||||||
|
- prettyleaf
|
||||||
|
- amozebus
|
||||||
|
- fridorin
|
||||||
54
.github/workflows/comment.yml
vendored
Normal file
54
.github/workflows/comment.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
name: Auto comment on new issues
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
comment:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Comment on new issue
|
||||||
|
uses: peter-evans/create-or-update-comment@v5
|
||||||
|
with:
|
||||||
|
issue-number: ${{ github.event.issue.number }}
|
||||||
|
body: |
|
||||||
|
# Пожалуйста, ознакомьтесь с README. В нем есть ответы на распространенные вопросы и описания файлов: [README.md](https://github.com/Flowseal/zapret-discord-youtube/blob/main/README.md)
|
||||||
|
|
||||||
|
### Прежде всего
|
||||||
|
- Запустите `service.bat` и выберите пункт `Run Diagnostics`, чтобы проверить на конфликтующие сервисы.
|
||||||
|
- Если у вас проблемы с запуском Discord, то в конце согласитесь на очистку кэша.
|
||||||
|
- Проверьте обновление **Hosts File** (в `service.bat`).
|
||||||
|
- Если не работает / перестала работать стратегия, то попробуйте другие.
|
||||||
|
- Если у вас проблемы с чем-то, что корректно работает без zapret, то убедитесь, что `Game Filter` (disabled) в `service.bat`. Если это не помогло, то в `service.bat` выберите `IPSet Filter`, чтобы он стал (none)
|
||||||
|
|
||||||
|
##
|
||||||
|
### Проблемы с файлами? (не открываются / нет стратегий в Install Service и т.д.)
|
||||||
|
- Если открывается `service.bat`, то:
|
||||||
|
- `service.bat` -> `Remove Services`
|
||||||
|
- `service.bat` -> `Run Diagnostics` (если есть ошибки - устраните их) -> в конце Y
|
||||||
|
- Убедитесь, что процесс winws.exe не запущен (выключите его, если запущен)
|
||||||
|
- Удалите папку с запретом
|
||||||
|
- Перезапустите устройство
|
||||||
|
- Скачайте последнюю версию [со страницы релизов](https://github.com/Flowseal/zapret-discord-youtube/releases) (`zapret-discord-youtube-...`)
|
||||||
|
- Нажмите пкм по архиву -> свойства. Если снизу справа есть галочка разблокировать, то нажмите на неё -> применить -> ОК
|
||||||
|
- Распакуйте в новую папку в корне диска (без спец. символов, кириллицы и пробелов)
|
||||||
|
- Откройте service.bat -> Run Tests -> Standard -> All. В конце он выведет лучшую стратегию
|
||||||
|
- Как найдёте рабочую стратегию, можете поставить её на автозапуск: `service.bat` -> `Install Service` -> выбираете нужную
|
||||||
|
|
||||||
|
##
|
||||||
|
### Не работает игра / сервис / сайт?
|
||||||
|
- Проверьте работоспособность без обхода:
|
||||||
|
- **Работает:**
|
||||||
|
- Домен можно удалить в `lists/list-general-user.txt`, если он там присутствует
|
||||||
|
Либо же добавить домен в `lists/list-exclude-user.txt` (*поддомены автоматически учитываются*)
|
||||||
|
- Попробуйте выключить `Game Filter` в `service.bat` (требуется перезапуск обхода или переустановка сервиса) и `IPSet Filter` (чтобы стал **none**)
|
||||||
|
|
||||||
|
- **Не работает: пробуйте другие стратегии.** Если не помогло, то:
|
||||||
|
*Если это сайт*, то добавьте домен в `lists/list-general-user.txt` (поддомены автоматически учитываются).
|
||||||
|
*Если это игра*, то попробуйте включить `Game Filter` и `IPSet Filter` (чтобы стал **loaded**, если не поможет то **any**) в `service.bat` (требуется перезапуск обхода или переустановка сервиса).
|
||||||
|
|
||||||
|
**Пробуйте разные стратегии после внесения изменений в случае, если это не сработало**
|
||||||
44
.github/workflows/release.yml
vendored
Normal file
44
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
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 RAR
|
||||||
|
run: sudo apt-get install -y rar
|
||||||
|
|
||||||
|
- name: Create archives
|
||||||
|
run: |
|
||||||
|
NAME="zapret-discord-youtube-${{ github.event.inputs.tag }}"
|
||||||
|
zip -r "${NAME}.zip" bin/ lists/ utils/ *.bat
|
||||||
|
rar a "${NAME}.rar" bin/ lists/ utils/ *.bat
|
||||||
|
|
||||||
|
- 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
|
||||||
30
.github/workflows/stale.yml
vendored
Normal file
30
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
name: Close stale issues
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
actions: write
|
||||||
|
issues: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stale:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v10.1.1
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
days-before-stale: 60
|
||||||
|
days-before-close: 7
|
||||||
|
stale-issue-message: '⏳ Issue помечена как неактивная. Она будет закрыта через 7 дней, если не появится новых комментариев.'
|
||||||
|
close-issue-message: '❌ Issue автоматически закрыта из-за отсутствия активности. Откройте снова при необходимости.'
|
||||||
|
|
||||||
|
days-before-pr-stale: -1
|
||||||
|
days-before-pr-close: -1
|
||||||
|
|
||||||
|
exempt-issue-labels: 'pinned,games'
|
||||||
|
remove-stale-when-updated: true
|
||||||
|
operations-per-run: 4500
|
||||||
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
/utils/test results
|
||||||
|
/utils/game_filter.enabled
|
||||||
|
/lists/ipset-exclude-user.txt
|
||||||
|
/lists/list-general-user.txt
|
||||||
|
/lists/list-exclude-user.txt
|
||||||
223
.service/hosts
Normal file
223
.service/hosts
Normal file
@@ -0,0 +1,223 @@
|
|||||||
|
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
|
||||||
30995
.service/ipset-service.txt
Normal file
30995
.service/ipset-service.txt
Normal file
File diff suppressed because it is too large
Load Diff
1
.service/version.txt
Normal file
1
.service/version.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
1.9.8b
|
||||||
46
LICENSE.txt
Normal file
46
LICENSE.txt
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
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
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
This repository contains binary files originating from the project by bol-van,
|
||||||
|
available at: https://github.com/bol-van/zapret/ (licensed under the MIT License).
|
||||||
|
|
||||||
|
This repository also includes and depends on WinDivert
|
||||||
|
(https://github.com/basil00/WinDivert), which is licensed under your choice of:
|
||||||
|
|
||||||
|
1. The GNU Lesser General Public License (LGPL) Version 3, or
|
||||||
|
2. The GNU General Public License (GPL) Version 2.
|
||||||
|
|
||||||
|
Binary distributions of WinDivert are included in this project as-is, without modification.
|
||||||
|
The corresponding source code and license terms for WinDivert are available at
|
||||||
|
https://github.com/basil00/WinDivert.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
To comply with the licenses of these projects:
|
||||||
|
|
||||||
|
1. The original copyright notices and licenses (above) are retained.
|
||||||
|
2. The use of WinDivert in this project is governed by its licensing terms (LGPLv3/GPLv2).
|
||||||
|
3. This repository provides only binary files and does not include the source code of
|
||||||
|
the project by bol-van or modifications to WinDivert.
|
||||||
260
README.md
260
README.md
@@ -1,78 +1,200 @@
|
|||||||
# Zapret (обход блокировки Discord'а и Youtube'а)
|
<div align="center">
|
||||||
|
|
||||||
|
# <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]
|
> [!CAUTION]
|
||||||
> В сети появились правдоподобные копии аккаунтов, которые распространяют вредоносное ПО под видом Zapret. \
|
>
|
||||||
> Отличить оригинал от фейка вы всегда можете по количеству [⭐ звёзд](https://github.com/Flowseal/zapret-discord-youtube/stargazers) (в правом верхнем углу) у репозитория.
|
> ### ФЕЙКИ
|
||||||
|
> Я не веду никакие другие страницы/группы в телеграм/ютуб каналы
|
||||||
|
> Если вы наткнулись на что-то вне этой страницы гитхаба, что распространяется от моего лица - **ФЕЙК**.
|
||||||
|
|
||||||
## Guides
|
|
||||||
### Windows
|
|
||||||
> [!IMPORTANT]
|
|
||||||
> Если всё еще не скачан, то скачайте последний [релиз](https://github.com/Flowseal/zapret-discord-youtube/releases), разархивируйте в отдельную папку.
|
|
||||||
|
|
||||||
Запустите **от имени администратора** то, что вам нужно:
|
|
||||||
- **`discord.bat`** - запустить обход дискорда.
|
|
||||||
- **`general.bat`** - запустить обход дискорда и ютуба.
|
|
||||||
###
|
|
||||||
- **`service_discord.bat`** - запустить обход дискорда и поставить на автозапуск (в сервисах).
|
|
||||||
- **`service_general.bat`** - запустить обход дискорда и ютуба и поставить на автозапуск (в сервисах).
|
|
||||||
###
|
|
||||||
- **`service_goodbye_discord.bat`** - запустить, если вы используете **СЕРВИС goodbyedpi**, и хотите, чтобы zapret обходил **только discord**.
|
|
||||||
* **ВНИМАНИЕ**: Запускать ПОСЛЕ создания сервиса goodbyedpi. Первый раз goodbyedpi может вылететь - просто перезапустите устройство!
|
|
||||||
###
|
|
||||||
- **`service_remove.bat`** - остановить и удалить сервисы выше
|
|
||||||
|
|
||||||
## Решение проблем
|
|
||||||
|
|
||||||
- Проверьте, запускаете ли вы файлы от **ИМЕНИ АДМИНИСТРАТОРА**
|
|
||||||
- Не запускаются bat файлы? Попробуйте запустить **`service_remove.bat`** от **ИМЕНИ АДМИНИСТРАТОРА**
|
|
||||||
* Также отключите программы, которые могут мешать созданию сервиса *(Антивирусы, клинеры с доп. защитой)*.
|
|
||||||
- <p style="text-align: left;">
|
|
||||||
<img src="https://cdn-icons-png.flaticon.com/16/3670/3670147.png" alt="discord" style="vertical-align: middle;"/>
|
|
||||||
Не работает <strong>Youtube</strong>? Попробуйте найти ответ здесь -
|
|
||||||
<a href="https://github.com/Flowseal/zapret-discord-youtube/discussions/251">Обсуждение YouTube</a>
|
|
||||||
</p>
|
|
||||||
- <p style="text-align: left;">
|
|
||||||
<img src="https://cdn-icons-png.flaticon.com/16/906/906361.png" alt="discord" style="vertical-align: middle;"/>
|
|
||||||
Не работает <strong>Discord</strong>? Попробуйте найти ответ здесь -
|
|
||||||
<a href="https://github.com/Flowseal/zapret-discord-youtube/discussions/252">Обсуждение Discord</a>
|
|
||||||
</p>
|
|
||||||
##
|
|
||||||
- Не работает вместе с **VPN**? Отключите функцию **TUN** (Tunneling) в настройках VPN.
|
|
||||||
- Не работает **`service_goodbye_discord`**? Удостовертесь, что сервис goodbyedpi запущен и имеет название GoodbyeDPI. После снова запустите `service_goodbye_discord.bat` и перезапустите устройство.
|
|
||||||
- Попробуйте обновить бинарники с оригинального репозитория.
|
|
||||||
|
|
||||||
### Остановка и удаление обхода
|
|
||||||
Для этого запустите **`service_remove.bat`**.
|
|
||||||
- Если WinDivert так и не удалился, узнайте его название с помощью команды `driverquery | find "Divert"` в cmd, а затем удалите данными командами (заместо WinDivert введите название, которые вы узнали):
|
|
||||||
```
|
|
||||||
sc stop WinDivert
|
|
||||||
sc delete WinDivert
|
|
||||||
```
|
|
||||||
|
|
||||||
### Добавление дополнительных адресов заблокированных сайтов
|
|
||||||
- Список можно дополнить используя `list-general.txt` (для файлов `general`) и в список `list-discord` (для файлов `discord`).
|
|
||||||
> [!IMPORTANT]
|
|
||||||
> После добавления сервис нужно перезапустить.
|
|
||||||
|
|
||||||
## Linux
|
|
||||||
В оригинальном репозитории [zapret](https://github.com/bol-van/zapret/) имеется достаточно информации для того, чтобы начать пользоваться обходом блокировок, но и стоит понимать, что нажатием одной кнопки ничего не заработает. \
|
|
||||||
Достаточно следовать следующим инструкциям и всё внимательно читать:
|
|
||||||
- [zapret/docs/quick_start.txt](https://github.com/bol-van/zapret/blob/master/docs/quick_start.txt)
|
|
||||||
- [zapret/docs/readme.txt](https://github.com/bol-van/zapret/blob/master/docs/readme.txt)
|
|
||||||
* https://github.com/Flowseal/zapret-discord-youtube/issues/7
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> Если вы открываете Issue *(в этом репозитории)* с проблемой в использовании на **Linux**, то, как бы это не звучало, это ошибка. Все вопросы по работе на Linux нужно открывать в **[ОРИГИНАЛЬНОМ](https://github.com/bol-van/zapret/)** репозитории. Следовательно, задавайте вопросы [тут](https://github.com/bol-van/zapret/issues/).
|
>
|
||||||
|
> ### АНТИВИРУСЫ
|
||||||
|
> 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.
|
||||||
|
|
||||||
## Support
|
> [!IMPORTANT]
|
||||||
|
> Все бинарные файлы в папке [`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). Вы можете это проверить с помощью хэшей/контрольных сумм. Проверяйте, что запускаете, используя сборки из интернета!
|
||||||
|
|
||||||
If you like the project, leave a :star: (top right) and become a [stargazer](https://github.com/Flowseal/zapret-discord-youtube/stargazers)!
|
## ⚙️Использование
|
||||||
|
|
||||||
[](https://github.com/Flowseal/zapret-discord-youtube/stargazers)
|
1. Включите Secure DNS
|
||||||
|
* В Chrome - "Использовать безопасный DNS", и выбрать поставщика услуг DNS (выбрать вариант, отличный от поставщика по умолчанию)
|
||||||
|
* В Firefox - "Включить DNS через HTTPS, используя: Максимальную защиту", затем "Выбрать поставщика" и вписать URL поставщика вручную, например можно использовать `https://dns.google/dns-query` (т.к. поставщик Cloudflare может быть заблокирован)
|
||||||
|
* В Windows 11 поддерживается включение Secure DNS прямо в настройках ОС - [инструкция тут](https://www.howtogeek.com/765940/how-to-enable-dns-over-https-on-windows-11/). Рекомендуется, если вы пользуетесь Windows 11
|
||||||
|
|
||||||
## Credits & Contributors
|
2. Скачайте архив (zip/rar) со [страницы последнего релиза](https://github.com/Flowseal/zapret-discord-youtube/releases/latest)
|
||||||
<p align="left">
|
|
||||||
<a href="https://github.com/Flowseal/zapret-discord-youtube/graphs/contributors">
|
3. Зайдите в свойства скачанного архива и поставьте галочку "Разблокировать". Если вы используете архиватор 7-Zip или PeaZip, этот шаг можно пропустить
|
||||||
<img src="https://contrib.rocks/image?repo=Flowseal/zapret-discord-youtube" />
|
|
||||||
|
4. Распакуйте содержимое архива по пути, который не содержит кириллицу/спец. символы
|
||||||
|
|
||||||
|
5. Запустите нужный файл
|
||||||
|
|
||||||
|
## ℹ️Краткие описания файлов
|
||||||
|
|
||||||
|
- [**`general.bat ...`**](./general.bat) - запуск стратегии вручную
|
||||||
|
|
||||||
|
Запуск вручную можно использовать для проверки работоспособности стратегий. Работоспособность той или иной стратегии зависит от многих факторов. **Пробуйте разные стратегии (ALT, FAKE и другие), пока не найдёте рабочее для вас решение**
|
||||||
|
|
||||||
|
- [**`service.bat`**](./service.bat) - установка в автозапуск и другие функции:
|
||||||
|
- <ins>**`Install Service`** - установка любой стратегии в автозапуск (services.msc)</ins>
|
||||||
|
- **`Remove Services`** - удаление стратегии и WinDivert из служб
|
||||||
|
- **`Check Status`** - проверка статуса обхода и служб (стратегии на автозапуске и WinDivert)
|
||||||
|
- **`Game Filter`** - переключение режима обхода для игр (и других сервисов, использующих UDP и TCP на портах выше 1023).
|
||||||
|
**После переключения требуется перезапуск стратегии.**
|
||||||
|
В скобках указан текущий статус (включено/выключено).
|
||||||
|
- **`IPSet Filter`** - переключение режима обхода сервисов из `ipset-all.txt`.
|
||||||
|
Полезно при тестировании, если не работает ресурс, который без zapret работает
|
||||||
|
В скобках указан текущий статус:
|
||||||
|
- `none` - никакие айпи не попадают под проверку
|
||||||
|
- `loaded` - айпи проверяется на вхождение в список
|
||||||
|
- `any` - любой айпи попадает под фильтр
|
||||||
|
- **`Auto-Update Check`** - Вкл/Выкл автоматическую проверку на обновления
|
||||||
|
- **`Update IPSet List`** - обновление списка `ipset-all.txt` актуальным из репозитория
|
||||||
|
- **`Update Hosts File`** - обновление файла hosts <ins>**для починки веб версии телеграма и подключения к голосовому чату Discord**</ins>
|
||||||
|
- **`Check for Updates`** - проверка на обновления
|
||||||
|
- **`Run Diagnostics`** - диагностика на распространённые причины, по которым zapret может не работать.
|
||||||
|
В конце можно очистить кэш <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=11 /> `Discord`, что может помочь, если он неожиданно перестал работать
|
||||||
|
- **`Run Tests`** - запуск утилиты для проверки стратегий на работоспособность:
|
||||||
|
- `Standard tests` - проверка сайтов из `utils/targets.txt`
|
||||||
|
- `DPI checkers` - проверка DPI на различных провайдерах (Cloudflare, Amazon и др.)
|
||||||
|
|
||||||
|
|
||||||
|
## ☑️Распространенные вопросы и проблемы
|
||||||
|
|
||||||
|
### После запуска скрипта `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]
|
||||||
|
> **Стратегии со временем могут переставать работать.**
|
||||||
|
> Определенная стратегия может работать какое-то время, но со временем она может переставать работать из-за обнаружения.
|
||||||
|
> В репозитории представлены множество различных стратегий для обхода. Если ни одна из них вам не помогает, то вам необходимо создать новую, взяв за основу одну из представленных здесь и изменив её параметры.
|
||||||
|
> Информацию про параметры стратегий вы можете найти [тут](https://github.com/bol-van/zapret/blob/master/docs/readme.md#nfqws).
|
||||||
|
|
||||||
|
- Проверьте, чтобы не было ошибок в `service.bat` -> `Run Diagnostics`
|
||||||
|
|
||||||
|
- Убедитесь, что адрес ресурса записан в списках доменов или IP
|
||||||
|
|
||||||
|
- Проверьте другие стратегии (**`ALT`**/**`FAKE`** и другие)
|
||||||
|
|
||||||
|
- Попробуйте полную переустановку (см. раздел ниже)
|
||||||
|
|
||||||
|
- См. [#765](https://github.com/Flowseal/zapret-discord-youtube/issues/765)
|
||||||
|
|
||||||
|
### Как переустановить/обновить полностью?
|
||||||
|
- Сохраните ресурсы/данные, которые вы сами добавляли
|
||||||
|
- Перезапустите устройство
|
||||||
|
- `service.bat` -> `Remove Services`
|
||||||
|
- `service.bat` -> `Run Diagnostics` (если есть ошибки - устраните их) -> в конце Y
|
||||||
|
- Удалите папку с запретом
|
||||||
|
- Скачайте последнюю версию [со страницы релизов](https://github.com/Flowseal/zapret-discord-youtube/releases) (`zapret-discord-youtube-...`)
|
||||||
|
- Нажмите пкм по архиву -> свойства. Если снизу справа есть галочка разблокировать, то нажмите на неё -> применить -> ОК
|
||||||
|
- Распакуйте в новую папку в корне диска (без спец. символов и пробелов)
|
||||||
|
- Далее пробуйте запускать различные `general` скрипты (стратегии). Проверьте доступность интернет ресурсов - если не работают, то закрывайте программу (в панели задач иконка замочка) и пробуйте другую стратегию
|
||||||
|
- Как найдёте рабочую стратегию, можете поставить её на автозапуск: `service.bat` -> `Install Service` -> выбираете нужную
|
||||||
|
|
||||||
|
### Не работает игра/приложение с включённым запретом
|
||||||
|
|
||||||
|
- Проверьте, что в service.bat `Game Filter` **`disabled`**, а `IPSet Filter` **`none`**. Иначе это может затронуть доступность ресурсов, которых вы не ожидали.
|
||||||
|
|
||||||
|
### Античит ругается на WinDivert
|
||||||
|
|
||||||
|
- Прочитайте инструкцию тут - https://github.com/bol-van/zapret-win-bundle/tree/master/windivert-hide
|
||||||
|
|
||||||
|
### Требуется цифровая подпись драйвера WinDivert (Windows 7)
|
||||||
|
|
||||||
|
- Замените файлы `WinDivert.dll` и `WinDivert64.sys` в папке [`bin`](./bin) на одноименные из [zapret-win-bundle/win7](https://github.com/bol-van/zapret-win-bundle/tree/master/win7)
|
||||||
|
|
||||||
|
### При удалении с помощью [**`service.bat`**](./service.bat), WinDivert остается в службах
|
||||||
|
|
||||||
|
1. Узнайте название службы с помощью команды, в командной строке Windows (Win+R, `cmd`):
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
driverquery | find "Divert"
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Остановите и удалите службу командами:
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
sc stop название_из_первого_шага
|
||||||
|
|
||||||
|
sc delete название_из_первого_шага
|
||||||
|
```
|
||||||
|
|
||||||
|
### Не работает <img src="https://cdn-icons-png.flaticon.com/128/1384/1384060.png" height=18 /> YouTube
|
||||||
|
|
||||||
|
- Убедитесь что вы настроили Secure DNS.
|
||||||
|
- Отключите блокировщик рекламы, известно что YouTube начал с ними бороться.
|
||||||
|
- Пробуйте все другие стратегии (если раньше работало, но перестало).
|
||||||
|
- См. также [#251](https://github.com/Flowseal/zapret-discord-youtube/discussions/251)
|
||||||
|
|
||||||
|
### Не работает <img src="https://cdn-icons-png.flaticon.com/128/5968/5968756.png" height=18 /> Discord
|
||||||
|
|
||||||
|
- Желательно сначала узнать, на какой стратегии открывается сайт YouTube. Запустите эту стратегию.
|
||||||
|
- Проверьте Discord в браузере: https://discord.com/app. В браузере работает? Если работает, то можете пользоваться в нём.
|
||||||
|
- Если Discord и в браузере не работает, убедитесь что вы настроили Secure DNS, и после этого ещё раз пробуйте все стратегии. Бывает такое, что на одной стратегии YouTube работает, а Discord нет.
|
||||||
|
- См. также [#252](https://github.com/Flowseal/zapret-discord-youtube/discussions/252)
|
||||||
|
|
||||||
|
### Не нашли своей проблемы
|
||||||
|
|
||||||
|
* Создайте её [тут](https://github.com/Flowseal/zapret-discord-youtube/issues)
|
||||||
|
|
||||||
|
## 🗒️Добавление адресов прочих ресурсов
|
||||||
|
|
||||||
|
Список адресов для обхода можно расширить, добавляя их в:
|
||||||
|
- **`list-general-user.txt`** для доменов (поддомены автоматически учитываются)
|
||||||
|
- **`list-exclude-user.txt`** для исключения доменов (например, если айпи сети указан в `ipset-all.txt`, но конкретный домен из этой сети не надо фильтровать)
|
||||||
|
- **`ipset-all.txt`** для IP и подсетей
|
||||||
|
- **`ipset-exclude-user.txt`** для исключения IP и подсетей
|
||||||
|
- Файлы **`*-user.txt`** автоматически создадутся при первом запуске `zapret` или `service.bat`
|
||||||
|
|
||||||
|
## ⭐Поддержка проекта
|
||||||
|
|
||||||
|
Вы можете поддержать проект, поставив :star: этому репозиторию (сверху справа этой страницы)
|
||||||
|
|
||||||
|
Также вы можете материально поддержать оригинального разработчика zapret [тут](https://github.com/bol-van/zapret?tab=readme-ov-file#%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D1%82%D1%8C-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0)
|
||||||
|
|
||||||
|
<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>
|
</a>
|
||||||
</p>
|
|
||||||
|
|
||||||
* Many thanks to [bol-van](https://github.com/bol-van/), creator of original [zapret](https://github.com/bol-van/zapret/) repository.
|
## ⚖️Лицензирование
|
||||||
|
|
||||||
|
Проект распространяется на условиях лицензии [MIT](https://github.com/Flowseal/zapret-discord-youtube/blob/main/LICENSE.txt)
|
||||||
|
|
||||||
|
## 🩷Благодарность участникам проекта
|
||||||
|
|
||||||
|
[](https://github.com/Flowseal/zapret-discord-youtube/graphs/contributors)
|
||||||
|
|
||||||
|
💖 Отдельная благодарность разработчику [zapret](https://github.com/bol-van/zapret) - [bol-van](https://github.com/bol-van)
|
||||||
|
|||||||
BIN
bin/cygwin1.dll
BIN
bin/cygwin1.dll
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/stun.bin
Normal file
BIN
bin/stun.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.
Binary file not shown.
BIN
bin/winws.exe
BIN
bin/winws.exe
Binary file not shown.
12
discord.bat
12
discord.bat
@@ -1,12 +0,0 @@
|
|||||||
@echo off
|
|
||||||
chcp 65001 >nul
|
|
||||||
:: 65001 - UTF-8
|
|
||||||
|
|
||||||
cd /d "%~dp0"
|
|
||||||
|
|
||||||
set BIN=%~dp0bin\
|
|
||||||
|
|
||||||
start "zapret: discord" /min "%BIN%winws.exe" --wf-tcp=443 --wf-udp=443,50000-65535 ^
|
|
||||||
--filter-udp=443 --hostlist="list-discord.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-udplen-increment=10 --dpi-desync-udplen-pattern=0xDEADBEEF --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
|
||||||
--filter-udp=50000-65535 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
|
||||||
--filter-tcp=443 --hostlist="list-discord.txt" --dpi-desync=fake,split --dpi-desync-autottl=2 --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin"
|
|
||||||
25
general (ALT).bat
Normal file
25
general (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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n4
|
||||||
25
general (ALT2).bat
Normal file
25
general (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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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-google.txt" --ip-id=zero --dpi-desync=multisplit --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=652 --dpi-desync-split-pos=2 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2
|
||||||
25
general (ALT3).bat
Normal file
25
general (ALT3).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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n4
|
||||||
25
general (ALT4).bat
Normal file
25
general (ALT4).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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2
|
||||||
23
general (ALT5).bat
Normal file
23
general (ALT5).bat
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
@echo off
|
||||||
|
chcp 65001 > nul
|
||||||
|
:: 65001 - UTF-8
|
||||||
|
:: NOT RECOMMENDED
|
||||||
|
|
||||||
|
cd /d "%~dp0"
|
||||||
|
call service.bat status_zapret
|
||||||
|
call service.bat check_updates
|
||||||
|
call service.bat load_game_filter
|
||||||
|
call service.bat load_user_lists
|
||||||
|
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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n3
|
||||||
25
general (ALT6).bat
Normal file
25
general (ALT6).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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2
|
||||||
25
general (ALT7).bat
Normal file
25
general (ALT7).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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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-google.txt" --ip-id=zero --dpi-desync=multisplit --dpi-desync-split-pos=2,sniext+1 --dpi-desync-split-seqovl=679 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-pos=2,sniext+1 --dpi-desync-split-seqovl=679 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata --new ^
|
||||||
|
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=syndata --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --new ^
|
||||||
|
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2
|
||||||
25
general (FAKE TLS AUTO ALT).bat
Normal file
25
general (FAKE TLS AUTO 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=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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2
|
||||||
25
general (FAKE TLS AUTO ALT2).bat
Normal file
25
general (FAKE TLS AUTO 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=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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
|
||||||
|
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
|
||||||
|
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
|
||||||
|
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=badseq --dpi-desync-badseq-increment=10000000 --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
|
||||||
|
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2
|
||||||
25
general (FAKE TLS AUTO ALT3).bat
Normal file
25
general (FAKE TLS AUTO ALT3).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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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-google.txt" --ip-id=zero --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
|
||||||
|
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
|
||||||
|
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
|
||||||
|
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
|
||||||
|
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n3
|
||||||
25
general (FAKE TLS AUTO).bat
Normal file
25
general (FAKE TLS AUTO).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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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-google.txt" --ip-id=zero --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls=^! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --new ^
|
||||||
|
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls=^! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
|
||||||
|
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls=^! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
|
||||||
|
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multidisorder --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-pos=1,midsld --dpi-desync-repeats=11 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=0x00000000 --dpi-desync-fake-tls=^! --dpi-desync-fake-tls-mod=rnd,dupsid,sni=www.google.com --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
|
||||||
|
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.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%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n3
|
||||||
24
general.bat
24
general.bat
@@ -3,11 +3,23 @@ chcp 65001 >nul
|
|||||||
:: 65001 - UTF-8
|
:: 65001 - UTF-8
|
||||||
|
|
||||||
cd /d "%~dp0"
|
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 "BIN=%~dp0bin\"
|
||||||
|
set "LISTS=%~dp0lists\"
|
||||||
|
cd /d %BIN%
|
||||||
|
|
||||||
start "zapret: general" /min "%BIN%winws.exe" --wf-tcp=80,443 --wf-udp=443,50000-65535 ^
|
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="list-general.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-udplen-increment=10 --dpi-desync-udplen-pattern=0xDEADBEEF --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
--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=50000-65535 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --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%quic_initial_dbankcloud_ru.bin" --dpi-desync-fake-stun="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-repeats=6 --new ^
|
||||||
--filter-tcp=80 --hostlist="list-general.txt" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --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="list-general.txt" --dpi-desync=fake,split --dpi-desync-autottl=2 --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin"
|
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_4pda_to.bin" --new ^
|
||||||
|
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
|
||||||
|
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_4pda_to.bin" --new ^
|
||||||
|
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n3 --dpi-desync-split-seqovl=568 --dpi-desync-split-pos=1 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_4pda_to.bin" --new ^
|
||||||
|
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=12 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_dbankcloud_ru.bin" --dpi-desync-cutoff=n2
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
discord.com
|
|
||||||
gateway.discord.gg
|
|
||||||
cdn.discordapp.com
|
|
||||||
discordapp.net
|
|
||||||
discordapp.com
|
|
||||||
discord.gg
|
|
||||||
media.discordapp.net
|
|
||||||
images-ext-1.discordapp.net
|
|
||||||
discord.app
|
|
||||||
discord.media
|
|
||||||
discordcdn.com
|
|
||||||
discord.dev
|
|
||||||
discord.new
|
|
||||||
discord.gift
|
|
||||||
discordstatus.com
|
|
||||||
dis.gd
|
|
||||||
discord.co
|
|
||||||
discord-attachments-uploads-prd.storage.googleapis.com
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
googlevideo.com
|
|
||||||
youtu.be
|
|
||||||
youtube.com
|
|
||||||
youtubei.googleapis.com
|
|
||||||
i.ytimg.com
|
|
||||||
ytimg.com
|
|
||||||
ggpht.com
|
|
||||||
youtubekids.com
|
|
||||||
discord.com
|
|
||||||
gateway.discord.gg
|
|
||||||
cdn.discordapp.com
|
|
||||||
discordapp.net
|
|
||||||
discordapp.com
|
|
||||||
discord.gg
|
|
||||||
media.discordapp.net
|
|
||||||
images-ext-1.discordapp.net
|
|
||||||
discord.app
|
|
||||||
discord.media
|
|
||||||
discordcdn.com
|
|
||||||
discord.dev
|
|
||||||
discord.new
|
|
||||||
discord.gift
|
|
||||||
discordstatus.com
|
|
||||||
dis.gd
|
|
||||||
discord.co
|
|
||||||
discord-attachments-uploads-prd.storage.googleapis.com
|
|
||||||
7tv.app
|
|
||||||
7tv.io
|
|
||||||
10tv.app
|
|
||||||
1
lists/ipset-all.txt
Normal file
1
lists/ipset-all.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
203.0.113.113/32
|
||||||
30995
lists/ipset-all.txt.backup
Normal file
30995
lists/ipset-all.txt.backup
Normal file
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
|
||||||
97
lists/list-exclude.txt
Normal file
97
lists/list-exclude.txt
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
pusher.com
|
||||||
|
live-video.net
|
||||||
|
ttvnw.net
|
||||||
|
twitch.tv
|
||||||
|
mail.ru
|
||||||
|
citilink.ru
|
||||||
|
yandex.com
|
||||||
|
nvidia.com
|
||||||
|
donationalerts.com
|
||||||
|
vk.com
|
||||||
|
yandex.kz
|
||||||
|
mts.ru
|
||||||
|
multimc.org
|
||||||
|
ya.ru
|
||||||
|
dns-shop.ru
|
||||||
|
habr.com
|
||||||
|
3dnews.ru
|
||||||
|
sberbank.ru
|
||||||
|
ozon.ru
|
||||||
|
wildberries.ru
|
||||||
|
microsoft.com
|
||||||
|
microsoftonline.com
|
||||||
|
live.com
|
||||||
|
minecraft.net
|
||||||
|
xboxlive.com
|
||||||
|
akamaitechnologies.com
|
||||||
|
msi.com
|
||||||
|
2ip.ru
|
||||||
|
yandex.ru
|
||||||
|
boosty.to
|
||||||
|
tanki.su
|
||||||
|
lesta.ru
|
||||||
|
korabli.su
|
||||||
|
tanksblitz.ru
|
||||||
|
reg.ru
|
||||||
|
epicgames.dev
|
||||||
|
epicgames.com
|
||||||
|
unrealengine.com
|
||||||
|
riotgames.com
|
||||||
|
riotcdn.net
|
||||||
|
leagueoflegends.com
|
||||||
|
playvalorant.com
|
||||||
|
marketplace.visualstudio.com
|
||||||
|
gosuslugi.ru
|
||||||
|
gov.ru
|
||||||
|
nalog.ru
|
||||||
|
spb.ru
|
||||||
|
mos.ru
|
||||||
|
yandex.net
|
||||||
|
vk.ru
|
||||||
|
vk.me
|
||||||
|
vkvideo.ru
|
||||||
|
ok.ru
|
||||||
|
mycdn.me
|
||||||
|
okcdn.ru
|
||||||
|
odkl.ru
|
||||||
|
wbbasket.ru
|
||||||
|
wb.ru
|
||||||
|
ozone.ru
|
||||||
|
geobasket.ru
|
||||||
|
paywb.com
|
||||||
|
rwb.ru
|
||||||
|
wb-basket.ru
|
||||||
|
wb.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
|
||||||
|
tochka-tech.com
|
||||||
|
tochka.com
|
||||||
|
vtb.ru
|
||||||
49
lists/list-general.txt
Normal file
49
lists/list-general.txt
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
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
|
||||||
|
discord.co
|
||||||
|
discord.com
|
||||||
|
discord.design
|
||||||
|
discord.dev
|
||||||
|
discord.gift
|
||||||
|
discord.gifts
|
||||||
|
discord.gg
|
||||||
|
discord.media
|
||||||
|
discord.new
|
||||||
|
discord.store
|
||||||
|
discord.status
|
||||||
|
discord-activities.com
|
||||||
|
discordactivities.com
|
||||||
|
discordapp.com
|
||||||
|
discordapp.net
|
||||||
|
discordcdn.com
|
||||||
|
discordmerch.com
|
||||||
|
discordpartygames.com
|
||||||
|
discordsays.com
|
||||||
|
discordsez.com
|
||||||
|
discordstatus.com
|
||||||
|
frankerfacez.com
|
||||||
|
ffzap.com
|
||||||
|
betterttv.net
|
||||||
|
7tv.app
|
||||||
|
7tv.io
|
||||||
|
localizeapi.com
|
||||||
|
klipy.com
|
||||||
18
lists/list-google.txt
Normal file
18
lists/list-google.txt
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
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
|
||||||
|
play.google.com
|
||||||
1031
service.bat
Normal file
1031
service.bat
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,24 +0,0 @@
|
|||||||
@echo off
|
|
||||||
chcp 65001 >nul
|
|
||||||
:: 65001 - UTF-8
|
|
||||||
|
|
||||||
:: Admin rights check
|
|
||||||
echo Данный файл должен быть запущен с правами администратора (ПКМ - Запустить от имени администратора).
|
|
||||||
echo Нажмите любую клавишу, чтобы продолжить создание сервиса.
|
|
||||||
pause
|
|
||||||
|
|
||||||
set BIN=%~dp0bin\
|
|
||||||
set ARGS=--wf-tcp=443 --wf-udp=443,50000-65535 ^
|
|
||||||
--filter-udp=443 --hostlist=\"%~dp0list-discord.txt\" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-udplen-increment=10 --dpi-desync-udplen-pattern=0xDEADBEEF --dpi-desync-fake-quic=\"%BIN%quic_initial_www_google_com.bin\" --new ^
|
|
||||||
--filter-udp=50000-65535 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --dpi-desync-repeats=6 --dpi-desync-fake-quic=\"%BIN%quic_initial_www_google_com.bin\" --new ^
|
|
||||||
--filter-tcp=443 --hostlist=\"%~dp0list-discord.txt\" --dpi-desync=fake,split --dpi-desync-autottl=2 --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=\"%BIN%tls_clienthello_www_google_com.bin\"
|
|
||||||
|
|
||||||
set SRVCNAME=zapret
|
|
||||||
|
|
||||||
net stop %SRVCNAME%
|
|
||||||
sc delete %SRVCNAME%
|
|
||||||
sc create %SRVCNAME% binPath= "\"%BIN%winws.exe\" %ARGS%" DisplayName= "zapret DPI bypass : %SRVCNAME%" start= auto
|
|
||||||
sc description %SRVCNAME% "zapret DPI bypass software"
|
|
||||||
sc start %SRVCNAME%
|
|
||||||
|
|
||||||
pause
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
@echo off
|
|
||||||
chcp 65001 >nul
|
|
||||||
:: 65001 - UTF-8
|
|
||||||
|
|
||||||
:: Admin rights check
|
|
||||||
echo Данный файл должен быть запущен с правами администратора (ПКМ - Запустить от имени администратора).
|
|
||||||
echo Нажмите любую клавишу, чтобы продолжить создание сервиса.
|
|
||||||
pause
|
|
||||||
|
|
||||||
set BIN=%~dp0bin\
|
|
||||||
set ARGS=--wf-tcp=80,443 --wf-udp=443,50000-65535 ^
|
|
||||||
--filter-udp=443 --hostlist=\"%~dp0list-general.txt\" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-udplen-increment=10 --dpi-desync-udplen-pattern=0xDEADBEEF --dpi-desync-fake-quic=\"%BIN%quic_initial_www_google_com.bin\" --new ^
|
|
||||||
--filter-udp=50000-65535 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --dpi-desync-repeats=6 --dpi-desync-fake-quic=\"%BIN%quic_initial_www_google_com.bin\" --new ^
|
|
||||||
--filter-tcp=80 --hostlist=\"%~dp0list-general.txt\" --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --new ^
|
|
||||||
--filter-tcp=443 --hostlist=\"%~dp0list-general.txt\" --dpi-desync=fake,split --dpi-desync-autottl=2 --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=\"%BIN%tls_clienthello_www_google_com.bin\"
|
|
||||||
|
|
||||||
set SRVCNAME=zapret
|
|
||||||
|
|
||||||
net stop %SRVCNAME%
|
|
||||||
sc delete %SRVCNAME%
|
|
||||||
sc create %SRVCNAME% binPath= "\"%BIN%winws.exe\" %ARGS%" DisplayName= "zapret DPI bypass : %SRVCNAME%" start= auto
|
|
||||||
sc description %SRVCNAME% "zapret DPI bypass software"
|
|
||||||
sc start %SRVCNAME%
|
|
||||||
|
|
||||||
pause
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
@echo off
|
|
||||||
chcp 65001 >nul
|
|
||||||
:: 65001 - UTF-8
|
|
||||||
|
|
||||||
:: Admin rights check
|
|
||||||
echo Данный файл должен быть запущен с правами администратора (ПКМ - Запустить от имени администратора).
|
|
||||||
echo Нажмите любую клавишу, чтобы продолжить создание сервиса.
|
|
||||||
pause
|
|
||||||
|
|
||||||
set BIN=%~dp0bin\
|
|
||||||
set ARGS=--wf-tcp=443 --wf-udp=443,50000-65535 ^
|
|
||||||
--filter-udp=443 --hostlist=\"%~dp0list-discord.txt\" --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-udplen-increment=10 --dpi-desync-udplen-pattern=0xDEADBEEF --dpi-desync-fake-quic=\"%BIN%quic_initial_www_google_com.bin\" --new ^
|
|
||||||
--filter-udp=50000-65535 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d3 --dpi-desync-repeats=6 --dpi-desync-fake-quic=\"%BIN%quic_initial_www_google_com.bin\" --new ^
|
|
||||||
--filter-tcp=443 --hostlist=\"%~dp0list-discord.txt\" --dpi-desync=fake,split --dpi-desync-autottl=2 --dpi-desync-repeats=6 --dpi-desync-fooling=badseq --dpi-desync-fake-tls=\"%BIN%tls_clienthello_www_google_com.bin\"
|
|
||||||
|
|
||||||
set SRVCNAME=zapret
|
|
||||||
|
|
||||||
net stop %SRVCNAME%
|
|
||||||
sc delete %SRVCNAME%
|
|
||||||
sc create %SRVCNAME% binPath= "\"%BIN%winws.exe\" %ARGS%" DisplayName= "zapret DPI bypass : %SRVCNAME%" start= auto depend= "GoodbyeDPI"
|
|
||||||
sc description %SRVCNAME% "zapret DPI bypass software"
|
|
||||||
sc start %SRVCNAME%
|
|
||||||
|
|
||||||
pause
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
@echo off
|
|
||||||
chcp 65001 >nul
|
|
||||||
:: 65001 - UTF-8
|
|
||||||
|
|
||||||
:: Admin rights check
|
|
||||||
echo Данный файл должен быть запущен с правами администратора (ПКМ - Запустить от имени администратора).
|
|
||||||
echo Нажмите любую клавишу, чтобы продолжить удаление и остановку сервиса.
|
|
||||||
pause
|
|
||||||
|
|
||||||
set SRVCNAME=zapret
|
|
||||||
|
|
||||||
net stop %SRVCNAME%
|
|
||||||
sc delete %SRVCNAME%
|
|
||||||
|
|
||||||
net stop "WinDivert"
|
|
||||||
sc delete "WinDivert"
|
|
||||||
net stop "WinDivert14"
|
|
||||||
sc delete "WinDivert14"
|
|
||||||
|
|
||||||
pause
|
|
||||||
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"
|
||||||
944
utils/test zapret.ps1
Normal file
944
utils/test zapret.ps1
Normal file
@@ -0,0 +1,944 @@
|
|||||||
|
$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
|
||||||
|
foreach ($config in $analytics.Keys) {
|
||||||
|
$a = $analytics[$config]
|
||||||
|
if ($a.ContainsKey('PingOK')) {
|
||||||
|
Write-Host "$config : HTTP OK: $($a.OK), ERR: $($a.ERROR), UNSUP: $($a.UNSUP), Ping OK: $($a.PingOK), Fail: $($a.PingFail)" -ForegroundColor Yellow
|
||||||
|
} else {
|
||||||
|
Write-Host "$config : OK: $($a.OK), FAIL: $($a.FAIL), UNSUP: $($a.UNSUPPORTED), BLOCKED: $($a.LIKELY_BLOCKED)" -ForegroundColor Yellow
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Determine best strategy
|
||||||
|
$bestConfig = $null
|
||||||
|
$maxScore = 0
|
||||||
|
$maxPing = -1
|
||||||
|
foreach ($config in $analytics.Keys) {
|
||||||
|
$a = $analytics[$config]
|
||||||
|
$score = $a.OK
|
||||||
|
$pingScore = 0
|
||||||
|
if ($a.ContainsKey('PingOK')) {
|
||||||
|
$pingScore = $a.PingOK
|
||||||
|
}
|
||||||
|
if ($score -gt $maxScore) {
|
||||||
|
$maxScore = $score
|
||||||
|
$maxPing = $pingScore
|
||||||
|
$bestConfig = $config
|
||||||
|
} elseif ($score -eq $maxScore) {
|
||||||
|
if ($pingScore -gt $maxPing) {
|
||||||
|
$maxPing = $pingScore
|
||||||
|
$bestConfig = $config
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Write-Host ""
|
||||||
|
Write-Host "Best config: $bestConfig" -ForegroundColor Green
|
||||||
|
Write-Host ""
|
||||||
|
|
||||||
|
# Save to file
|
||||||
|
$dateStr = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
|
||||||
|
$resultFile = Join-Path $resultsDir "test_results_$dateStr.txt"
|
||||||
|
# Clear file
|
||||||
|
"" | Out-File $resultFile -Encoding UTF8
|
||||||
|
foreach ($res in $globalResults) {
|
||||||
|
$config = $res.Config
|
||||||
|
$type = $res.Type
|
||||||
|
$results = $res.Results
|
||||||
|
Add-Content $resultFile "Config: $config (Type: $type)"
|
||||||
|
if ($type -eq 'standard') {
|
||||||
|
foreach ($targetRes in $results) {
|
||||||
|
$name = $targetRes.Name
|
||||||
|
$http = $targetRes.HttpTokens -join ' '
|
||||||
|
$ping = $targetRes.PingResult
|
||||||
|
Add-Content $resultFile " $name : $http | Ping: $ping"
|
||||||
|
}
|
||||||
|
} elseif ($type -eq 'dpi') {
|
||||||
|
foreach ($targetRes in $results) {
|
||||||
|
$id = $targetRes.TargetId
|
||||||
|
$provider = $targetRes.Provider
|
||||||
|
Add-Content $resultFile " Target: $id ($provider)"
|
||||||
|
foreach ($line in $targetRes.Lines) {
|
||||||
|
$test = $line.TestLabel
|
||||||
|
$code = $line.Code
|
||||||
|
$size = $line.SizeKB
|
||||||
|
$status = $line.Status
|
||||||
|
Add-Content $resultFile " ${test}: code=${code} size=${size} KB status=${status}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Add-Content $resultFile ""
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add analytics
|
||||||
|
Add-Content $resultFile "=== ANALYTICS ==="
|
||||||
|
foreach ($config in $analytics.Keys) {
|
||||||
|
$a = $analytics[$config]
|
||||||
|
if ($a.ContainsKey('PingOK')) {
|
||||||
|
Add-Content $resultFile "$config : HTTP OK: $($a.OK), ERR: $($a.ERROR), UNSUP: $($a.UNSUP), Ping OK: $($a.PingOK), Fail: $($a.PingFail)"
|
||||||
|
} else {
|
||||||
|
Add-Content $resultFile "$config : OK: $($a.OK), FAIL: $($a.FAIL), UNSUP: $($a.UNSUPPORTED), BLOCKED: $($a.LIKELY_BLOCKED)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Add-Content $resultFile "Best strategy: $bestConfig"
|
||||||
|
|
||||||
|
Write-Host "Results saved to $resultFile" -ForegroundColor Green
|
||||||
|
|
||||||
|
} catch {
|
||||||
|
Write-Host "[ERROR] An error occurred during tests. Restoring ipset..." -ForegroundColor Red
|
||||||
|
if ($originalIpsetStatus -and $originalIpsetStatus -ne "any") {
|
||||||
|
Set-IpsetMode -mode "restore"
|
||||||
|
}
|
||||||
|
Remove-Item -Path $ipsetFlagFile -ErrorAction SilentlyContinue
|
||||||
|
} finally {
|
||||||
|
Stop-Zapret
|
||||||
|
Restore-WinwsSnapshot -snapshot $originalWinws
|
||||||
|
if ($originalIpsetStatus -ne "any") {
|
||||||
|
Write-Host "[INFO] Restoring original ipset mode..." -ForegroundColor DarkGray
|
||||||
|
Set-IpsetMode -mode "restore"
|
||||||
|
}
|
||||||
|
Remove-Item -Path $ipsetFlagFile -ErrorAction SilentlyContinue
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Press any key to close..." -ForegroundColor Yellow
|
||||||
|
[void][System.Console]::ReadKey($true)
|
||||||
|
exit
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user