zapret/docs/quick_start_windows.txt

123 lines
13 KiB
Plaintext
Raw Normal View History

2024-10-28 11:32:24 +05:00
Специально для тех, кто хочет побыстрее начать, но не хочет слишком углубляться в простыню readme.txt.
Как обычно, компьютерная грамотность ложится полностью на вас.
Вы должны уметь работать с консолью windows и иметь минимальные навыки обращения с командными файлами bat,cmd.
Если грамотность отсутствует и возникает куча "как" на базовых вещах - проходите мимо или ищите помощь в другом месте.
Обход DPI является хакерской методикой. Под этим словом понимается метод, которому сопротивляется окружающая среда,
которому автоматически не гарантирована работоспособность в любых условиях и на любых ресурсах,
требуется настройка под специфические условия у вашего провайдера. Условия могут меняться со временем,
и методика может начинать или переставать работать, может потребоваться повторный анализ ситуации.
Могут обнаруживаться отдельные ресурсы, которые заблокированы иначе, и которые не работают или перестали работать.
Могут и сломаться отдельные незаблокированные ресурсы.
Поэтому очень желательно иметь знания в области сетей, чтобы иметь возможность проанализировать техническую ситуацию.
Не будет лишним иметь обходные каналы проксирования трафика на случай, если обход DPI не помогает.
Будем считать, что у вас есть windows 7 или выше. Задача - обойти блокировки с самой системы.
Есть решение самое простое, а есть "как положено".
САМОЕ ПРОСТОЕ РЕШЕНИЕ
Совсем ничего не могу, все очень сложно, дайте мне таблетку.
Скачайте и распакуйте архив https://github.com/bol-van/zapret-win-bundle/archive/refs/heads/master.zip
Запустите zapret-winws/preset_russia.cmd от имени администратора.
Возможно, заведется сразу. Этот вариант похож на "2_any_country.cmd" из GoodbyeDPI.
То же самое с ограничителем по автоматически создаваемому хост-листу preset_russia_autohostlist.cmd.
Что такое autohostlist - читайте readme.txt. Проще говоря, мы обходим только то, что долго и упорно не хочет открываться.
Сначала не будет, но надо пытаться много раз, и тогда сработает, а дальше будет всегда срабатывать.
Остальное не будет ломаться. Использовать только, если первый вариант тоже работает.
Не помогла таблетка ? Это вовсе не значит, что ничего не получится. Но придется делать по-нормальному.
РЕШЕНИЕ "КАК ПОЛОЖЕНО"
1) Если у вас windows 7, обновляйте систему. Годами не обновляемая 7-ка может не запускать драйвер windivert.
Поддержка 32-битных x86 windows возможна, но в готовом виде отсутствует.
На windows 11 arm64 выполните arm64/install_arm64.cmd от имени администратора и перезагрузите компьютер.
Читайте docs/windows.txt
Имейте в виду, что антивирусы могут плохо реагировать на windivert.
cygwin имеет внушительный список несовместимостей с антивирусами. Многие антивирусы его ломают.
https://www.cygwin.com/faq.html#faq.using.bloda
Если это имеет место , используйте исключения. Если это не помогает - отключайте антивирус совсем.
2) Убедитесь, что у вас отключены все средства обхода блокировок, в том числе и сам zapret.
3) Если вы работаете в виртуальной машине, необходимо использовать соединение с сетью в режиме bridge. nat не подходит
4) Скачайте и распакуйте архив https://github.com/bol-van/zapret-win-bundle/archive/refs/heads/master.zip
5) Запустите blockcheck\blockcheck.cmd. blockcheck в начале проверяет DNS. Если выводятся сообщения о подмене адресов, то
первым делом нужно решить эту проблему, иначе ничего не будет работать.
Решение проблемы DNS выходит за рамки проекта. Обычно она решается либо заменой DNS серверов
от провайдера на публичные (1.1.1.1, 8.8.8.8), либо в случае перехвата провайдером обращений
к сторонним серверам - через специальные средства шифрования DNS запросов, такие как dnscrypt, DoT, DoH.
В современных броузерах чаще всего DoH включен по умолчанию, но curl будет использовать обычный системный DNS.
Новые билды win10 и win11 поддерживают системные DoH из коробки. Они не настроены по умолчанию.
Тут все разжевано как и где это включается : https://hackware.ru/?p=13707
6) blockcheck позволяет выявить рабочую стратегию обхода блокировок.
Лог скрипта будет сохранен в blockcheck\blockcheck.log.
Запомните найденные стратегии.
Следует понимать, что blockcheck проверяет доступность только конкретного домена, который вы вводите в начале.
Вероятно, все остальные домены блокированы подобным образом, но не факт.
В большинстве случаев можно обьединить несколько стратегий в одну универсальную, но для этого необходимо понимать
"что там за буковки". Если вы в сетях слабо разбираетесь, это не для вас. В противном случае читайте readme.txt.
zapret не может пробить блокировку по IP адресу
Для проверки нескольких доменов вводите их через пробел.
Сейчас блокираторы ставят на магистральных каналах. В сложных случаях у вас может быть несколько маршрутов
с различной длиной по ХОПам, с DPI на разных хопах. Приходится преодолевать целый зоопарк DPI,
которые еще и включаются в работу хаотичным образом или образом, зависящим от направления (IP сервера).
blockcheck не всегда может выдать вам в итогах оптимальную стратегию, которую надо просто переписать в настройки.
В некоторых случаях надо реально думать что происходит, анализируя результат на разных стратегиях.
Если вы применяете большой TTL, чтобы достать до магистрала, то не лишним будет добавить дополнительный ограничитель
--dpi-desync-fooling, чтобы не сломать сайты на более коротких дистанциях.
md5sig наиболее совместим, но работатет только на linux серверах.
badseq может работать только на https и не работать на http.
Чтобы выяснить какие дополнительные ограничители работают, смотрите результат теста аналогичных стратегий без TTL
с каждым из этих ограничителей.
При использовании autottl следует протестировать как можно больше разных доменов. Эта техника
может на одних провайдерах работать стабильно, на других потребуется выяснить при каких параметрах
она стабильна, на третьих полный хаос, и проще отказаться.
Если используются методы нулевой фазы десинхронизации (--wssize, --dpi-desync=syndata) и фильтр hostlist,
то все параметры, относящиеся к этим методам, следует помещать в следующий профиль без хостлиста,
к которому перейдет управление, когда имя хоста еще неизвестно.
Используйте параметр --debug для отладки вашего сценария.
7) Протестируйте найденные стратегии на winws. winws следует брать из zapret-winws.
Для этого откройте командную строку windows от имени администратора в директории zapret-winws.
Проще всего это сделать через _CMD_ADMIN.cmd. Он сам поднимет права и зайдет в нужную директорию.
8) Обеспечьте удобную загрузку обхода блокировок.
Есть 2 варианта. Ручной запуск через ярлык или автоматический при старте системы, вне контекста текущего пользователя.
Последний вариант разделяется на запуск через планировщик задач и через службы windows.
Если хотите ручной запуск, скопируйте preset_russia.cmd в preset_my.cmd и адаптируйте его под ваши параметра запуска.
Потом можно создать ярлык на рабочем столе на preset_my.cmd. Не забудьте, что требуется запускать от имени администратора.
Но лучше будет сделать неинтерактивный автоматический запуск вместе с системой.
В zapret-winws есть командные файлы task_*, предназначенные для управления задачами планировщика.
Там следует поменять содержимое переменной WINWS1 на свою стратегию.
Если вы не можете обьединить несколько стратегий для разных протоколов в одну, дублируйте код в каждом из cmd
для поддержки нескольких задач : winws1,winws2,winws3.
После создания задач запустите их. Проверьте, что обход встает после перезагрузки windows.
Аналогично настраиваются и службы windows. Смотрите service_*.cmd
9) Если ломаются отдельные незаблокированные ресурсы, используйте хост-листы.
Где они будут находиться - решайте сами.
Параметры управления хост-листами точно такие же, как в *nix.
Это минимальная инструкция, чтобы соориентироваться с чего начать. Однако, это - не панацея.
В некоторых случаях вы не обойдетесь без знаний и основного "толмуда".
Подробности и полное техническое описание расписаны в readme.txt