Merge pull request #65 from valsaven/master

readme: fix typos
This commit is contained in:
bol-van 2021-03-10 21:03:24 +03:00 committed by GitHub
commit 4fcd3bba96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 18 deletions

View File

@ -53,7 +53,7 @@ You need to run them with the necessary parameters and redirect certain traffic
To redirect a TCP connection to a transparent proxy, the following commands are used: To redirect a TCP connection to a transparent proxy, the following commands are used:
forwarded fraffic : forwarded traffic :
iptables -t nat -I PREROUTING -i <internal_interface> -p tcp --dport 80 -j DNAT --to 127.0.0.127:988 iptables -t nat -I PREROUTING -i <internal_interface> -p tcp --dport 80 -j DNAT --to 127.0.0.127:988
outgoing traffic : outgoing traffic :
iptables -t nat -I OUTPUT -o <external_interface> -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to 127.0.0.127:988 iptables -t nat -I OUTPUT -o <external_interface> -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to 127.0.0.127:988
@ -172,12 +172,12 @@ add tcp option "MD5 signature". All of them have their own disadvantages :
* md5sig does not work on all servers * md5sig does not work on all servers
* badsum doesn't work if your device is behind NAT which does not pass invalid packets. * badsum doesn't work if your device is behind NAT which does not pass invalid packets.
Linux NAT by default does not pass them without special setting "sysctl -w net.netfilter.nf_conntrack_checksum=0" Linux NAT by default does not pass them without special setting "sysctl -w net.netfilter.nf_conntrack_checksum=0"
Openwrt sets it from the box, other routers in most cases dont, and its not always possible to change it. Openwrt sets it from the box, other routers in most cases don't, and its not always possible to change it.
If nfqws is on the router, its not neccessary to switch of "net.netfilter.nf_conntrack_checksum". If nfqws is on the router, its not necessary to switch of "net.netfilter.nf_conntrack_checksum".
Fake packet doesn't go through FORWARD chain, it goes through OUTPUT. But if your router is behind another NAT, for example ISP NAT, Fake packet doesn't go through FORWARD chain, it goes through OUTPUT. But if your router is behind another NAT, for example ISP NAT,
and that NAT does not pass invalid packets, you cant do anything. and that NAT does not pass invalid packets, you cant do anything.
* badseq packets will be dropped by server, but DPI also can ignore them * badseq packets will be dropped by server, but DPI also can ignore them
* TTL looks like the best option, but it requires special tuning for earch ISP. If DPI is further than local ISP websites * TTL looks like the best option, but it requires special tuning for each ISP. If DPI is further than local ISP websites
you can cut access to them. Manual IP exclude list is required. Its possible to use md5sig with ttl. you can cut access to them. Manual IP exclude list is required. Its possible to use md5sig with ttl.
This way you cant hurt anything, but good chances it will help to open local ISP websites. This way you cant hurt anything, but good chances it will help to open local ISP websites.
If automatic solution cannot be found then use zapret-hosts-user-exclude.txt. If automatic solution cannot be found then use zapret-hosts-user-exclude.txt.
@ -223,7 +223,7 @@ doing something about it is hardly possible without the help of the server.
The best solution is to enable TLS 1.3 support on the server. TLS 1.3 sends the server certificate in encrypted form. The best solution is to enable TLS 1.3 support on the server. TLS 1.3 sends the server certificate in encrypted form.
This is recommendation to all admins of blocked sites. Enable TLS 1.3. You will give more opportunities to overcome DPI. This is recommendation to all admins of blocked sites. Enable TLS 1.3. You will give more opportunities to overcome DPI.
Hosts are extracted from plain http request Host: header and SNI of ClientHelllo TLS message. Hosts are extracted from plain http request Host: header and SNI of ClientHello TLS message.
Subdomains are applied automatically. gzip lists are supported. Subdomains are applied automatically. gzip lists are supported.
iptables for performing the attack on the first packet : iptables for performing the attack on the first packet :
@ -300,7 +300,7 @@ tpws is transparent proxy.
--pidfile=<filename> ; write pid to file --pidfile=<filename> ; write pid to file
--user=<username> ; drop root privs --user=<username> ; drop root privs
--uid=uid[:gid] ; drop root privs --uid=uid[:gid] ; drop root privs
The manipulation parameters can be combined in any way. The manipulation parameters can be combined in any way.
split-http-req takes precedence over split-pos for http reqs. split-http-req takes precedence over split-pos for http reqs.
@ -523,13 +523,13 @@ The following calls allow you to apply or remove iptables rules separately:
/opt/zapret/init.d/sysv/zapret start-fw /opt/zapret/init.d/sysv/zapret start-fw
/opt/zapret/init.d/sysv/zapret stop-fw /opt/zapret/init.d/sysv/zapret stop-fw
And you can start or stop the demons separately from the firewall: And you can start or stop the demons separately from the firewall:
/opt/zapret/init.d/sysv/zapret start-daemons /opt/zapret/init.d/sysv/zapret start-daemons
/opt/zapret/init.d/sysv/zapret stop-daemons /opt/zapret/init.d/sysv/zapret stop-daemons
Simple install to desktop linux system Simple install to desktop linux system
-------------------------------------- --------------------------------------

View File

@ -118,7 +118,7 @@ iptables -t mangle -I POSTROUTING -o <внешний_интерфейс> -p tcp
Если ваше устройство поддерживает аппаратное ускорение (flow offloading, hardware nat, hardware acceleration), то iptables могут не работать. Если ваше устройство поддерживает аппаратное ускорение (flow offloading, hardware nat, hardware acceleration), то iptables могут не работать.
При включенном offloading пакет не проходит по обычному пути netfilter. При включенном offloading пакет не проходит по обычному пути netfilter.
Необходимо или его отключить, или выборочно им управлять. Необходимо или его отключить, или выборочно им управлять.
В новых ядрах (и в более старых, openwrt портировал изменение на 4.14) присутствует software flow offloading (SFO). В новых ядрах (и в более старых, openwrt портировал изменение на 4.14) присутствует software flow offloading (SFO).
@ -140,7 +140,7 @@ ip6tables работают почти точно так же, как и ipv4, н
В DNAT следует брать адрес --to в квадратные скобки. Например : В DNAT следует брать адрес --to в квадратные скобки. Например :
ip6tables -t nat -I OUTPUT -o <внешний_интерфейс> -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to [::1]:988 ip6tables -t nat -I OUTPUT -o <внешний_интерфейс> -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to [::1]:988
Параметра route_localnet не существует для ipv6. Параметра route_localnet не существует для ipv6.
DNAT на localhost (::1) возможен только в цепочке OUTPUT. DNAT на localhost (::1) возможен только в цепочке OUTPUT.
В цепочке PREROUTING DNAT возможен на любой global address или на link local address того же интерфейса, В цепочке PREROUTING DNAT возможен на любой global address или на link local address того же интерфейса,
@ -444,7 +444,7 @@ tpws полностью работает на асинхронных сокет
Полезно против DPI, выполняющих реассемблинг TCP с ограниченным буфером. Полезно против DPI, выполняющих реассемблинг TCP с ограниченным буфером.
Если техника работает, то после некоторого количества bytes http запрос начнет проходить до сайта. Если техника работает, то после некоторого количества bytes http запрос начнет проходить до сайта.
Если при этом критический размер padding около MTU, значит скорее всего DPI не выполняет реассемблинг пакетов, и лучше будет использовать обычные опции --split-… Если при этом критический размер padding около MTU, значит скорее всего DPI не выполняет реассемблинг пакетов, и лучше будет использовать обычные опции --split-…
Если все же реассемблинг выполняется, то критический размер будет около размера буфера DPI. Он может быть 4K или 8K, возможны и другие значения. Если все же реассемблинг выполняется, то критический размер будет около размера буфера DPI. Он может быть 4K или 8K, возможны и другие значения.
--skip-nodelay может быть полезен, чтобы привести MTU к MTU системы, на которой работает tpws. --skip-nodelay может быть полезен, чтобы привести MTU к MTU системы, на которой работает tpws.
Это может быть полезно для скрытия факта использования VPN. Пониженный MTU - 1 из способов обнаружения Это может быть полезно для скрытия факта использования VPN. Пониженный MTU - 1 из способов обнаружения
@ -749,12 +749,12 @@ IFACE_WAN=eth1
/opt/zapret/init.d/sysv/zapret start-fw /opt/zapret/init.d/sysv/zapret start-fw
/opt/zapret/init.d/sysv/zapret stop-fw /opt/zapret/init.d/sysv/zapret stop-fw
А так можно запустить или остановить демоны отдельно от фаервола : А так можно запустить или остановить демоны отдельно от фаервола :
/opt/zapret/init.d/sysv/zapret start-daemons /opt/zapret/init.d/sysv/zapret start-daemons
/opt/zapret/init.d/sysv/zapret stop-daemons /opt/zapret/init.d/sysv/zapret stop-daemons
Вариант custom Вариант custom
-------------- --------------
@ -836,7 +836,7 @@ tpws к http и nfqws к https. При этом поддерживаются у
enable auto start : systemctl enable zapret enable auto start : systemctl enable zapret
disable auto start : systemctl disable zapret disable auto start : systemctl disable zapret
start : sytemctl start zapret start : systemctl start zapret
stop : systemctl stop zapret stop : systemctl stop zapret
status, output messages : systemctl status zapret status, output messages : systemctl status zapret
timer info : systemctl list-timer timer info : systemctl list-timer
@ -972,7 +972,7 @@ opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptable
ЭКОНОМИЯ МЕСТА : ЭКОНОМИЯ МЕСТА :
gzip от busybox в разы медленней полноценного варианта. gzip используется скриптами получения листов. gzip от busybox в разы медленней полноценного варианта. gzip используется скриптами получения листов.
sort от busybox медленней полноценного варианта и жрет намного болше памяти. sort используется скриптами получения листов. sort от busybox медленней полноценного варианта и жрет намного больше памяти. sort используется скриптами получения листов.
grep от busybox катастрофически медленный с опцией -f. она применяется в get_reestr_combined.sh. если вы не собираетесь grep от busybox катастрофически медленный с опцией -f. она применяется в get_reestr_combined.sh. если вы не собираетесь
пользоваться этим скриптом, gnu grep можно не устанавливать пользоваться этим скриптом, gnu grep можно не устанавливать
iptables-mod-nfqueue можно выкинуть, если не будем пользоваться nfqws iptables-mod-nfqueue можно выкинуть, если не будем пользоваться nfqws
@ -1159,7 +1159,7 @@ nfqueue поломан. можно собрать фиксящий модуль
используя исходники с huawei open source. Исходники содержат тулчейн и полусобирающееся, используя исходники с huawei open source. Исходники содержат тулчейн и полусобирающееся,
неактуальное ядро. Конфиг можно взять с рабочего модема из /proc/config.gz. неактуальное ядро. Конфиг можно взять с рабочего модема из /proc/config.gz.
С помощью этих исходников умельцы могут собрать модуль unfuck_nfqueue.ko. С помощью этих исходников умельцы могут собрать модуль unfuck_nfqueue.ko.
После его применения NFQUEUE и nfqws для arm работают нормально. После его применения NFQUEUE и nfqws для arm работают нормально.
Чтобы избежать проблемы с offload-ом при использвании nfqws, следует комбинировать tpws в режиме tcp proxy и nfqws. Чтобы избежать проблемы с offload-ом при использвании nfqws, следует комбинировать tpws в режиме tcp proxy и nfqws.
Правила NFQUEUE пишутся для цепочки OUTPUT. Правила NFQUEUE пишутся для цепочки OUTPUT.
@ -1172,7 +1172,7 @@ connbytes придется опускать, поскольку модуля в
ПРЕДУПРЕЖДЕНИЕ. ПРЕДУПРЕЖДЕНИЕ.
На этом модеме происходят хаотические сбросы соединений tcp по непонятным причинам. На этом модеме происходят хаотические сбросы соединений tcp по непонятным причинам.
Выглядит это так, если запускать curl с самого модема : Выглядит это так, если запускать curl с самого модема :
curl www.ru curl www.ru
curl: (7) Failed to connect to www.ru port 80: Host is unreachable curl: (7) Failed to connect to www.ru port 80: Host is unreachable
Возникает ошибка сокета EHOSTUNREACH (errno -113). То же самое видно в tpws. Возникает ошибка сокета EHOSTUNREACH (errno -113). То же самое видно в tpws.
В броузере не подгружаются части веб страниц, картинки, стили. В броузере не подгружаются части веб страниц, картинки, стили.
@ -1324,7 +1324,7 @@ VPS можно прибрести в множестве мест. Существ
с большим лимитом по трафику (терабайты). Важен и тип VPS. Openvz подойдет для openvpn, но с большим лимитом по трафику (терабайты). Важен и тип VPS. Openvz подойдет для openvpn, но
вы не поднимете на нем wireguard, ipsec, то есть все, что требует kernel mode. вы не поднимете на нем wireguard, ipsec, то есть все, что требует kernel mode.
Для kernel mode требуется тип виртуализации, предполагающий запуск полноценного экземпляра ОС linux Для kernel mode требуется тип виртуализации, предполагающий запуск полноценного экземпляра ОС linux
вместе с ядром. Подойдут kvm, xen, hyper-v, vmware. вместе с ядром. Подойдут kvm, xen, hyper-v, vmware.
По цене можно найти предложения, которые будут дешевле готовой VPN услуги, но при этом вы сам хозяин в своей лавке По цене можно найти предложения, которые будут дешевле готовой VPN услуги, но при этом вы сам хозяин в своей лавке
и не рискуете попасть под бан регулятора, разве что "заодно" под ковровую бомбардировку с баном миллионов IP. и не рискуете попасть под бан регулятора, разве что "заодно" под ковровую бомбардировку с баном миллионов IP.