install_bin.sh : bin auto installer

This commit is contained in:
bolvan 2019-05-02 09:48:37 +03:00
parent f302d1362a
commit 16096b56fa
2 changed files with 47 additions and 27 deletions

30
install_bin.sh Executable file
View File

@ -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

View File

@ -130,10 +130,10 @@ tpws - это transparent proxy.
Есть исключения : split-pos заменяет split-http-req. hostdot и hosttab взаимоисключающи. Есть исключения : split-pos заменяет split-http-req. hostdot и hosttab взаимоисключающи.
Провайдеры Провайдеры
---------- ----------
Поскольку ситуация с блокировками на отдельных провайдерах может меняться, информация может устаревать. Она дана больше для примера, чем как прямое руководство. Поскольку ситуация с блокировками на отдельных провайдерах может меняться, информация может устаревать. Она дана больше для примера, чем как прямое руководство.
Автор не занимается мониторингом и оперативным обновлением этой информации. Автор не занимается мониторингом и оперативным обновлением этой информации.
mns.ru : нужна замена window size на 3. mns.ru убирает заблокированные домены из выдачи своих DNS серверов. меняем на сторонние. аплинк westcall банит по IP адреса из списка РКН, где присутствует https 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 адресами. 2 запрашиваемых поддомена : s.kinozal.tv и st.kinozal.tv с разными IP адресами.
Домру перехватывает DNS запросы и всовывает свой лже-ответ. Это обходится через дроп лже-ответа посредством iptables по наличию IP адреса заглушки или через dnscrypt. Домру перехватывает 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 подходят Ростелеком/tkt : помогает разделение http запроса на сегменты, настройки mns.ru подходят
ТКТ был куплен ростелекомом, используется фильтрация ростелекома. ТКТ был куплен ростелекомом, используется фильтрация ростелекома.
@ -213,14 +213,14 @@ get_reestr.sh может использовать мультипоточный
В обоих случаях слишком частая запись может убить флэшку, но если это произойдет с внутренней В обоих случаях слишком частая запись может убить флэшку, но если это произойдет с внутренней
флэш памятью, то вы просто убьете роутер. флэш памятью, то вы просто убьете роутер.
Принудительное обновление ipset выполняет скрипт ipset/create_ipset.sh. Принудительное обновление ipset выполняет скрипт ipset/create_ipset.sh.
Список РКН уже достиг внушительных размеров в сотни тысяч IP адресов. Поэтому для оптимизации ipset Список РКН уже достиг внушительных размеров в сотни тысяч IP адресов. Поэтому для оптимизации ipset
применяется утилита ip2net. Она берет список отдельных IP адресов и пытается в нем найти подсети максимального размера (от /22 до /30), применяется утилита ip2net. Она берет список отдельных IP адресов и пытается в нем найти подсети максимального размера (от /22 до /30),
в которых заблокировано более 3/4 адресов. ip2net написан на языке C, поскольку операция ресурсоемкая. Иные способы роутер может не потянуть. в которых заблокировано более 3/4 адресов. ip2net написан на языке C, поскольку операция ресурсоемкая. Иные способы роутер может не потянуть.
Если ip2net скомпилирован или в каталог ip2net скопирован бинарик, то скрипт create_ipset.sh использует ipset типа hash:net, прогоняя список через ip2net. Если ip2net скомпилирован или в каталог ip2net скопирован бинарик, то скрипт create_ipset.sh использует ipset типа hash:net, прогоняя список через ip2net.
В противном случае используется ipset типа hash:ip, список загружается как есть. В противном случае используется ipset типа hash:ip, список загружается как есть.
Соответственно, если вам не нравится ip2net, просто уберите из каталога ip2net бинарик. Соответственно, если вам не нравится ip2net, просто уберите из каталога ip2net бинарик.
Можно внести список доменов в ipset/zapret-hosts-user-ipban.txt. Их ip адреса будут помещены Можно внести список доменов в ipset/zapret-hosts-user-ipban.txt. Их ip адреса будут помещены
в отдельный ipset "ipban". Он может использоваться для принудительного завертывания всех в отдельный ipset "ipban". Он может использоваться для принудительного завертывания всех
соединений на прозрачный proxy "redsocks" или на VPN. соединений на прозрачный proxy "redsocks" или на VPN.
@ -248,18 +248,8 @@ Debian 7 изначально содержит ядро 3.2. Оно не уме
apt-get update apt-get update
apt-get install libnetfilter-queue-dev ipset curl apt-get install libnetfilter-queue-dev ipset curl
Скопировать директорию "zapret" в /opt. Скопировать директорию "zapret" в /opt.
Собрать nfqws : Запустить /opt/zapret/install_bin.sh. Он сам определит рабочую архитектуру и скопирует куда надо все бинарики.
cd /opt/zapret/nfq АЛЬТЕРНАТИВА : зайти в tpws,nfq,ip2net,dig, в каждом выполнить make. Получите динамические бинарики под вашу ось.
make
Собрать tpws :
cd /opt/zapret/tpws
make
Собрать ip2net :
cd /opt/zapret/ip2net
make
Собрать mdig :
cd /opt/zapret/mdig
make
Скопировать /opt/zapret/init.d/debian7/zapret в /etc/init.d. Скопировать /opt/zapret/init.d/debian7/zapret в /etc/init.d.
В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила. В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила.
Там же выбрать параметр SLAVE_ETH, соответствующий названию внутреннего сетевого интерфейса. Там же выбрать параметр SLAVE_ETH, соответствующий названию внутреннего сетевого интерфейса.
@ -339,7 +329,7 @@ opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptable
Скорее всего таковой найдется. Если нет - вам придется собирать самостоятельно. Скорее всего таковой найдется. Если нет - вам придется собирать самостоятельно.
Скопировать директорию "zapret" в /opt на роутер. Скопировать директорию "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. Скопировать /opt/zapret/init.d/zapret в /etc/init.d.
В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила. В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила.
/etc/init.d/zapret enable /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. Предлагается использовать прозрачный редирект через socks5 посредством iptables+redsocks, либо iptables+iproute+vpn.
Настройка варианта с redsocks на openwrt описана в https.txt. Настройка варианта с redsocks на openwrt описана в https.txt.
Настройка варианта с iproute+wireguard - в wireguard_iproute_openwrt.txt. Настройка варианта с iproute+wireguard - в wireguard_iproute_openwrt.txt.
Почему стоит вложиться в покупку VPS Почему стоит вложиться в покупку VPS
------------------------------------ ------------------------------------