@ -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
------------------------------------