opensuse compat

This commit is contained in:
bolvan 2019-05-05 15:53:36 +03:00
parent 47cbfdbb19
commit e25fbe46d9
4 changed files with 30 additions and 13 deletions

View File

@ -67,12 +67,17 @@ TPWS_OPT_BASE="--port=$TPPORT --user=$TPWS_USER --bind-addr=127.0.0.1"
# exit script on any error # exit script on any error
set -e set -e
exists()
{
which $1 >/dev/null 2>/dev/null
}
prepare_tpws() prepare_tpws()
{ {
# $TPWS_USER is required to prevent redirection of the traffic originating from TPWS itself # $TPWS_USER is required to prevent redirection of the traffic originating from TPWS itself
# otherwise infinite loop will occur # otherwise infinite loop will occur
# also its good idea not to run tpws as root # also its good idea not to run tpws as root
id -u $TPWS_USER >/dev/null 2>/dev/null || adduser --no-create-home --system --shell /bin/false $TPWS_USER id -u $TPWS_USER >/dev/null 2>/dev/null || useradd --no-create-home --system --shell /bin/false $TPWS_USER
# otherwise linux kernel will treat 127.0.0.1 as "martian" ip and refuse routing to it # otherwise linux kernel will treat 127.0.0.1 as "martian" ip and refuse routing to it
# NOTE : kernels <3.6 do not have this feature. consider upgrading or change DNAT to REDIRECT and do not bind to 127.0.0.1 # NOTE : kernels <3.6 do not have this feature. consider upgrading or change DNAT to REDIRECT and do not bind to 127.0.0.1
for iface in /proc/sys/net/ipv4/conf/*; do sysctl -qw net.ipv4.conf.$(basename $iface).route_localnet=1; done for iface in /proc/sys/net/ipv4/conf/*; do sysctl -qw net.ipv4.conf.$(basename $iface).route_localnet=1; done
@ -134,10 +139,6 @@ fw_nfqws_del_post()
true true
} }
exists()
{
which $1 >/dev/null 2>/dev/null
}
JOBCT=1 JOBCT=1
run_daemon() run_daemon()
{ {

View File

@ -24,11 +24,12 @@ whichq()
SCRIPT=$(readlink -f $0) SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT) EXEDIR=$(dirname $SCRIPT)
ZAPRET_BASE=/opt/zapret ZAPRET_BASE=/opt/zapret
INIT_SCRIPT_SRC=$EXEDIR/init.d/debian/zapret INIT_SCRIPT_SRC=$EXEDIR/init.d/sysv/zapret
INIT_SCRIPT=/etc/init.d/zapret INIT_SCRIPT=/etc/init.d/zapret
GET_IPLIST=$EXEDIR/ipset/get_antizapret.sh GET_IPLIST=$EXEDIR/ipset/get_antizapret.sh
GET_IPLIST_PREFIX=$EXEDIR/ipset/get_ GET_IPLIST_PREFIX=$EXEDIR/ipset/get_
SYSTEMD_SYSV_GENERATOR=/lib/systemd/system-generators/systemd-sysv-generator SYSTEMD_SYSV_GENERATOR=/lib/systemd/system-generators/systemd-sysv-generator
SYSTEMD_SYSV_GENERATOR2=/usr$SYSTEMD_SYSV_GENERATOR
exitp() exitp()
{ {
@ -46,7 +47,7 @@ SYSTEMCTL=$(whichq systemctl)
echo not systemd based system echo not systemd based system
exitp 5 exitp 5
} }
[ -x "$SYSTEMD_SYSV_GENERATOR" ] || { [ -x "$SYSTEMD_SYSV_GENERATOR" ] || [ -x "$SYSTEMD_SYSV_GENERATOR2" ] || {
echo systemd is present but it does not support sysvinit compatibility echo systemd is present but it does not support sysvinit compatibility
echo $SYSTEMD_SYSV_GENERATOR is required echo $SYSTEMD_SYSV_GENERATOR is required
exitp 5 exitp 5
@ -93,6 +94,7 @@ else
APTGET=$(whichq apt-get) APTGET=$(whichq apt-get)
YUM=$(whichq yum) YUM=$(whichq yum)
PACMAN=$(whichq pacman) PACMAN=$(whichq pacman)
ZYPPER=$(whichq zypper)
if [ -x "$APTGET" ] ; then if [ -x "$APTGET" ] ; then
"$APTGET" update "$APTGET" update
"$APTGET" install -y --no-install-recommends ipset curl dnsutils || { "$APTGET" install -y --no-install-recommends ipset curl dnsutils || {
@ -110,6 +112,11 @@ else
echo could not install prerequisites echo could not install prerequisites
exitp 6 exitp 6
} }
elif [ -x "$ZYPPER" ] ; then
"$ZYPPER" --non-interactive install ipset curl || {
echo could not install prerequisites
exitp 6
}
else else
echo supported package manager not found echo supported package manager not found
echo you must manually install : ipset curl echo you must manually install : ipset curl

View File

@ -243,7 +243,7 @@ TPWS_OPT="--hostspell=HOST --split-http-req=method"
АЛЬТЕРНАТИВА : зайти в tpws,nfq,ip2net,mdig, в каждом выполнить make. Получите динамические бинарики под вашу ось. АЛЬТЕРНАТИВА : зайти в tpws,nfq,ip2net,mdig, в каждом выполнить make. Получите динамические бинарики под вашу ось.
Скопировать скрипт запуска : Скопировать скрипт запуска :
cp /opt/zapret/init.d/debian/zapret /etc/init.d cp /opt/zapret/init.d/sysv/zapret /etc/init.d
В /etc/init.d/zapret настроить параметры согласно разделу "Выбор режима в init скрипте". В /etc/init.d/zapret настроить параметры согласно разделу "Выбор режима в init скрипте".
Если ваша система - роутер, то раскомментировать параметр SLAVE_ETH и вписать в него Если ваша система - роутер, то раскомментировать параметр SLAVE_ETH и вписать в него
@ -325,13 +325,22 @@ Centos с 7 версии и более-менее новые федоры пос
yum install -y curl ipset dnsutils git daemonize yum install -y curl ipset dnsutils git daemonize
Далее все аналогично debian. Далее все аналогично debian.
Инит скрипт init.d/debian/zapret адаптирован под условия новых centos и fedora.
Пример установки на debian-подобную систему, centos 7+, fedora для чайников OpenSUSE
--------------------------------------------------------------------------- --------
Новые OpenSUSE основаны на systemd и менеджере пакетов zypper.
Установить пакеты :
zypper install curl ipset
Далее все аналогично debian.
Простая установка
-----------------
Ты простой юзер ? Не хочешь ни во что вникать, а хочешь нажать и чтобы сразу заработало ? Ты простой юзер ? Не хочешь ни во что вникать, а хочешь нажать и чтобы сразу заработало ?
Пользуешься ubuntu 16+, debian 8+, centos 7+, fedora ? Тогда этот вариант для тебя. Пользуешься ubuntu, debian , centos , fedora, opensuse ? Тогда этот вариант для тебя.
Есть шансы, что оно заработает с минимумом усилий. Запусти терминал и в нем вбивай команды : Есть шансы, что оно заработает с минимумом усилий. Запусти терминал и в нем вбивай команды :
# su # su

View File

@ -17,7 +17,7 @@ exists()
SCRIPT=$(readlink -f $0) SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT) EXEDIR=$(dirname $SCRIPT)
INIT_SCRIPT_SRC=$EXEDIR/init.d/debian/zapret INIT_SCRIPT_SRC=$EXEDIR/init.d/sysv/zapret
INIT_SCRIPT=/etc/init.d/zapret INIT_SCRIPT=/etc/init.d/zapret
GET_IPLIST_PREFIX=$EXEDIR/ipset/get_ GET_IPLIST_PREFIX=$EXEDIR/ipset/get_