doc works

This commit is contained in:
bol-van 2024-11-08 10:39:25 +03:00
parent 29520c9827
commit b9962a0308
2 changed files with 109 additions and 116 deletions

View File

@ -222,11 +222,6 @@
> В этом примере `wssize` будет применяться всегда к порту tcp `443` вне > В этом примере `wssize` будет применяться всегда к порту tcp `443` вне
> зависимости от параметра `MODE_FILTER`. Хостлист будет игнорироваться, > зависимости от параметра `MODE_FILTER`. Хостлист будет игнорироваться,
> если таковой имеется. К http применять `wssize` вредно и бессмысленно. > если таковой имеется. К http применять `wssize` вредно и бессмысленно.
>
> Никто не мешает использовать `tpws` для http, `nfqws` для https, либо
> комбинировать действие `nfqws` и `tpws` для одного протокола. В текущем
> варианте скриптов запуска это делается максимально гибко и независимо друг
> от друга.
7. Запустите скрипт облегченной установки - `install_easy.sh` Выберите `nfqws` 7. Запустите скрипт облегченной установки - `install_easy.sh` Выберите `nfqws`
и/или `tpws`, затем согласитесь на редактирование параметров. Откроется и/или `tpws`, затем согласитесь на редактирование параметров. Откроется

View File

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