diff --git a/docs/readme.eng.txt b/docs/readme.eng.txt index dff6b16..5576690 100644 --- a/docs/readme.eng.txt +++ b/docs/readme.eng.txt @@ -484,15 +484,14 @@ mobile data on/off, ... Https blocking bypass ---------------------- -As a rule, DPI tricks do not help to bypass https blocking. -You have to redirect traffic through a third-party host. -It is proposed to use transparent redirect through socks5 using iptables + redsocks, or iptables + iproute + vpn. -Redsocks variant is described in https.txt. -iproute + wireguard - in wireguard_iproute_openwrt.txt. -(they are russian) - SOMETIMES (but not often) a tls handshake split trick works. Try MODE=..._https May be you're lucky. MORE OFTEN DPI desync attack work, but it may require some manual tuning. + +OTHERWISE you have to redirect traffic through a third-party host. +It is proposed to use transparent redirect through socks5 using iptables + redsocks, or iptables + iproute + vpn. +Redsocks variant is described in https.txt. +iproute + wireguard - in wireguard_iproute_openwrt.txt. +(they are russian) diff --git a/docs/readme.txt b/docs/readme.txt index 66e66f6..53bb5d2 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -256,6 +256,9 @@ iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m connbytes --connbytes-dir iptables -t mangle -I POSTROUTING -p tcp --dport 443 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass mark нужен, чтобы сгенерированный поддельный пакет не попал опять к нам на обработку. nfqws выставляет fwmark при его отсылке. +nfqws способен самостоятельно различать помеченные пакеты, фильтр в iptables по mark нужен только для увеличения скорости. + +Почему --connbytes 2:4 : 2 - иногда данные идут в 3-м пакете 3-way handshake. 3 - стандартная ситуация. 4 - для надежности. на случай, если выполнялась одна ретрансмиссия tpws ----- @@ -381,7 +384,7 @@ tpws полностью работает на асинхронных сокет Способы получения списка заблокированных IP ------------------------------------------- -1) Внесите заблокирванные домены в ipset/zapret-hosts-user.txt и запустите ipset/get_user.sh +1) Внесите заблокированные домены в ipset/zapret-hosts-user.txt и запустите ipset/get_user.sh На выходе получите ipset/zapret-ip-user.txt с IP адресами. Cкрипты с названием get_reestr_* оперируют дампом реестра заблокированных сайтов : @@ -463,7 +466,7 @@ zapret-ip.txt => zapret-ip6.txt Листы с antifilter не содержат список ipv6 адресов. СИСТЕМА ИСКЛЮЧЕНИЯ IP. Все скрипты ресолвят файл zapret-hosts-user-exclude.txt, создавая zapret-ip-exclude.txt и zapret-ip-exclude6.txt. -Они загоняются в ipset-ы nozapret и nozapret6. Все правила, создаваемые init скриптами, создаются с учетом этих ipset. +Они загоняются в ipset-ы nozapret и nozapret6. Все правила, создаваемые init скриптами, создаются с учетом этих ipset. Помещенные в них IP не участвуют в процессе. zapret-hosts-user-exclude.txt может содержать домены, ipv4 и ipv6 адреса или подсети. @@ -511,7 +514,7 @@ ip2net Фильтрация по именам доменов ---------------------------- -Альтернативой ipset является использование tpws со списком доменов. +Альтернативой ipset является использование tpws или nfqws (только для атаки десинхронизации) со списком доменов. tpws может читать только один hostlist. Поддерживаются 2 варианта : @@ -522,12 +525,12 @@ tpws может читать только один hostlist. Этот скрипт автоматически добавляет к списку РКН домены из zapret-hosts-user.txt. init скрипт будет запускать tpws с листом zapret-hosts.txt.gz. -При фильтрации по именам доменов tpws должен запускаться без фильтрации по ipset. -Весь трафик http идет через tpws, и он решает нужно ли применять дурение в зависимости от поля Host: в http запросе. +При фильтрации по именам доменов демон должен запускаться без фильтрации по ipset. +Весь трафик http идет через демон, и он решает нужно ли применять дурение в зависимости от поля Host: в http запросе. Это создает повышенную нагрузку на систему. Сам поиск по доменам работает очень быстро, нагрузка связана с прокачиванием объема данных через процесс. При использовании больших списков, в том числе списка РКН, оцените объем RAM на роутере ! -Если после запуска tpws RAM под завязку или случаются oom, значит нужно отказаться от таких больших списков. +Если после запуска демона RAM под завязку или случаются oom, значит нужно отказаться от таких больших списков. Проверка провайдера ------------------- @@ -541,6 +544,8 @@ init скрипт будет запускать tpws с листом zapret-host Например : 8.8.8.8, 8.8.4.4, 1.1.1.1, 1.0.0.1, 9.9.9.9 Если DNS подменяется и провайдер перехватывает обращения к сторонним DNS, настройте dnscrypt. +Если blockcheck не определил рабочие методы обхода, попробуйте атаку десинхронизации с различными параметрами. + Проанализируйте какие методы дурения DPI работают, в соответствии с ними настройте /opt/zapret/config. @@ -878,8 +883,6 @@ grep от busybox катастрофически медленный с опци пользоваться этим скриптом, gnu grep можно не устанавливать iptables-mod-nfqueue можно выкинуть, если не будем пользоваться nfqws curl можно выкинуть, если для получения ip листа будет использоваться только get_user.sh -ipset можно выкинуть, если не будем пользоваться ipset-тами, а будем, например, использовать tpws -со списком доменов. Самая главная трудность - скомпилировать программы на C. Это можно сделать на linux x64 при помощи SDK, который можно скачать с официального сайта openwrt или LEDE. Но процесс кросс компиляции - это всегда сложности. @@ -1035,13 +1038,6 @@ supersu : /system/su.d Я не проверял не прибивают ли новые андроиды iptables по своей прихоти в процессе работы или при подключении/отключении wifi, mobile data, ... -Кто силен в разработке под андроид, думаю будет несложно написать простую програмулину -с выбором опций tpws, которая сможет выбрать tpws нужной архитектуры, запустить его -и добавить iptables. Чтобы была возможность автозапуска (после нее применяем настройки -и сразу exit). И чтобы были кнопки start/stop. -Если кто готов такую програмулину написать - все скажут спасибо. -Тогда любой желающий с рутом сможет парой кликов настроить себе tpws. - Мобильные модемы и роутеры huawei --------------------------------- @@ -1153,19 +1149,17 @@ Openwrt является одной из немногих относительн Обход блокировки https ---------------------- -Как правило трюки с DPI не помогают для обхода блокировки https. -Приходится перенаправлять трафик через сторонний хост. -Предлагается использовать прозрачный редирект через socks5 посредством iptables+redsocks, либо iptables+iproute+vpn. -Настройка варианта с redsocks на openwrt описана в https.txt. -Настройка варианта с iproute+wireguard - в wireguard_iproute_openwrt.txt. - ИНОГДА (но нечасто) работает трюк со сплитом tls handshake на 2 части. -Это можно сделать все теми же средствами. nfqws или tpws с параметром --split-pos. ---split-pos - единственный параметр, который работает на не-HTTP трафике, все остальное работать не будет. -Попробуйте, может вам повезет. +Это можно сделать все теми же средствами. nfqws --wsize или tpws --split-pos. +У tpws --split-pos - единственный параметр, который работает на не-HTTP трафике, все остальное работать не будет. ЧАЩЕ на https работает атака DPI desync, но у нее есть свои нюансы настройки. +Если ничего не работает, приходится перенаправлять трафик через сторонний хост. +Предлагается использовать прозрачный редирект через socks5 посредством iptables+redsocks, либо iptables+iproute+vpn. +Настройка варианта с redsocks на openwrt описана в https.txt. +Настройка варианта с iproute+wireguard - в wireguard_iproute_openwrt.txt. + Почему стоит вложиться в покупку VPS ------------------------------------