mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-29 21:40:52 +03:00
doc works
This commit is contained in:
parent
29520c9827
commit
b9962a0308
@ -222,11 +222,6 @@
|
||||
> В этом примере `wssize` будет применяться всегда к порту tcp `443` вне
|
||||
> зависимости от параметра `MODE_FILTER`. Хостлист будет игнорироваться,
|
||||
> если таковой имеется. К http применять `wssize` вредно и бессмысленно.
|
||||
>
|
||||
> Никто не мешает использовать `tpws` для http, `nfqws` для https, либо
|
||||
> комбинировать действие `nfqws` и `tpws` для одного протокола. В текущем
|
||||
> варианте скриптов запуска это делается максимально гибко и независимо друг
|
||||
> от друга.
|
||||
|
||||
7. Запустите скрипт облегченной установки - `install_easy.sh` Выберите `nfqws`
|
||||
и/или `tpws`, затем согласитесь на редактирование параметров. Откроется
|
||||
|
@ -32,10 +32,10 @@ _"Совсем ничего не могу, все очень сложно, да
|
||||
1) Скачайте и распакуйте архив https://github.com/bol-van/zapret-win-bundle/archive/refs/heads/master.zip.
|
||||
2) Запустите `zapret-winws/preset_russia.cmd` от имени администратора. Возможно, заведется сразу.
|
||||
|
||||
То же самое с ограничителем по автоматически создаваемому хост-листу `preset_russia_autohostlist.cmd`.
|
||||
Что такое `autohostlist` - читайте [readme.md](./readme.md). Проще говоря, мы обходим только то, что долго и упорно не хочет открываться.
|
||||
Сначала не будет, но надо пытаться много раз, и тогда сработает, а дальше будет всегда срабатывать.
|
||||
Остальное не будет ломаться. Использовать только, если первый вариант тоже работает.
|
||||
> То же самое с ограничителем по автоматически создаваемому хост-листу `preset_russia_autohostlist.cmd`.
|
||||
> Что такое `autohostlist` - читайте [readme.md](./readme.md). Проще говоря, мы обходим только то, что долго и упорно не хочет открываться.
|
||||
> Сначала не будет, но надо пытаться много раз, и тогда сработает, а дальше будет всегда срабатывать.
|
||||
> Остальное не будет ломаться. Использовать только, если первый вариант тоже работает.
|
||||
|
||||
Не помогла _"таблетка"_ ? Это вовсе не значит, что ничего не получится. Но придется делать по нормальному.
|
||||
|
||||
@ -48,13 +48,13 @@ _"Совсем ничего не могу, все очень сложно, да
|
||||
> [!WARNING]
|
||||
> Для 32-битных систем Windows нет готового полного варианта.
|
||||
|
||||
На windows 11 arm64 выполните `arm64/install_arm64.cmd` от имени администратора и перезагрузите компьютер.
|
||||
Читайте [docs/windows.md](./windows.md)
|
||||
|
||||
Имейте в виду, что антивирусы могут плохо реагировать на windivert.
|
||||
cygwin так же имеет внушительный список несовместимостей с антивирусами, хотя современные антивирусы
|
||||
более-менее научились с ним дружить.
|
||||
Если проблема имеет место , используйте исключения. Если не помогает - отключайте антивирус совсем.
|
||||
> На windows 11 arm64 выполните `arm64/install_arm64.cmd` от имени администратора и перезагрузите компьютер.
|
||||
> Читайте [docs/windows.md](./windows.md)
|
||||
>
|
||||
> Имейте в виду, что антивирусы могут плохо реагировать на windivert.
|
||||
> cygwin так же имеет внушительный список несовместимостей с антивирусами, хотя современные антивирусы
|
||||
> более-менее научились с ним дружить.
|
||||
> Если проблема имеет место , используйте исключения. Если не помогает - отключайте антивирус совсем.
|
||||
|
||||
3) Убедитесь, что у вас отключены все средства обхода блокировок, в том числе и сам zapret.
|
||||
|
||||
@ -66,13 +66,13 @@ blockcheck перейдет в этом случае на **DoH** _(DNS over HTT
|
||||
Но если вы не настроите решение этой проблемы, обход будет работать только для тех программ,
|
||||
которые сами реализуют механизмы SecureDNS. Для других программ обход работать не будет.
|
||||
|
||||
Решение проблемы DNS выходит за рамки проекта. Обычно она решается либо заменой DNS серверов
|
||||
от провайдера на публичные (`1.1.1.1`, `8.8.8.8`), либо в случае перехвата провайдером обращений
|
||||
к сторонним серверам - через специальные средства шифрования DNS запросов, такие как [dnscrypt](https://www.dnscrypt.org/), **DoT** _(DNS over TLS)_, **DoH**.
|
||||
В современных броузерах чаще всего DoH включен по умолчанию, но curl будет использовать обычный системный DNS.
|
||||
win11 поддерживает системные DoH из коробки. Они не настроены по умолчанию.
|
||||
В последних билдах win10 существует неофициальный обходной путь для включения DoH.
|
||||
Для остальных систем нужно стороннее решение, работающие по принципу DNS proxy.
|
||||
> Решение проблемы DNS выходит за рамки проекта. Обычно она решается либо заменой DNS серверов
|
||||
> от провайдера на публичные (`1.1.1.1`, `8.8.8.8`), либо в случае перехвата провайдером обращений
|
||||
> к сторонним серверам - через специальные средства шифрования DNS запросов, такие как [dnscrypt](https://www.dnscrypt.org/), **DoT** _(DNS over TLS)_, **DoH**.
|
||||
> В современных броузерах чаще всего DoH включен по умолчанию, но curl будет использовать обычный системный DNS.
|
||||
> win11 поддерживает системные DoH из коробки. Они не настроены по умолчанию.
|
||||
> В последних билдах win10 существует неофициальный обходной путь для включения DoH.
|
||||
> Для остальных систем нужно стороннее решение, работающие по принципу DNS proxy.
|
||||
|
||||
Тут все разжевано как и где это включается : https://hackware.ru/?p=13707
|
||||
|
||||
@ -87,87 +87,87 @@ win11 поддерживает системные DoH из коробки. Он
|
||||
> [!TIP]
|
||||
> В большинстве случаев можно обьединить несколько стратегий в одну универсальную, и это крайне желательно.
|
||||
|
||||
Необходимо понимать [как работают стратегии](./readme.md/#nfqws).
|
||||
zapret не может пробить блокировку по IP адресу. Для проверки нескольких доменов вводите их через пробел.
|
||||
|
||||
Сейчас блокираторы ставят на магистральных каналах. В сложных случаях у вас может быть несколько маршрутов
|
||||
с различной длиной по ХОПам, с DPI на разных хопах. Приходится преодолевать целый зоопарк DPI,
|
||||
которые еще и включаются в работу хаотичным образом или образом, зависящим от направления (IP сервера).
|
||||
blockcheck не всегда может выдать вам в итогах оптимальную стратегию, которую надо просто переписать в настройки.
|
||||
В некоторых случаях надо реально думать что происходит, анализируя результат на разных стратегиях.
|
||||
Если вы применяете большой TTL, чтобы достать до магистрала, то не лишним будет добавить дополнительный ограничитель
|
||||
`--dpi-desync-fooling`, чтобы не сломать сайты на более коротких дистанциях.
|
||||
_md5sig_ наиболее совместим, но работатет только на linux серверах.
|
||||
badseq может работать только на https и не работать на http.
|
||||
Чтобы выяснить какие дополнительные ограничители работают, смотрите результат теста аналогичных стратегий без TTL
|
||||
с каждым из этих ограничителей.
|
||||
|
||||
При использовании autottl следует протестировать как можно больше разных доменов. Эта техника
|
||||
может на одних провайдерах работать стабильно, на других потребуется выяснить при каких параметрах
|
||||
она стабильна, на третьих полный хаос, и проще отказаться.
|
||||
|
||||
Далее, имея понимание что работает на http, https, quic, нужно сконструировать параметры запуска winws
|
||||
с использованием мультистратегии. Как работают мультистратегии описано в [readme.md](./readme.md).
|
||||
|
||||
Прежде всего вам нужно собрать фильтр перехватываемого трафика. Это делается через параметры
|
||||
`--wf-l3`, `--wf-tcp`, `--wf-udp`.
|
||||
`--wf-l3` относится к версии ip протокола - ipv4 или ipv6.
|
||||
`--wf-tcp` и `--wf-udp` содержат перечень портов или диапазонов портов через запятую.
|
||||
|
||||
Пример стандартного фильтра для перехвата http, https, quic : `--wf-tcp=80,443` `--wf-udp=443`
|
||||
|
||||
> Необходимо понимать [как работают стратегии](./readme.md/#nfqws).
|
||||
> zapret не может пробить блокировку по IP адресу. Для проверки нескольких доменов вводите их через пробел.
|
||||
>
|
||||
> Сейчас блокираторы ставят на магистральных каналах. В сложных случаях у вас может быть несколько маршрутов
|
||||
> с различной длиной по ХОПам, с DPI на разных хопах. Приходится преодолевать целый зоопарк DPI,
|
||||
> которые еще и включаются в работу хаотичным образом или образом, зависящим от направления (IP сервера).
|
||||
> blockcheck не всегда может выдать вам в итогах оптимальную стратегию, которую надо просто переписать в настройки.
|
||||
> В некоторых случаях надо реально думать что происходит, анализируя результат на разных стратегиях.
|
||||
> Если вы применяете большой TTL, чтобы достать до магистрала, то не лишним будет добавить дополнительный ограничитель
|
||||
> `--dpi-desync-fooling`, чтобы не сломать сайты на более коротких дистанциях.
|
||||
> _md5sig_ наиболее совместим, но работатет только на linux серверах.
|
||||
> badseq может работать только на https и не работать на http.
|
||||
> Чтобы выяснить какие дополнительные ограничители работают, смотрите результат теста аналогичных стратегий без TTL
|
||||
> с каждым из этих ограничителей.
|
||||
>
|
||||
> При использовании autottl следует протестировать как можно больше разных доменов. Эта техника
|
||||
> может на одних провайдерах работать стабильно, на других потребуется выяснить при каких параметрах
|
||||
> она стабильна, на третьих полный хаос, и проще отказаться.
|
||||
>
|
||||
> Далее, имея понимание что работает на http, https, quic, нужно сконструировать параметры запуска winws
|
||||
> с использованием мультистратегии. Как работают мультистратегии описано в [readme.md](./readme.md).
|
||||
>
|
||||
> Прежде всего вам нужно собрать фильтр перехватываемого трафика. Это делается через параметры
|
||||
> `--wf-l3`, `--wf-tcp`, `--wf-udp`.
|
||||
> `--wf-l3` относится к версии ip протокола - ipv4 или ipv6.
|
||||
> `--wf-tcp` и `--wf-udp` содержат перечень портов или диапазонов портов через запятую.
|
||||
>
|
||||
> Пример стандартного фильтра для перехвата http, https, quic : `--wf-tcp=80,443` `--wf-udp=443`
|
||||
>
|
||||
> [!WARNING]
|
||||
> Фильтр должен быть минимально необходимым. Перехват лишнего трафика приведет только к бессмысленному расходованию ресурсов процессора и замедлению интернета.
|
||||
|
||||
Если кратко по мультистратегии, то обычно параметры конструируются так :
|
||||
```
|
||||
--filter-udp=443 'параметры для quic' --new
|
||||
--filter-tcp=80,443 'обьединенные параметры для http и https'
|
||||
```
|
||||
|
||||
Или так :
|
||||
```
|
||||
--filter-udp=443 'параметры для quic' --new
|
||||
--filter-tcp=80 'параметры для http' --new
|
||||
--filter-tcp=443 'параметры для https'
|
||||
```
|
||||
|
||||
Если стратегии отличаются по версии ip протокола, и вы не можете их обьединить, фильтр пишется так :
|
||||
```
|
||||
--filter-l3=ipv4 --filter-udp=443 "параметры для quic ipv4" --new
|
||||
--filter-l3=ipv4 --filter-tcp=80 'параметры для http ipv4' --new
|
||||
--filter-l3=ipv4 --filter-tcp=443 'параметры для https ipv4' --new
|
||||
--filter-l3=ipv6 --filter-udp=443 "параметры для quic ipv6" --new
|
||||
--filter-l3=ipv6 --filter-tcp=80 "параметры для http ipv6" --new
|
||||
--filter-l3=ipv6 --filter-tcp=443 "параметры для https ipv6"
|
||||
```
|
||||
|
||||
Но здесь совсем _"копи-пастный"_ вариант.
|
||||
Чем больше вы обьедините стратегий и сократите их общее количество, тем будет лучше.
|
||||
|
||||
Если вам не нужно дурение отдельных протоколов, лучше всего будет их убрать из системы перехвата трафика через
|
||||
параметры `--wf-*` и убрать соответствующие им профили мультистратегии.
|
||||
tcp 80 - http, tcp 443 - https, udp 443 - quic.
|
||||
|
||||
Если используются методы нулевой фазы десинхронизации (`--mss`, `--wssize`, `--dpi-desync=syndata`) и фильтрация hostlist,
|
||||
то все параметры, относящиеся к этим методам, следует помещать в отдельные профили мультистратегии, которые получат
|
||||
управление до определения имени хоста. Необходимо понимать алгоритм работы мультистратегий.
|
||||
|
||||
```
|
||||
--filter-tcp=80 'параметры для http' --new
|
||||
--filter-tcp=443 'параметры для https' --hostlist=d:/users/user/temp/list.txt --new
|
||||
--filter-tcp=443 --wssize 1:6
|
||||
```
|
||||
|
||||
autohostlist профиль приоритетен, поэтому wssize нужно писать туда :
|
||||
|
||||
```
|
||||
--filter-tcp=80 'параметры для http' --new
|
||||
--filter-tcp=443 'параметры для https' --wssize 1:6 --hostlist-auto=d:/users/user/temp/autolist.txt
|
||||
```
|
||||
|
||||
В этих примерах wssize будет применяться всегда к порту tcp 443, а хостлист будет игнорироваться.
|
||||
К http применять wssize вредно и бессмысленно.
|
||||
>
|
||||
> Если кратко по мультистратегии, то обычно параметры конструируются так :
|
||||
> ```
|
||||
> --filter-udp=443 'параметры для quic' --new
|
||||
> --filter-tcp=80,443 'обьединенные параметры для http и https'
|
||||
> ```
|
||||
>
|
||||
> Или так :
|
||||
> ```
|
||||
> --filter-udp=443 'параметры для quic' --new
|
||||
> --filter-tcp=80 'параметры для http' --new
|
||||
> --filter-tcp=443 'параметры для https'
|
||||
> ```
|
||||
>
|
||||
> Если стратегии отличаются по версии ip протокола, и вы не можете их обьединить, фильтр пишется так :
|
||||
> ```
|
||||
> --filter-l3=ipv4 --filter-udp=443 "параметры для quic ipv4" --new
|
||||
> --filter-l3=ipv4 --filter-tcp=80 'параметры для http ipv4' --new
|
||||
> --filter-l3=ipv4 --filter-tcp=443 'параметры для https ipv4' --new
|
||||
> --filter-l3=ipv6 --filter-udp=443 "параметры для quic ipv6" --new
|
||||
> --filter-l3=ipv6 --filter-tcp=80 "параметры для http ipv6" --new
|
||||
> --filter-l3=ipv6 --filter-tcp=443 "параметры для https ipv6"
|
||||
> ```
|
||||
>
|
||||
> Но здесь совсем _"копи-пастный"_ вариант.
|
||||
> Чем больше вы обьедините стратегий и сократите их общее количество, тем будет лучше.
|
||||
>
|
||||
> Если вам не нужно дурение отдельных протоколов, лучше всего будет их убрать из системы перехвата трафика через
|
||||
> параметры `--wf-*` и убрать соответствующие им профили мультистратегии.
|
||||
> tcp 80 - http, tcp 443 - https, udp 443 - quic.
|
||||
>
|
||||
> Если используются методы нулевой фазы десинхронизации (`--mss`, `--wssize`, `--dpi-desync=syndata`) и фильтрация hostlist,
|
||||
> то все параметры, относящиеся к этим методам, следует помещать в отдельные профили мультистратегии, которые получат
|
||||
> управление до определения имени хоста. Необходимо понимать алгоритм работы мультистратегий.
|
||||
>
|
||||
> ```
|
||||
> --filter-tcp=80 'параметры для http' --new
|
||||
> --filter-tcp=443 'параметры для https' --hostlist=d:/users/user/temp/list.txt --new
|
||||
> --filter-tcp=443 --wssize 1:6
|
||||
> ```
|
||||
>
|
||||
> autohostlist профиль приоритетен, поэтому wssize нужно писать туда :
|
||||
>
|
||||
> ```
|
||||
> --filter-tcp=80 'параметры для http' --new
|
||||
> --filter-tcp=443 'параметры для https' --wssize 1:6 --hostlist-auto=d:/users/user/temp/autolist.txt
|
||||
> ```
|
||||
>
|
||||
> В этих примерах wssize будет применяться всегда к порту tcp 443, а хостлист будет игнорироваться.
|
||||
> К http применять wssize вредно и бессмысленно.
|
||||
|
||||
7) Протестируйте найденные стратегии на winws. Winws следует брать из zapret-winws.
|
||||
Для этого откройте командную строку windows от имени администратора в директории zapret-winws.
|
||||
@ -175,20 +175,18 @@ autohostlist профиль приоритетен, поэтому wssize нуж
|
||||
|
||||
8) Обеспечьте удобную загрузку обхода блокировок.
|
||||
|
||||
Есть 2 варианта. Ручной запуск через ярлык или автоматический при старте системы, вне контекста текущего пользователя.
|
||||
Последний вариант разделяется на запуск через планировщик задач и через службы windows.
|
||||
|
||||
Если хотите ручной запуск, скопируйте `preset_russia.cmd` в `preset_my.cmd` (`<ваше_название>.cmd`) и адаптируйте его под ваши параметра запуска.
|
||||
Потом можно создать ярлык на рабочем столе на `preset_my.cmd`. Не забудьте, что требуется запускать от имени администратора.
|
||||
|
||||
Но лучше будет сделать неинтерактивный автоматический запуск вместе с системой.
|
||||
В zapret-winws есть командные файлы `task_*`, предназначенные для управления задачами планировщика.
|
||||
Там следует поменять содержимое переменной `WINWS1` на свою стратегию.
|
||||
Если вы не можете обьединить несколько стратегий для разных протоколов в одну, дублируйте код в каждом из cmd
|
||||
для поддержки нескольких задач : _winws1_, _winws2_, _winws3_.
|
||||
После создания задач запустите их. Проверьте, что обход встает после перезагрузки windows.
|
||||
|
||||
Аналогично настраиваются и службы windows. Смотрите `service_*.cmd`
|
||||
> Есть 2 варианта. Ручной запуск через ярлык или автоматический при старте системы, вне контекста текущего пользователя.
|
||||
> Последний вариант разделяется на запуск через планировщик задач и через службы windows.
|
||||
>
|
||||
> Если хотите ручной запуск, скопируйте `preset_russia.cmd` в `preset_my.cmd` (`<ваше_название>.cmd`) и адаптируйте его под ваши параметра запуска.
|
||||
> Потом можно создать ярлык на рабочем столе на `preset_my.cmd`. Не забудьте, что требуется запускать от имени администратора.
|
||||
>
|
||||
> Но лучше будет сделать неинтерактивный автоматический запуск вместе с системой.
|
||||
> В zapret-winws есть командные файлы `task_*`, предназначенные для управления задачами планировщика.
|
||||
> Там следует поменять содержимое переменной `WINWS1` на свои параметры запуска winws. Пути с пробелами нужно экранировать кавычками с обратным слэшем : `\"`.
|
||||
> После создания задач запустите их. Проверьте, что обход встает после перезагрузки windows.
|
||||
>
|
||||
> Аналогично настраиваются и службы windows. Смотрите `service_*.cmd`
|
||||
|
||||
9) Если ломаются отдельные незаблокированные ресурсы, нужно пользоваться ограничивающим
|
||||
ipset или хост листом. Читайте основной талмуд [readme.md](./readme.md) ради подробностей.
|
||||
|
Loading…
Reference in New Issue
Block a user