diff --git a/init.d/debian/zapret b/init.d/sysv/zapret similarity index 99% rename from init.d/debian/zapret rename to init.d/sysv/zapret index ef15323..bda9268 100755 --- a/init.d/debian/zapret +++ b/init.d/sysv/zapret @@ -67,12 +67,17 @@ TPWS_OPT_BASE="--port=$TPPORT --user=$TPWS_USER --bind-addr=127.0.0.1" # exit script on any error set -e +exists() +{ + which $1 >/dev/null 2>/dev/null +} + prepare_tpws() { # $TPWS_USER is required to prevent redirection of the traffic originating from TPWS itself # otherwise infinite loop will occur # 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 # 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 @@ -134,10 +139,6 @@ fw_nfqws_del_post() true } -exists() -{ - which $1 >/dev/null 2>/dev/null -} JOBCT=1 run_daemon() { diff --git a/install_easy.sh b/install_easy.sh index 51cceab..9477204 100755 --- a/install_easy.sh +++ b/install_easy.sh @@ -24,11 +24,12 @@ whichq() SCRIPT=$(readlink -f $0) EXEDIR=$(dirname $SCRIPT) 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 GET_IPLIST=$EXEDIR/ipset/get_antizapret.sh GET_IPLIST_PREFIX=$EXEDIR/ipset/get_ SYSTEMD_SYSV_GENERATOR=/lib/systemd/system-generators/systemd-sysv-generator +SYSTEMD_SYSV_GENERATOR2=/usr$SYSTEMD_SYSV_GENERATOR exitp() { @@ -46,7 +47,7 @@ SYSTEMCTL=$(whichq systemctl) echo not systemd based system 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_SYSV_GENERATOR is required exitp 5 @@ -93,6 +94,7 @@ else APTGET=$(whichq apt-get) YUM=$(whichq yum) PACMAN=$(whichq pacman) + ZYPPER=$(whichq zypper) if [ -x "$APTGET" ] ; then "$APTGET" update "$APTGET" install -y --no-install-recommends ipset curl dnsutils || { @@ -110,6 +112,11 @@ else echo could not install prerequisites exitp 6 } + elif [ -x "$ZYPPER" ] ; then + "$ZYPPER" --non-interactive install ipset curl || { + echo could not install prerequisites + exitp 6 + } else echo supported package manager not found echo you must manually install : ipset curl diff --git a/readme.txt b/readme.txt index 3326d85..12e9d8f 100644 --- a/readme.txt +++ b/readme.txt @@ -243,7 +243,7 @@ TPWS_OPT="--hostspell=HOST --split-http-req=method" АЛЬТЕРНАТИВА : зайти в 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 скрипте". Если ваша система - роутер, то раскомментировать параметр SLAVE_ETH и вписать в него @@ -325,13 +325,22 @@ Centos с 7 версии и более-менее новые федоры пос yum install -y curl ipset dnsutils git daemonize Далее все аналогично 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 diff --git a/uninstall_easy.sh b/uninstall_easy.sh index 8fcbee5..8871c00 100755 --- a/uninstall_easy.sh +++ b/uninstall_easy.sh @@ -17,7 +17,7 @@ exists() SCRIPT=$(readlink -f $0) 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 GET_IPLIST_PREFIX=$EXEDIR/ipset/get_