Compare commits

...

7 Commits

Author SHA1 Message Date
Lorekin
5265995768
Merge 92ba6b439e6aed8557a315ebfcd350016159be52 into c6058a4ea92ee887d7be3eb7e2320ddb809434a5 2024-12-20 15:15:39 +05:00
bol-van
c6058a4ea9 doc works 2024-12-20 13:00:22 +03:00
bol-van
27ffe77243 doc works 2024-12-20 12:59:19 +03:00
bol-van
3eb969cdaf doc works 2024-12-20 12:57:03 +03:00
bol-van
73040bb156 doc works 2024-12-20 12:52:22 +03:00
bol-van
c2bda9388f doc works 2024-12-20 10:37:23 +03:00
Lorekin
92ba6b439e
Add script to get antifilter domains 2024-11-27 23:58:54 +03:00
3 changed files with 52 additions and 16 deletions

View File

@ -119,7 +119,7 @@ You need to run them with the necessary parameters and redirect certain traffic
when blocked domains are queried. If this is the case change DNS to public ones, such as 8.8.8.8 or 1.1.1.1.Sometimes ISP hijacks queries to any DNS server. Dnscrypt or dns-over-tls help. when blocked domains are queried. If this is the case change DNS to public ones, such as 8.8.8.8 or 1.1.1.1.Sometimes ISP hijacks queries to any DNS server. Dnscrypt or dns-over-tls help.
* If blocking is done by IP. * If blocking is done by IP.
* If a connection passes through a filter capable of reconstructing a TCP connection, and which * If a connection passes through a filter capable of reconstructing a TCP connection, and which
follows all standards. For example, we are routed to squid. Connection goes through the full OS tcpip stack, fragmentation disappears immediately as a means of circumvention. Squid is correct, it will find everything as it should, it is useless to deceive him. BUT. Only small providers can afford using squid, since it is very resource intensive. Large companies usually use DPI, which is designed for much greater bandwidth. follows all standards. For example, we are routed to squid. Connection goes through the full OS tcpip stack. This project targets DPI only, not full OS stack and not server applications.
## nfqws ## nfqws

View File

@ -144,14 +144,9 @@ DPI. Все больше становится внереестровых бло
* Если подменяется DNS. С этой проблемой легко справиться. * Если подменяется DNS. С этой проблемой легко справиться.
* Если блокировка осуществляется по IP. * Если блокировка осуществляется по IP.
* Если соединение проходит через фильтр, способный реконструировать TCP соединение, и который следует всем стандартам. * Если соединение проходит через фильтр, способный реконструировать TCP соединение, и который следует всем стандартам.
Например, нас заворачивают на squid. Соединение идет через полноценный стек tcpip операционной системы, фрагментация Например, нас заворачивают на squid. Соединение идет через полноценный стек tcpip операционной системы.
отпадает сразу как средство обхода. Squid правильный, он все найдет как надо, обманывать его бесполезно. НО. Проект нацелен на обман DPI, который всилу ограниченности ресурсов и большого трафика вынужден интерпретировать его лишь ограниченно.
Заворачивать на squid могут позволить себе лишь небольшие провайдеры, поскольку это очень ресурсоемко. Большие Обмануть полноценный стек ОС и полноценные серверные приложения не получится.
компании обычно используют DPI, который рассчитан на гораздо большую пропускную способность. Может применяться
комбинированный подход, когда на DPI заворачивают только IP из "плохого" списка, и дальше уже DPI решает пропускать
или нет. Так можно снизить нагрузку на DPI в десятки, если не сотни раз, а следовательно не покупать очень дорогие
решения, обойдясь чем-то существенно более дешевым. Мелкие провайдеры могут покупать услугу фильтрации у вышестоящих,
чтобы самим не морочиться, и они уже будут применять DPI.
## nfqws ## nfqws
@ -2072,17 +2067,18 @@ adb push tpws /data/local/tmp/zapret
chmod 755 /data/local/tmp/zapret /data/local/tmp/zapret/tpws chmod 755 /data/local/tmp/zapret /data/local/tmp/zapret/tpws
chcon u:object_r:system_file:s0 /data/local/tmp/zapret/tpws chcon u:object_r:system_file:s0 /data/local/tmp/zapret/tpws
``` ```
Как найти стратегию обхода сотового оператора: проще всего раздать инет на комп с linux. Как найти стратегию обхода сотового оператора: проще всего раздать инет на комп.
Можно записать live image linux на флэшку и загрузиться с нее или запустить виртуалку с linux Для этого подойдет любая поддерживаемая ОС. Подключите android через USB кабель к компу и включите режим модема.
и пробросить в нее usb устройство от режима модема с телефона. Прогоните стандартную процедуру blockcheck. При переносе правил на телефон уменьшить TTL на 1,
На компе с linux прогнать стандартную процедуру blockcheck. При переносе правил на телефон уменьшить TTL на 1, если правила с TTL присутствуют в стратегии. Если проверялось на windows, убрать параметры `--wf-*`.
если правила с TTL присутствуют в стратегии.
Можно развернуть rootfs какого-нибудь дистрибутива linux прямо на телефоне, имея рута. Работа blockcheck в android shell не поддерживается, но имея рута можно развернуть rootfs какого-нибудь дистрибутива linux.
Это лучше всего делать с компа через adb shell. Это лучше всего делать с компа через adb shell.
Если компа нет, то это единственный вариант, хотя и неудобный. Если компа нет, то развертка chroot - единственный вариант, хотя и неудобный.
Подойдет что-то легковесное, например, alpine или даже openwrt. Подойдет что-то легковесное, например, alpine или даже openwrt.
Если это не эмулятор android, то универсальная архитектура - arm (любой вариант). Если это не эмулятор android, то универсальная архитектура - arm (любой вариант).
Если вы точно знаете, что ОС у вас 64-разрядная, то лучше вместо arm - aarch64. Если вы точно знаете, что ОС у вас 64-разрядная, то лучше вместо arm - aarch64.
Выяснить архитектуру можно командой `uname -a`.
``` ```
mount --bind /dev /data/linux/dev mount --bind /dev /data/linux/dev

View File

@ -0,0 +1,40 @@
#!/bin/sh
IPSET_DIR="$(dirname "$0")"
IPSET_DIR="$(cd "$IPSET_DIR"; pwd)"
. "$IPSET_DIR/def.sh"
TMPLIST="$TMPDIR/list.txt"
URL="https://antifilter.download/list/domains.lst"
dl()
{
# $1 - url
# $2 - file
# $3 - minsize
# $4 - maxsize
curl -L -H "Accept-Encoding: gzip" -k --fail --max-time 60 --connect-timeout 10 --retry 4 --max-filesize 251658240 -o "$TMPLIST" "$1" ||
{
echo list download failed : $1
exit 2
}
dlsize=$(LANG=C wc -c "$TMPLIST" | xargs | cut -f 1 -d ' ')
if test $dlsize -lt $3; then
echo list is too small : $dlsize bytes. can be bad.
exit 2
fi
zzcat "$TMPLIST" | tr -d '\015' | zz "$2"
rm -f "$TMPLIST"
}
# useful in case ipban set is used in custom scripts
FAIL=
getipban || FAIL=1
"$IPSET_DIR/create_ipset.sh"
[ -n "$FAIL" ] && exit
dl "$URL" "$ZHOSTLIST" 32768 4194304
exit 0