diff --git a/install_bin.sh b/install_bin.sh new file mode 100755 index 0000000..0ace720 --- /dev/null +++ b/install_bin.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +SCRIPT=$(readlink -f $0) +EXEDIR=$(dirname $SCRIPT) +BINDIR=$EXEDIR/binaries + +check_dir() +{ + echo 0.0.0.0 | $BINDIR/$1/ip2net 1>/dev/null 2>/dev/null +} +ccp() +{ + cp -f $1 $2 && echo "$1" =\> "$2" +} + +for arch in aarch64 armhf mips32r1-lsb mips32r1-msb x86_64 x86 +do + if check_dir $arch; then + echo $arch is OK + echo copying binaries ... + ccp $BINDIR/$arch/ip2net $EXEDIR/ip2net + ccp $BINDIR/$arch/mdig $EXEDIR/mdig + ccp $BINDIR/$arch/nfqws $EXEDIR/nfq + ccp $BINDIR/$arch/tpws $EXEDIR/tpws + break + else + echo $arch is NOT OK + fi +done + diff --git a/readme.txt b/readme.txt index c80fa25..38f0c5f 100644 --- a/readme.txt +++ b/readme.txt @@ -130,10 +130,10 @@ tpws - это transparent proxy. Есть исключения : split-pos заменяет split-http-req. hostdot и hosttab взаимоисключающи. Провайдеры ----------- - -Поскольку ситуация с блокировками на отдельных провайдерах может меняться, информация может устаревать. Она дана больше для примера, чем как прямое руководство. -Автор не занимается мониторингом и оперативным обновлением этой информации. +---------- + +Поскольку ситуация с блокировками на отдельных провайдерах может меняться, информация может устаревать. Она дана больше для примера, чем как прямое руководство. +Автор не занимается мониторингом и оперативным обновлением этой информации. mns.ru : нужна замена window size на 3. mns.ru убирает заблокированные домены из выдачи своих DNS серверов. меняем на сторонние. аплинк westcall банит по IP адреса из списка РКН, где присутствует https @@ -150,7 +150,7 @@ dom.ru : нужно проксирование HTTP сессий через tpws 2 запрашиваемых поддомена : s.kinozal.tv и st.kinozal.tv с разными IP адресами. Домру перехватывает DNS запросы и всовывает свой лже-ответ. Это обходится через дроп лже-ответа посредством iptables по наличию IP адреса заглушки или через dnscrypt. -sknt.ru : проверена работа с tpws с параметром "--split-http-req=method". провайдер мониторит каждый пакет, поэтому при использовании nfq 2-й запрос в той же сессии зависает +sknt.ru : проверена работа с tpws с параметром "--split-http-req=method". провайдер мониторит каждый пакет, поэтому при использовании nfq 2-й запрос в той же сессии зависает Ростелеком/tkt : помогает разделение http запроса на сегменты, настройки mns.ru подходят ТКТ был куплен ростелекомом, используется фильтрация ростелекома. @@ -213,14 +213,14 @@ get_reestr.sh может использовать мультипоточный В обоих случаях слишком частая запись может убить флэшку, но если это произойдет с внутренней флэш памятью, то вы просто убьете роутер. -Принудительное обновление ipset выполняет скрипт ipset/create_ipset.sh. -Список РКН уже достиг внушительных размеров в сотни тысяч IP адресов. Поэтому для оптимизации ipset -применяется утилита ip2net. Она берет список отдельных IP адресов и пытается в нем найти подсети максимального размера (от /22 до /30), -в которых заблокировано более 3/4 адресов. ip2net написан на языке C, поскольку операция ресурсоемкая. Иные способы роутер может не потянуть. -Если ip2net скомпилирован или в каталог ip2net скопирован бинарик, то скрипт create_ipset.sh использует ipset типа hash:net, прогоняя список через ip2net. -В противном случае используется ipset типа hash:ip, список загружается как есть. -Соответственно, если вам не нравится ip2net, просто уберите из каталога ip2net бинарик. - +Принудительное обновление ipset выполняет скрипт ipset/create_ipset.sh. +Список РКН уже достиг внушительных размеров в сотни тысяч IP адресов. Поэтому для оптимизации ipset +применяется утилита ip2net. Она берет список отдельных IP адресов и пытается в нем найти подсети максимального размера (от /22 до /30), +в которых заблокировано более 3/4 адресов. ip2net написан на языке C, поскольку операция ресурсоемкая. Иные способы роутер может не потянуть. +Если ip2net скомпилирован или в каталог ip2net скопирован бинарик, то скрипт create_ipset.sh использует ipset типа hash:net, прогоняя список через ip2net. +В противном случае используется ipset типа hash:ip, список загружается как есть. +Соответственно, если вам не нравится ip2net, просто уберите из каталога ip2net бинарик. + Можно внести список доменов в ipset/zapret-hosts-user-ipban.txt. Их ip адреса будут помещены в отдельный ipset "ipban". Он может использоваться для принудительного завертывания всех соединений на прозрачный proxy "redsocks" или на VPN. @@ -248,18 +248,8 @@ Debian 7 изначально содержит ядро 3.2. Оно не уме apt-get update apt-get install libnetfilter-queue-dev ipset curl Скопировать директорию "zapret" в /opt. -Собрать nfqws : - cd /opt/zapret/nfq - make -Собрать tpws : - cd /opt/zapret/tpws - make -Собрать ip2net : - cd /opt/zapret/ip2net - make -Собрать mdig : - cd /opt/zapret/mdig - make +Запустить /opt/zapret/install_bin.sh. Он сам определит рабочую архитектуру и скопирует куда надо все бинарики. +АЛЬТЕРНАТИВА : зайти в tpws,nfq,ip2net,dig, в каждом выполнить make. Получите динамические бинарики под вашу ось. Скопировать /opt/zapret/init.d/debian7/zapret в /etc/init.d. В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила. Там же выбрать параметр SLAVE_ETH, соответствующий названию внутреннего сетевого интерфейса. @@ -339,7 +329,7 @@ opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptable Скорее всего таковой найдется. Если нет - вам придется собирать самостоятельно. Скопировать директорию "zapret" в /opt на роутер. -Скопировать работающий бинарик nfqws в /opt/zapret/nfq, tpws в /opt/zapret/tpws, ip2net в /opt/zapret/ip2net, mdig в /opt/zapret/mdig. +Запустить /opt/zapret/install_bin.sh. Он сам определит рабочую архитектуру и скопирует куда надо все бинарики. Скопировать /opt/zapret/init.d/zapret в /etc/init.d. В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила. /etc/init.d/zapret enable @@ -358,7 +348,7 @@ opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptable Приходится перенаправлять трафик через сторонний хост. Предлагается использовать прозрачный редирект через socks5 посредством iptables+redsocks, либо iptables+iproute+vpn. Настройка варианта с redsocks на openwrt описана в https.txt. -Настройка варианта с iproute+wireguard - в wireguard_iproute_openwrt.txt. +Настройка варианта с iproute+wireguard - в wireguard_iproute_openwrt.txt. Почему стоит вложиться в покупку VPS ------------------------------------