|
|
@ -1,4 +1,4 @@ |
|
|
|
zapret v.47 |
|
|
|
zapret v.48 |
|
|
|
|
|
|
|
English |
|
|
|
------- |
|
|
@ -226,7 +226,8 @@ nfqws |
|
|
|
--dpi-desync-fake-unknown-udp=<filename> ; файл, содержащий фейковый пейлоад неизвестного udp протокола для dpi-desync=fake, на замену стандартным нулям 64 байт |
|
|
|
--dpi-desync-udplen-increment=<int> ; насколько увеличивать длину udp пейлоада в режиме udplen |
|
|
|
--dpi-desync-cutoff=[n|d|s]N ; применять dpi desync только в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру меньше N |
|
|
|
--hostlist=<filename> ; применять дурение только к хостам из листа |
|
|
|
--hostlist=<filename> ; применять дурение только к хостам из листа. может быть множество листов, они обьединяются. пустой обший лист = его отсутствие |
|
|
|
--hostlist-exclude=<filename> ; не применять дурение к хостам из листа. может быть множество листов, они обьединяются |
|
|
|
|
|
|
|
Параметры манипуляции могут сочетаться в любых комбинациях. |
|
|
|
|
|
|
@ -586,11 +587,12 @@ tpws - это transparent proxy. |
|
|
|
--hostlist=<filename> ; действовать только над доменами, входящими в список из filename. поддомены автоматически учитываются. |
|
|
|
; в файле должен быть хост на каждой строке. |
|
|
|
; список читается 1 раз при старте и хранится в памяти в виде иерархической структуры для быстрого поиска. |
|
|
|
; для списка РКН может потребоваться система с 128 Mb памяти ! |
|
|
|
; расчитывайте требование RAM для процесса как 3-5 кратный размер файла списка. |
|
|
|
; по сигналу HUP список будет перечитан при следующем принятом соединении |
|
|
|
; список может быть запакован в gzip. формат автоматически распознается и разжимается |
|
|
|
; списков может быть множество, они обьединяются. пустой общий лист = его отсутствие |
|
|
|
; хосты извлекаются из Host: хедера обычных http запросов и из SNI в TLS ClientHello. |
|
|
|
--hostlist-exclude=<filename> ; не применять дурение к доменам из листа. может быть множество листов, они обьединяются |
|
|
|
|
|
|
|
|
|
|
|
Параметры манипуляции могут сочетаться в любых комбинациях. |
|
|
|
|
|
|
@ -828,19 +830,36 @@ ip2net фильтрует входные данные, выкидывая неп |
|
|
|
---------------------------- |
|
|
|
|
|
|
|
Альтернативой ipset является использование tpws или nfqws со списком доменов. |
|
|
|
Может быть только один hostlist. |
|
|
|
|
|
|
|
Поддерживаются следующие варианты : |
|
|
|
1) Внесите домены для дурения в ipset/zapret-hosts-users.txt. Удалите ipset/zapret-hosts.txt.gz. |
|
|
|
Тогда init скрипт будет запускать tpws/nfqws с листом zapret-hosts-users.txt. |
|
|
|
|
|
|
|
2) Список доменов РКН может быть получен скриптами ipset/get_reestr_hostlist.sh или ipset/get_antizapret_domains.sh |
|
|
|
Оба демона принимают неограниченное количество листов include (--hostlist) и exclude (--hostlist-exclude). |
|
|
|
Все листы одного типа обьединяются, и таким образом остаются только 2 листа. |
|
|
|
Прежде всего проверяется exclude list. При вхождении в него происходит отказ от дурения. |
|
|
|
Далее при наличии include list проверяется домен на вхождение в него. При невхождении в список отказ от дурения. |
|
|
|
Пустой список приравнивается к его отсутствию. |
|
|
|
В иных случаях происходит дурение. |
|
|
|
Нет ни одного списка - дурение всегда. |
|
|
|
Есть только exclude список - дурение всех, кроме. |
|
|
|
Есть только include список - дурение только их. |
|
|
|
Есть оба - дурение только include, кроме exclude. |
|
|
|
|
|
|
|
В системе запуска это обыграно следующим образом. |
|
|
|
Присутствуют 2 include списка : |
|
|
|
ipset/zapret-hosts-users.txt.gz или ipset/zapret-hosts-users.txt |
|
|
|
ipset/zapret-hosts.txt.gz или ipset/zapret-hosts.txt |
|
|
|
и 1 exclude список |
|
|
|
ipset/zapret-hosts-users-exclude.txt.gz или ipset/zapret-hosts-users-exclude.txt |
|
|
|
|
|
|
|
При режиме фильтрации MODE_FILTER=hostlist система запуска передает nfqws или tpws все листы, файлы которых присутствуют. |
|
|
|
Если вдруг листы include присутствуют, но все они пустые, то работа аналогична отсутствию include листа. |
|
|
|
Файл есть, но не смотря на это дурится все, кроме exclude. |
|
|
|
Если вам нужен именно такой режим - не обязательно удалять zapret-hosts-users.txt. Достаточно сделать его пустым. |
|
|
|
|
|
|
|
Поддомены учитываются автоматически. Например, строчка "ru" вносит в список "*.ru". Строчка "*.ru" в списке не сработает. |
|
|
|
|
|
|
|
Список доменов РКН может быть получен скриптами ipset/get_reestr_hostlist.sh или ipset/get_antizapret_domains.sh |
|
|
|
- кладется в ipset/zapret-hosts.txt.gz. |
|
|
|
Этот скрипт автоматически добавляет к списку РКН домены из zapret-hosts-user.txt и исключает zapret-hosts-exclude.txt. |
|
|
|
init скрипт будет запускать tpws/nfqws с листом zapret-hosts.txt.gz. |
|
|
|
|
|
|
|
При фильтрации по именам доменов демон должен запускаться без фильтрации по ipset. |
|
|
|
tpws и nfqws решают нужно ли применять дурение в зависимости от поля Host: в http запросе или SNI в TLS ClientHello. |
|
|
|
tpws и nfqws решают нужно ли применять дурение в зависимости от хоста, полученного из протокола прикладного уровня (http, tls, quic). |
|
|
|
При использовании больших списков, в том числе списка РКН, оцените объем RAM на роутере ! |
|
|
|
Если после запуска демона RAM под завязку или случаются oom, значит нужно отказаться от таких больших списков. |
|
|
|
|
|
|
@ -1190,15 +1209,8 @@ tpws будет работать в любом случае, он не треб |
|
|
|
magisk : /data/adb/service.d |
|
|
|
supersu : /system/su.d |
|
|
|
|
|
|
|
nfqws может иметь такой глюк. При запуске с uid по умолчанию (0x7FFFFFFF) при условии работы на сотовом интерфейсе |
|
|
|
и отключенном кабеле внешнего питания система может частично виснуть. Перестает работать тач и кнопки, |
|
|
|
но анимация на экране может продолжаться. Если экран был погашен, то включить его кнопкой power невозможно. |
|
|
|
Это, видимо, связано с переводом в suspend процессов с определенным UID. UID соответствует приложению или |
|
|
|
системному сервису. По UID android определяет политику power saving. |
|
|
|
Так же возможно, что глюк связан с кривым драйвером сотового интерфейса от китайцев, поскольку при использовании |
|
|
|
wifi такого не наблюдается. suspend обработчика nfqueue на обычном linux не вызывает подобных фатальных последствий. |
|
|
|
Изменение UID на низкий (--uid 1 подойдет) позволяет решить эту проблему. |
|
|
|
Глюк был замечен на android 8.1 на девайсе , основанном на платформе mediatek. |
|
|
|
Я не проверял не прибивают ли новые андроиды iptables по своей прихоти в процессе работы |
|
|
|
или при подключении/отключении wifi, mobile data, ... |
|
|
|
|
|
|
|
Ответ на вопрос куда поместить tpws на android без рута, чтобы потом его запускать из приложений. |
|
|
|
Файл заливаем через adb shell в /data/local/tmp/, лучше всего в субфолдер. |
|
|
|