[linux, BSD, MacOS, windows] zapret : средство противодействия DPI

Страницы :   Пред.  1, 2, 3, 4, 5 ... 47, 48, 49  След.
Ответить
 

vlad_ns

Top Bonus 05* 10TB

Стаж: 15 лет 9 месяцев

Сообщений: 1840

vlad_ns · 01-Авг-20 01:18 (5 лет 4 месяца назад)

С ключами --daemon --debug (nfqws) вывод в файл можно сделать при запуске из скрипта?
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 01-Авг-20 10:37 (спустя 9 часов, ред. 01-Авг-20 10:37)

Это вряд ли годится для рабочего режима, а для теста можно и без daemon через nohup запускать
Или через subshell с использованием &
[Профиль]  [ЛС] 

vlad_ns

Top Bonus 05* 10TB

Стаж: 15 лет 9 месяцев

Сообщений: 1840

vlad_ns · 01-Авг-20 12:38 (спустя 2 часа 1 мин.)

Вроде разобрался, пишет в файл. Фрагмент скрипта:
скрытый текст
Код:

...
IP4T=/usr/sbin/iptables
IP6T=/usr/sbin/ip6tables
NFQWS=/opt/nfq/nfqws
NFQ_USER=nfq
HOSTLIST="/opt/nfq/ipset/zapret-hosts-user.txt"
QNUM=200
DESYNC_MARK=0x40000000
NFQWS_OPT_DESYNC="--dpi-desync=fake --dpi-desync-ttl=0 --dpi-desync-fooling=badsum --dpi-desync-fwmark=$DESYNC_MARK"
NFQWS_OPT_BASE="--qnum=$QNUM --user=$NFQ_USER $NFQWS_OPT_DESYNC --hostlist=$HOSTLIST --debug"
adduser --disabled-login --no-create-home --system --quiet $NFQ_USER
sysctl -w net.netfilter.nf_conntrack_checksum=0
$NFQWS $NFQWS_OPT_BASE > /opt/nfq/debug &
$IP4T -t mangle -I POSTROUTING -p tcp --dport 80 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass
$IP4T -t mangle -I POSTROUTING -p tcp --dport 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 2:4 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass
$IP6T -t mangle -I POSTROUTING -p tcp --dport 80 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass
$IP6T -t mangle -I POSTROUTING -p tcp --dport 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 2:4 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass
...
В файле /opt/nfq/ipset/zapret-hosts-user.txt прописан flagfox.wordpress.com, в логе не вижу "hostname: flagfox.wordpress.com"
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 01-Авг-20 17:07 (спустя 4 часа, ред. 01-Авг-20 17:07)

vlad_ns писал(а):
В файле /opt/nfq/ipset/zapret-hosts-user.txt прописан flagfox.wordpress.com, в логе не вижу "hostname: flagfox.wordpress.com"
Код:
root@router:~# echo  flagfox.wordpress.com >/tmp/h
root@router:~# iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass
root@router:~# iptables -t mangle -I POSTROUTING -p tcp --dport 443 -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 2:4 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 200 --queue-bypass
root@router:~# /opt/zapret/nfq/nfqws --debug --hostlist=/tmp/h --qnum=200 --user=daemon --dpi-desync=fake  --dpi-desync-fooling=badsum
loading plain text list
Loaded 1 hosts from /tmp/h
opening library handle
unbinding existing nf_queue handler for AF_INET (if any)
binding nfnetlink_queue as nf_queue handler for AF_INET
binding this socket to queue '200'
setting copy_packet mode
Running as UID=1 GID=1
packet: id=1 len=60
packet: id=2 len=40
packet: id=3 len=125
packet contains HTTP request
hostname: flagfox.wordpress.com
Hostlist check for flagfox.wordpress.com : positive
dpi desync src=my.ip.my.ip:39884 dst=192.0.78.13:80
reinjecting original packet. len=125 len_payload=85
packet: id=4 len=40
packet: id=5 len=40
packet: id=6 len=40
packet: id=7 len=40
packet: id=8 len=242
packet contains TLS ClientHello
hostname: flagfox.wordpress.com
Hostlist check for flagfox.wordpress.com : positive
dpi desync src=my.ip.my.ip:52930 dst=192.0.78.12:443
reinjecting original packet. len=242 len_payload=202
Код:
curl http://flagfox.wordpress.com
curl https://flagfox.wordpress.com
Если потом процесс прибить, то в лог может не все записаться, потому что не делается fflush()
Или подождать достаточно долго или много раз curl, тогда на stdout пойдет многобуковок, и он сделает fflush
[Профиль]  [ЛС] 

vlad_ns

Top Bonus 05* 10TB

Стаж: 15 лет 9 месяцев

Сообщений: 1840

vlad_ns · 01-Авг-20 17:20 (спустя 13 мин., ред. 01-Авг-20 17:20)

Пока убрал список с хостлистом, даже в этом случае нет. Если предположить что блокировка идёт по ip, то nfqws всё равно получит инфу и в логе это будет видно? Так у меня просто http error 504. В общем, проблемные сайты почему-то не попадают под действие, прочие другие да с сообщением negative, но в этом случае это правильно, как я понял. Не могут ли влиять другие программы на самом маршрутизаторе, из таких у меня squid (прозрачный режим для 80 и 443 портов) и privoxy (фильтр http/s)?
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 01-Авг-20 17:55 (спустя 34 мин., ред. 01-Авг-20 17:55)

nfqws выводит фразу "hostname: xxx" , когда на него попадает http request с хедером Host: или TLS ClientHello с SNI и включен debug или hostlist. в иных случаях хост вообще не проверяется в целях экономии cpu time.
прога никак не может знать и анализировать каким образом реализована блокировка,
никаких автоматических определений и обратной связи нет.
nfqws делает свое дело, а обходится ли блокировка - это уже забота применяющего. он сам должен нащупать правильную стратегию под своего провайдера
если блок по IP, то автономный обход не сработает ни при каких стратегиях
проверить проверяется ли IP или host можно командами вида
curl -vH "Host: ej.ru" http://128.30.52.100
curl -vH "Host: w3.org" http://176.56.182.155
(это попытка дернуть https://w3.org с подмененным Host: на заблокированный ej.ru и попытка дернуть http://ej.ru с незаблокированным Host: w3.org, дальше нетрудно сообразить)
или временной подменой dns через hosts. для https это лучший метод, менять Host: под https смысла нет
[Профиль]  [ЛС] 

vlad_ns

Top Bonus 05* 10TB

Стаж: 15 лет 9 месяцев

Сообщений: 1840

vlad_ns · 01-Авг-20 19:06 (спустя 1 час 11 мин., ред. 01-Авг-20 19:06)

Без --hostlist, вот как выглядит лог:
Код:
hostname: localhost
dpi desync src=127.0.0.1:46972 dst=127.0.0.1:80
reinjecting original packet. len=156 len_payload=104
packet: id=13 len=52
packet: id=14 len=40
packet: id=15 len=557
packet contains TLS ClientHello
hostname: rutr.life
dpi desync src=xxxx:48552 dst=195.82.146.214:443
reinjecting original packet. len=557 len_payload=517
packet: id=16 len=40
packet: id=17 len=40
packet: id=18 len=40
packet: id=19 len=557
packet contains TLS ClientHello
hostname: static.rutracker.cc
dpi desync src=xxxx:54968 dst=195.82.146.216:443
reinjecting original packet. len=557 len_payload=517
packet: id=20 len=557
packet contains TLS ClientHello
hostname: static.rutracker.cc
dpi desync src=xxxx:54966 dst=195.82.146.216:443
reinjecting original packet. len=557 len_payload=517
packet: id=21 len=557
packet contains TLS ClientHello
hostname: static.rutracker.cc
dpi desync src=xxxx:54964 dst=195.82.146.216:443
reinjecting original packet. len=557 len_payload=517
packet: id=22 len=156
flagfox.wordpress.com по прежнему в лог не попадает и не работает. Т.е. другие не заблоченные сайты логируются. ej.ru - открывается и так.
Снова включил --hostlist и добавил туда рутрекер:
Код:
packet contains HTTP request
hostname: localhost
Hostlist check for localhost : negative
not applying tampering to this request
packet: id=87 len=52
packet: id=88 len=40
packet: id=89 len=557
packet contains TLS ClientHello
hostname: rutr.life
Hostlist check for rutr.life : positive
dpi desync src=xxxx:42496 dst=195.82.146.214:443
reinjecting original packet. len=557 len_payload=517
packet: id=90 len=156
packet contains HTTP request
hostname: localhost
Hostlist check for localhost : negative
not applying tampering to this request
packet: id=91 len=52
packet: id=92 len=40
packet: id=93 len=40
packet: id=94 len=557
packet contains TLS ClientHello
hostname: static.rutracker.cc
Hostlist check for static.rutracker.cc : negative
Hostlist check for t-ru.org : negative
Hostlist check for org : negative
not applying tampering to this request
packet: id=95 len=557
packet contains TLS ClientHello
hostname: static.rutracker.cc
Т.е. рутрекер из этого списка в лог попадает, а flagfox.wordpress.com нет.
С ej.ru я оказывается ошибся, открывается он из-за того что идёт через тор. Но ведь будучи добавленным в --hostlist=$HOSTLIST всё равно должен там отметиться? Убрал его из тор:
Код:
hostname: ej.ru
Hostlist check for ej.ru : positive
dpi desync src=xxxx:53952 dst=176.56.182.155:80
reinjecting original packet. len=463 len_payload=411
packet: id=945 len=64
packet: id=946 len=72
packet: id=947 len=72
packet: id=948 len=72
packet: id=949 len=156
packet contains HTTP request
hostname: localhost
Hostlist check for localhost : negative
not applying tampering to this request
packet: id=950 len=52
packet: id=951 len=156
packet contains HTTP request
hostname: localhost
Hostlist check for localhost : negative
not applying tampering to this request
packet: id=952 len=52
packet: id=953 len=64
packet: id=954 len=64
packet: id=955 len=60
packet: id=956 len=52
packet: id=957 len=463
packet contains HTTP request
hostname: ej.ru
Hostlist check for ej.ru : positive
dpi desync src=xxxx:53990 dst=176.56.182.155:80
reinjecting original packet. len=463 len_payload=411
packet: id=958 len=64
packet: id=959 len=72
packet: id=960 len=72
packet: id=961 len=72
packet: id=962 len=64
packet: id=963 len=64
packet: id=964 len=156
packet contains HTTP request
Вот его (ej.ru) теперь видно, правда уже сайт не открылся. А flagfox.wordpress.com по прежнему нет, хотя он тоже в этом списке. А если идёт через тор (privoxy), то тоже нет.
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 01-Авг-20 22:24 (спустя 3 часа, ред. 01-Авг-20 22:24)

цепочка POSTROUTING вызывается на этапе ухода пакета на внешний интерфейс
перенаправление DNAT на прозрачный прокси, такой как tor, происходит в PREROUTING, то есть на этапе вхождения пакета на входящий интерфейс
войдя на tor, дальше уже соединение никуда не уходит в открытом виде. поэтому ничего в POSTROUTING нет, nfqws не дергается
nfqws в debug выводит все его дергания (сообщение packet:). если при дергании сайта в nfqws ничего нет, значит не уходят пакеты в открытом виде
смысл натравливать nfqws на заворачиваемые на тор соединения отсутствует. это не будет работать
добавил в nfqws подробную инфу по каждому пакету при debug=1
чтобы было понятно что приходит на nfqws
[Профиль]  [ЛС] 

vlad_ns

Top Bonus 05* 10TB

Стаж: 15 лет 9 месяцев

Сообщений: 1840

vlad_ns · 02-Авг-20 00:17 (спустя 1 час 52 мин.)

На тор у меня перенаправляется через прокси, iptables в этом не задействован. А натравливал (ej.ru) на nfqws для проверки как работает такая схема. То что идёт в тор, формируется автоматом, поэтому я даже не знаю что там, ну пока не начну разбираться, но flagfox.wordpress.com там точно не был. Позже проверю с debug=1
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 02-Авг-20 10:34 (спустя 10 часов)

vlad_ns писал(а):
79855432На тор у меня перенаправляется через прокси, iptables в этом не задействован. А натравливал (ej.ru) на nfqws для проверки как работает такая схема. То что идёт в тор, формируется автоматом, поэтому я даже не знаю что там, ну пока не начну разбираться, но flagfox.wordpress.com там точно не был. Позже проверю с debug=1
Кто знает, может и на вордпресс тоже перенаправляется где-то по ошибке
[Профиль]  [ЛС] 

vlad_ns

Top Bonus 05* 10TB

Стаж: 15 лет 9 месяцев

Сообщений: 1840

vlad_ns · 02-Авг-20 22:14 (спустя 11 часов, ред. 02-Авг-20 22:14)

Ну вообще-то не по ошибке, напротив, так задумано. А вордпресс я всё таки предварительно проверил чтоб не лохануться, ёжру, просто попался из вашего сообщения т.к. на нём изначально не пытался проверять, поэтому так вышло. Вот сейчас ещё раз проверил, в списке хостлист:
скрытый текст
Код:
flagfox.wordpress.com
www.kasparov.ru
rutr.life
Первый, не попадает даже в лог, второй попадает, но не работает, третий попадает (ну это просто для примера что попадает).
каспаров.ру:
Код:
hostname: www.kasparov.ru
Hostlist check for www.kasparov.ru : positive
dpi desync src=x.x.x.x:44230 dst=34.204.227.196:80
reinjecting original packet. len=427 len_payload=375
packet: id=6299 len=64
IP4: x.x.x.x => 34.204.227.196 proto=tcp sport=44230 dport=80 flags=A seq=3383621316 ack_seq=953618390
packet: id=6300 len=72
IP4: x.x.x.x => 34.204.227.196 proto=tcp sport=44230 dport=80 flags=A seq=3383621316 ack_seq=953618390
packet: id=6301 len=72
IP4: x.x.x.x => 34.204.227.196 proto=tcp sport=44230 dport=80 flags=A seq=3383621316 ack_seq=953618390
packet: id=6302 len=72
IP4: x.x.x.x => 34.204.227.196 proto=tcp sport=44230 dport=80 flags=A seq=3383621316 ack_seq=953618390
packet: id=6303 len=156
IP4: 127.0.0.1 => 127.0.0.1 proto=tcp sport=54020 dport=80 flags=AP seq=3411853647 ack_seq=1209846649
packet contains HTTP request
hostname: www.kasparov.ru
Hostlist check for www.kasparov.ru : positive
dpi desync src=x.x.x.x:41038 dst=34.204.227.196:443
reinjecting original packet. len=569 len_payload=517
packet: id=8994 len=156
IP4: 127.0.0.1 => 127.0.0.1 proto=tcp sport=56232 dport=80 flags=AP seq=4009894518 ack_seq=215444828
packet contains HTTP request
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 03-Авг-20 08:21 (спустя 10 часов, ред. 03-Авг-20 08:21)

iptables все-таки стоит фильтровать внешним интерфейсом
например : -o eth1
эти 127.0.0.1 совершенно не в тему. десинхронизация имеет смысл только по выходу пакетов на провайдера напрямую
если нет 192.0.78.12 или 192.0.78.13, значит не выходят в открытом виде пакеты на вордпресс
можно проверить tcpdump
[Профиль]  [ЛС] 

vlad_ns

Top Bonus 05* 10TB

Стаж: 15 лет 9 месяцев

Сообщений: 1840

vlad_ns · 03-Авг-20 23:10 (спустя 14 часов)

С iptables на косячил, виноват, исправил, проверил.
Вордпресс:
Код:
IP4: x.x.x.x => 192.0.78.13 proto=tcp sport=59362 dport=443 flags=S seq=4178500212 ack_seq=0
packet: id=9 len=60
IP4: x.x.x.x => 192.0.78.13 proto=tcp sport=59362 dport=443 flags=S seq=4178500212 ack_seq=0
packet: id=10 len=60
IP4: x.x.x.x => 192.0.78.13 proto=tcp sport=59362 dport=443 flags=S seq=4178500212 ack_seq=0
packet: id=11 len=72
ничего другого не встречается.
Каспаров:
Код:
hostname: www.kasparov.ru
Hostlist check for www.kasparov.ru : positive
dpi desync src=x.x.x.x:53810 dst=34.204.208.175:80
reinjecting original packet. len=505 len_payload=453
packet: id=6 len=64
IP4: x.x.x.x => 34.204.208.175 proto=tcp sport=53810 dport=80 flags=A seq=3438545179 ack_seq=3212882517
packet: id=7 len=72
IP4: x.x.x.x => 34.204.208.175 proto=tcp sport=53810 dport=80 flags=A seq=3438545179 ack_seq=3212882517
packet: id=8 len=72
IP4: x.x.x.x => 34.204.208.175 proto=tcp sport=53810 dport=80 flags=A seq=3438545179 ack_seq=3212882517
packet: id=9 len=72
IP4: x.x.x.x => 34.204.208.175 proto=tcp sport=53810 dport=80 flags=A seq=3438545179 ack_seq=3212882517
...
hostname: www.kasparov.ru
Hostlist check for www.kasparov.ru : positive
dpi desync src=x.x.x.x:50600 dst=34.204.208.175:443
reinjecting original packet. len=569 len_payload=517
packet: id=49 len=60
Оба не работают.
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 04-Авг-20 09:07 (спустя 9 часов, ред. 04-Авг-20 09:07)

Цитата:
79864951ничего другого не встречается.
Код:

IP4: x.x.x.x => 192.0.78.13 proto=tcp sport=59362 dport=443 flags=S seq=4178500212 ack_seq=0
packet: id=9 len=60
IP4: x.x.x.x => 192.0.78.13 proto=tcp sport=59362 dport=443 flags=S seq=4178500212 ack_seq=0
packet: id=10 len=60
IP4: x.x.x.x => 192.0.78.13 proto=tcp sport=59362 dport=443 flags=S seq=4178500212 ack_seq=0
packet: id=11 len=72
Одни SYN идут. Это значит сервер не отвечает на попытки установления соединения,
возможно блок по IP
Ничего другого нет, потому что до установления соединения ничего и не посылается
vlad_ns писал(а):
Оба не работают.
А никто и не обещал, что они будут работать
Анализ и игра параметрами требуется. Это не инструмент "нажал и заработало"
Еще в readme стоит почитать раздел по nfqws
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 13 лет 7 месяцев

Сообщений: 1208

Dicrock · 17-Авг-20 04:12 (спустя 12 дней)

Всё же вопрос с запуском tpws на нерутованных устройствах не до конца был обсуждён. Осталось неясность, каким образом запустить tpws, если нет возможности использовать adb ?
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 20-Авг-20 11:44 (спустя 3 дня, ред. 20-Авг-20 11:44)

Dicrock писал(а):
79925128Всё же вопрос с запуском tpws на нерутованных устройствах не до конца был обсуждён. Осталось неясность, каким образом запустить tpws, если нет возможности использовать adb ?
Ее нет по какой причине ?
Если отсутствие usb подключения, то adbd можно запустить и по tcpip
и дальше сделать adb connect <ip>
настраивается там же, в developer options
можно попробовать такой финт
скачиваем tpws в даунлоадс (расположение зависит от броузера и от выбраной локации сохранения, может быть внутри области данных chrome на sdcard)
ставим терминал. например, jackpal.androidterm
под этим терминалом заходим в его хом директорию командой cd
будет что-то вроде /data/user/0/jackpal.androidterm/app_HOME
cd ..
mkdir -m 755 zapret
cd zapret
копируем из доунлоадс tpws в zapret из того же шелла командой cp
chmod 755 tpws
chcon u:object_r:system_file:s0 tpws
из-под другого приложения (tasker ?) можно будет запустить /data/user/0/jackpal.androidterm/zapret/tpws
учтите, что на пути директории с правами x для other. они допускают траверс, но не допускают ls
если потом снести терминал, снесется и его home вместе с tpws, так что сносить его не надо
проверить на реальном девайсе не могу, под рукой пока нет, но на bluestacks работает
поставил еще 1 терминал (другое приложение), из-под него обработанный описанным образом бинарик запускается
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 13 лет 7 месяцев

Сообщений: 1208

Dicrock · 21-Авг-20 03:35 (спустя 15 часов, ред. 21-Авг-20 03:35)

Цитата:
Ее нет по какой причине ?
Например с usb портом проблемы или если нет компа (не мой случай), такое ныне не редкость. Можно конечно заюзать adb через OTG, используя в качестве клиента другое устройство, но это отдельная история ...
Цитата:
Если отсутствие usb подключения, то adbd можно запустить и по tcpip
Для запуска adb по tcpip без рута нужно предварительное подключение по usb и включение tcpip через adb
Цитата:
под этим терминалом заходим в его хом директорию командой cd
будет что-то вроде /data/user/0/jackpal.androidterm/app_HOME
cd ..
mkdir -m 755 zapret
cd zapret
копируем из доунлоадс tpws в zapret из того же шелла командой cp
chmod 755 tpws
chcon u:object_r:system_file:s0 tpws
Вот это выглядит уже реальнее, но опять же, терминал без рута дальше своих прав не плюнет. Это практическое или теоретическое применение ? Если практическое, то на аппарате с каким ведром ?
Цитата:
из-под другого приложения (tasker ?) можно будет запустить /data/user/0/jackpal.androidterm/zapret/tpws
учтите, что на пути директории с правами x для other. они допускают траверс, но не допускают ls
если потом снести терминал, снесется и его home вместе с tpws, так что сносить его не надо
Так owner'ом всё равно останется терминал и selinux тупо не подпустит Таскер или любое другое приложение к нему. Такое по идее может прокатить на старых вёдрах, где ещё не было selinux'a. Проблема в том, что оные потихоньку отмирают из-за проблем с ssl/tls и сертификатами.
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 21-Авг-20 18:17 (спустя 14 часов, ред. 21-Авг-20 18:17)

Dicrock писал(а):
Так owner'ом всё равно останется терминал и selinux тупо не подпустит Таскер или любое другое приложение к нему. Такое по идее может прокатить на старых вёдрах, где ещё не было selinux'a. Проблема в том, что оные потихоньку отмирают из-за проблем с ssl/tls и сертификатами.
Попробовал удаленно через ssh на ведре 7.0
Действительно, не дает делать chcon внутри home.
Использует MLS level и категории в контексте :c512,c768, не дает траверсить другим apps
Пока решения не нашел
На крайняк всегда можно перепаковать таскер с засунутым внутрь tpws
Это не так просто, но зато сработает
Если только производитель наглухо не залочил установку сторонних apps
Еще можно отработать сначала сценарий копирования tpws и установки пермишинов
в home терминала, потом аналогичные команды выполнить из-под tasker, чтобы tpws
появился у него, и затем ничто не помешает таскеру запускать tpws из своего home
Но честно говоря, если есть решение с компом, то лучше найти комп, чем такие выкрутасы устраивать
На android 5 не используются категории и level, у всех датадиров один и тот же selinux context, поэтому 1 app может заходить в home другого app, если unix пермишины выставлены, а овнер их может выставить как угодно
chcon не работает, но имеющийся контекст не препятствует execute
потому описанный ранее сценарий работает без проблем. проверено
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 13 лет 7 месяцев

Сообщений: 1208

Dicrock · 21-Авг-20 20:12 (спустя 1 час 55 мин., ред. 21-Авг-20 20:12)

Цитата:
На крайняк всегда можно перепаковать таскер с засунутым внутрь tpws
Это не так просто, но зато сработает
Просто так перепаковать не прокатит, даже переподписав apk-ку своей подписью. Tasker не держит никаких ресурсов в /data/data/net.dinglisch.android.taskerm/ (папки lib у меня там тоже нет), поэтому подсунуть бинарь прикинувшись картинкой или мелодией не прокатит. В лучшем случае нужны ковыряния apk-ки чем-то вроде AppCloner'a, в худшем - более серьёзное вмешательство (а в этом я увы не спец, от слова совсем) :/
upd: В общем, надо копать в сторону "assets", "res/raw" директорий в apk.
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 21-Авг-20 21:48 (спустя 1 час 35 мин., ред. 21-Авг-20 21:48)

Dicrock писал(а):
Просто так перепаковать не прокатит, даже переподписав apk-ку своей подписью. Tasker не держит никаких ресурсов в /data/data/net.dinglisch.android.taskerm/ (папки lib у меня там тоже нет), поэтому подсунуть бинарь прикинувшись картинкой или мелодией не прокатит. В лучшем случае нужны ковыряния apk-ки чем-то вроде AppCloner'a, в худшем - более серьёзное вмешательство (а в этом я увы не спец, от слова совсем) :/
Чем так извращаться, лучше уж засунуть tpws внутрь tasker home как описал выше
Наименее напряжный способ
В новых ведроидах ассеты после установки apk не появляются в файловой системе
либы в том числе. там через asset manager доступ. и либы загружаются прямо из apk
[Профиль]  [ЛС] 

Triblekill

Стаж: 11 лет 5 месяцев

Сообщений: 46


Triblekill · 12-Окт-20 02:53 (спустя 1 месяц 21 день)

Здравствуйте использую bol van zapret на роутере с openwrt всё поставил настроил на некоторые заблокированные ркн сайты нормально заходит, а некоторые рвут соединение
например:
Сайт zagonka.tv неожиданно разорвал соединение.
Настроил по tpws_all_https и в split-pos=4 стоит остальное всё по умолчанию.
GoodByeDpi всё из коробки нормально обходит прямо запускаю без параметров zapret можно так же настроить ?
Провайдер Ростелеком
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 12-Окт-20 10:07 (спустя 7 часов, ред. 12-Окт-20 10:07)

Если сравнивать дефолтный goodbye и дефолтный zapret с
TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3"
MODE=tpws_all_https
1) http : goodbye сплит запроса на позиции 2. zapret - то же самое, с поддержкой http keepalive.
2) http : goodbye регистр хедера host преобразуется к hoSt. zapret преобразует в HOST
3) https: goodbye сплит на позиции 2. zapret - на позиции 3
так что в этом я не вижу существенной разницы, но на всякий случай можно попробовать заменить hostspell=hoSt, убрать split-http-req, оставить split-pos=2
предполагаю, что разница заключается в блокировке пассивных DPI на goodbye. zapret этого не делает и для этого не предназначен.
то есть магия 1-3 видимо не срабатывает в каких-то случаях, но срабатывает отбрасывание лже-ответа от пассивных DPI
цитата из readme zapret :
Пассивный DPI, не отправляющий RST серверу. Помогут индивидуально настраиваемые под провайдера команды iptables.
На rutracker в разделе "обход блокировок - другие способы" по этому вопросу существует отдельная тема.
В данном проекте не рассматривается. Если вы не допустите срабатывание триггера запрета, то и не придется
бороться с его последствиями.
так что варианта всего 2
1) идите в тему про iptables и пробуйте применять правила оттуда. возможно, это поможет само по себе или только в сочетании с zapret. правильный iptables + zapret = goodbyedpi
2) попытайтесь применить другую стратегию zapret
на ростелеке spb у меня успешно работает следующее на http и https
в /opt/zapret/config :
MODE=custom
NFQWS_OPT_DESYNC="--dpi-desync=split --dpi-desync-skip-nosni=0 --dpi-desync-ttl=3 --dpi-desync-fooling=none --dpi-desync-fwmark=$DESYNC_MARK"
cp /opt/zapret/init.d/openwrt/custom-desync-keepalive /opt/zapret/init.d/openwrt/custom
если применяете ipset, то в custom раскомментровать строки :
#ipset_zapret="-m set --match-set zapret dst"
#ipset_zapret6="-m set --match-set zapret6 dst"
/etc/init.d/zapret restart
fw3 restart
[Профиль]  [ЛС] 

Triblekill

Стаж: 11 лет 5 месяцев

Сообщений: 46


Triblekill · 12-Окт-20 11:50 (спустя 1 час 43 мин., ред. 12-Окт-20 11:50)

kx77 писал(а):
80208003Если сравнивать дефолтный goodbye и дефолтный zapret с
TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3"
MODE=tpws_all_https
1) http : goodbye сплит запроса на позиции 2. zapret - то же самое, с поддержкой http keepalive.
2) http : goodbye регистр хедера host преобразуется к hoSt. zapret преобразует в HOST
3) https: goodbye сплит на позиции 2. zapret - на позиции 3
так что в этом я не вижу существенной разницы, но на всякий случай можно попробовать заменить hostspell=hoSt, убрать split-http-req, оставить split-pos=2
предполагаю, что разница заключается в блокировке пассивных DPI на goodbye. zapret этого не делает и для этого не предназначен.
то есть магия 1-3 видимо не срабатывает в каких-то случаях, но срабатывает отбрасывание лже-ответа от пассивных DPI
цитата из readme zapret :
Пассивный DPI, не отправляющий RST серверу. Помогут индивидуально настраиваемые под провайдера команды iptables.
На rutracker в разделе "обход блокировок - другие способы" по этому вопросу существует отдельная тема.
В данном проекте не рассматривается. Если вы не допустите срабатывание триггера запрета, то и не придется
бороться с его последствиями.
так что варианта всего 2
1) идите в тему про iptables и пробуйте применять правила оттуда. возможно, это поможет само по себе или только в сочетании с zapret. правильный iptables + zapret = goodbyedpi
2) попытайтесь применить другую стратегию zapret
на ростелеке spb у меня успешно работает следующее на http и https
в /opt/zapret/config :
MODE=custom
NFQWS_OPT_DESYNC="--dpi-desync=split --dpi-desync-skip-nosni=0 --dpi-desync-ttl=3 --dpi-desync-fooling=none --dpi-desync-fwmark=$DESYNC_MARK"
cp /opt/zapret/init.d/openwrt/custom-desync-keepalive /opt/zapret/init.d/openwrt/custom
если применяете ipset, то в custom раскомментровать строки :
#ipset_zapret="-m set --match-set zapret dst"
#ipset_zapret6="-m set --match-set zapret6 dst"
/etc/init.d/zapret restart
fw3 restart
Вот так прокатило и всё заработало, спасибо ))
# CHOOSE OPERATION MODE
# use nfqws : nfqws_all_desync nfqws_ipset_desync nfqws_hostlist_desync
# use tpws : tpws_ipset tpws_ipset_https tpws_all tpws_all_https tpws_hostlist
# no daemon, just ipset : ipset
# custom mode : custom . should modify init script and add your own code
MODE=nfqws_all_desync
# CHOOSE NFQWS DAEMON OPTIONS for DPI desync mode. run "nfq/nfqws --help" for option list
DESYNC_MARK=0x40000000
NFQWS_OPT_DESYNC="--dpi-desync=split --dpi-desync-skip-nosni=0 --dpi-desync-ttl=3 --dpi-desync-fooling=none --dpi-desync-fwmark=$DESYNC_MARK"
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 12-Окт-20 12:02 (спустя 12 мин.)

Triblekill писал(а):
Вот так прокатило и всё заработало, спасибо ))
Так прокатывает на первый взгляд, однако
curl ej.ru ej.ru
на 2-м разе выдает заглушку
потому что в варианте без custom не поддерживается http keep alive
[Профиль]  [ЛС] 

Triblekill

Стаж: 11 лет 5 месяцев

Сообщений: 46


Triblekill · 12-Окт-20 12:23 (спустя 20 мин., ред. 12-Окт-20 12:23)

kx77 писал(а):
80208524
Triblekill писал(а):
Вот так прокатило и всё заработало, спасибо ))
Так прокатывает на первый взгляд, однако
curl ej.ru ej.ru
на 2-м разе выдает заглушку
потому что в варианте без custom не поддерживается http keep alive
Не знаю почему, но вариант с custom совсем не катит появляется та блокирующая страница Ростелекома то есть что с zapret что без, а тут да бывает после сёрфинга по сайту влетает заглушка, но после нажатия страницы назад и выбрав тот же пункт работает так что не критично вряд ли лучше можно сделать.
UPD Не знаю почему после перезагрузки роутера залоченные сайты совсем перестали отвечать, а как только настроил работало =)
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 12-Окт-20 12:27 (спустя 4 мин., ред. 12-Окт-20 12:27)

Triblekill писал(а):
Не знаю почему, но вариант с custom совсем не катит появляется та блокирующая страница Ростелекома то есть что с zapret что без, а тут да бывает после сёрфинга по сайту влетает заглушка, но после нажатия страницы назад и выбрав тот же пункт работает так что не критично вряд ли лучше можно сделать.
UPD Не знаю почему после перезагрузки роутера залоченные сайты совсем перестали отвечать, а как только настроил работало =)
в custom я указал команду cp. она копирует шаблон custom скрипта куда надо
она была выполнена ?
после серфинга заглушка - это из-за отсутствия поддержки keepalive
[Профиль]  [ЛС] 

Triblekill

Стаж: 11 лет 5 месяцев

Сообщений: 46


Triblekill · 12-Окт-20 12:44 (спустя 16 мин., ред. 12-Окт-20 12:44)

kx77 писал(а):
80208613
Triblekill писал(а):
Не знаю почему, но вариант с custom совсем не катит появляется та блокирующая страница Ростелекома то есть что с zapret что без, а тут да бывает после сёрфинга по сайту влетает заглушка, но после нажатия страницы назад и выбрав тот же пункт работает так что не критично вряд ли лучше можно сделать.
UPD Не знаю почему после перезагрузки роутера залоченные сайты совсем перестали отвечать, а как только настроил работало =)
в custom я указал команду cp. она копирует шаблон custom скрипта куда надо
она была выполнена ?
после серфинга заглушка - это из-за отсутствия поддержки keepalive
А нет команду не выполнил может в этом дело сейчас попробую )
UPD:
Слушай да после команды cp /opt/zapret/init.d/openwrt/custom-desync-keepalive /opt/zapret/init.d/openwrt/custom заработало и на MODE=custom, ещё раз примного тебе благодарен =)
Да теперь сайты сёрфятся без вылета заглушек !
[Профиль]  [ЛС] 

Triblekill

Стаж: 11 лет 5 месяцев

Сообщений: 46


Triblekill · 28-Окт-20 18:08 (спустя 16 дней, ред. 28-Окт-20 18:08)

kx77
Привет как недавно выяснилось прошивка openwrt по умолчанию режет скорость, помогли мне значит найти решение нужно поставить галки в Network>Firewall
Software based offloading for routing/NAT и Requires hardware NAT support. Implemented at least for mt7621 ,но теперь сломался zapret а именно метод который ты посоветовал
MODE=custom
# CHOOSE NFQWS DAEMON OPTIONS for DPI desync mode. run "nfq/nfqws --help" for option list
DESYNC_MARK=0x40000000
NFQWS_OPT_DESYNC="--dpi-desync=split --dpi-desync-skip-nosni=0 --dpi-desync-ttl=3 --dpi-desync-fooling=none --dpi-desync-fwmark=$DESYNC_MARK"
Если убираю галки с Software based offloading for routing/NAT и Requires hardware NAT support. Implemented at least for mt7621 то опять работает, включаю перестаёт ((
Возможно пакеты стали фильтроваться по другому после этих манипуляций ? Сможешь попробовать починить это ?
[Профиль]  [ЛС] 

intellect

Стаж: 21 год 1 месяц

Сообщений: 69835


intellect · 28-Окт-20 18:17 (спустя 8 мин.)

На среднестатистическом MIPS 600 mhz без оффлоада можно пробрасывать до 150 Mbit точно. Этого мало ?
Про offload расписано в readme, рекомендую еще раз перечитать этот фрагмент
Если есть желание "городить огород вокруг оффлоада", то надо вешать скрипт для изменения созданных fw3 правил в /etc/firewall.user
Делаем iptables-save, изучаем, находим FLOWOFFLOAD, думаем что и где дописать, вносим iptables в firewall.user
Как-то так. Сам не делал, даю только идею
[Профиль]  [ЛС] 

Triblekill

Стаж: 11 лет 5 месяцев

Сообщений: 46


Triblekill · 28-Окт-20 18:48 (спустя 31 мин., ред. 28-Окт-20 18:52)

kx77 писал(а):
80304441На среднестатистическом MIPS 600 mhz без оффлоада можно пробрасывать до 150 Mbit точно. Этого мало ?
Про offload расписано в readme, рекомендую еще раз перечитать этот фрагмент
Если есть желание "городить огород вокруг оффлоада", то надо вешать скрипт для изменения созданных fw3 правил в /etc/firewall.user
Делаем iptables-save, изучаем, находим FLOWOFFLOAD, думаем что и где дописать, вносим iptables в firewall.user
Как-то так. Сам не делал, даю только идею
Блин а GoodByeDpi то как то по прежнему работает что с offload что без дело в том что 30 мегабит разницы с hardware flow offloading и без это серьёзная разница
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error