1
0
mirror of https://github.com/bol-van/zapret.git synced 2025-04-25 16:32:57 +03:00

remove lsb-core. its not needed actually and monstrous

This commit is contained in:
bolvan 2019-05-05 14:32:00 +03:00
parent dc93c8558f
commit fb1f983a45
4 changed files with 41 additions and 32 deletions

@ -138,9 +138,10 @@ exists()
{
which $1 >/dev/null 2>/dev/null
}
JOBCT=1
run_daemon()
{
# $1 - daemon string id or number. can use 1,2,3,...
# $1 - daemon number : 1,2,3,...
# $2 - daemon
# $3 - daemon args
# use $PIDDIR/$DAEMONBASE$1.pid as pidfile
@ -154,9 +155,10 @@ run_daemon()
daemonize -p "$PIDFILE" "$2" $3
else
nohup "$2" $3 >/dev/null 2>/dev/null &
PID=$(jobs -p %1)
PID=$(jobs -p %$JOBCT)
if [ -n "$PID" ]; then
echo $PID >$PIDFILE
let JOBCT=$JOBCT+1
else
echo could not start daemon $1 : $2 $3
fi
@ -164,7 +166,7 @@ run_daemon()
}
stop_daemon()
{
# $1 - daemon string id or number. can use 1,2,3,...
# $1 - daemon number : 1,2,3,...
# $2 - daemon
# use $PIDDIR/$DAEMONBASE$1.pid as pidfile
local DAEMONBASE=$(basename $2)

@ -2,7 +2,7 @@
# automated script for easy installing zapret on systemd based system
# all required tools must be already present or system must use apt as package manager
# if its not apt or yum based system then manually install ipset, curl, lsb-core
# if its not apt or yum based system then manually install ipset, curl
exists()
{
@ -24,12 +24,11 @@ whichq()
SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT)
ZAPRET_BASE=/opt/zapret
LSB_INSTALL=/usr/lib/lsb/install_initd
LSB_REMOVE=/usr/lib/lsb/remove_initd
INIT_SCRIPT_SRC=$EXEDIR/init.d/debian/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
exitp()
{
@ -43,10 +42,15 @@ exitp()
echo \* checking system ...
SYSTEMCTL=$(whichq systemctl)
[ ! -x "$SYSTEMCTL" ] && {
[ -x "$SYSTEMCTL" ] || {
echo not systemd based system
exitp 5
}
[ -x "$SYSTEMD_SYSV_GENERATOR" ] || {
echo systemd is present but it does not support sysvinit compatibility
echo $SYSTEMD_SYSV_GENERATOR is required
exitp 5
}
echo \* checking location ...
@ -81,33 +85,36 @@ echo running from $EXEDIR
echo \* checking prerequisites ...
if [ -x "$LSB_INSTALL" ] && [ -x "$LSB_REMOVE" ] && exists ipset && exists curl ; then
if exists ipset && exists curl ; then
echo everything is present
else
echo \* installing prerequisites ...
APTGET=$(whichq apt-get)
YUM=$(whichq yum)
PACMAN=$(whichq pacman)
if [ -x "$APTGET" ] ; then
"$APTGET" update
"$APTGET" install -y --no-install-recommends ipset curl lsb-core dnsutils || {
"$APTGET" install -y --no-install-recommends ipset curl dnsutils || {
echo could not install prerequisites
exitp 6
}
elif [ -x "$YUM" ] ; then
"$YUM" -y install curl ipset redhat-lsb-core daemonize || {
"$YUM" -y install curl ipset daemonize || {
echo could not install prerequisites
exitp 6
}
elif [ -x "$PACMAN" ] ; then
"$PACMAN" -Syy
"$PACMAN" --noconfirm -S ipset curl || {
echo could not install prerequisites
exitp 6
}
else
echo supported package manager not found
echo you must manually install : ipset curl lsb-core
echo you must manually install : ipset curl
exitp 5
fi
[ ! -x "$LSB_INSTALL" ] || [ ! -x "$LSB_REMOVE" ] && {
echo lsb install scripts not found
exitp 7
}
fi
echo \* installing binaries ...
@ -148,9 +155,8 @@ fi
echo \* registering init script ...
"$LSB_REMOVE" $INIT_SCRIPT
"$LSB_INSTALL" $INIT_SCRIPT || {
echo could not register $INIT_SCRIPT with LSB
"$SYSTEMCTL" enable zapret || {
echo could not register $INIT_SCRIPT with systemd
exitp 20
}

@ -232,7 +232,7 @@ TPWS_OPT="--hostspell=HOST --split-http-req=method"
Установить пакеты :
apt-get update
apt-get install ipset curl lsb-core dnsutils git
apt-get install ipset curl dnsutils git
Скопировать директорию zapret в /opt или скачать через git :
cd /opt
@ -249,8 +249,11 @@ TPWS_OPT="--hostspell=HOST --split-http-req=method"
Если ваша система - роутер, то раскомментировать параметр SLAVE_ETH и вписать в него
название внутреннего сетевого интерфейса (LAN).
Зарегистрировать init скрипт в systemd :
/usr/lib/lsb/install_initd /etc/init.d/zapret
Принять изменения скрипта в systemd :
systemctl daemon-reload
Включить автозапуск службы :
systemctl enable zapret
В зависимости от выбранного в init скрипте MODE :
@ -288,7 +291,8 @@ MODE=custom
Иные MODE :
Ничего делать не нужно
Запустить службу : systemctl start zapret
Запустить службу :
systemctl start zapret
Попробовать зайти куда-нибудь : http://ej.ru, http://kinozal.tv, http://grani.ru.
Если не работает, то остановить службу zapret, добавить правило в iptables вручную,
@ -303,12 +307,13 @@ MODE=custom
Шпаргалка по управлению службой :
install : /usr/lib/lsb/install_initd zapret
remove : /usr/lib/lsb/remove_initd zapret
enable auto start : systemctl enable zapret
disable auto start : systemctl disable zapret
start : sytemctl start zapret
stop : systemctl stop zapret
status, output messages : systemctl status zapret
После изменения /etc/init.d/zapret : systemctl daemon-reload
delete service : systemctl disable zapret ; systemctl stop zapret ; rm /etc/init.d/zapret
Centos 7+, Fedora
-----------------
@ -317,7 +322,7 @@ Centos с 7 версии и более-менее новые федоры пос
В качестве пакетного менеджера используется yum.
Установить пакеты :
yum install -y curl ipset redhat-lsb-core daemonize
yum install -y curl ipset daemonize
Далее все аналогично debian.
Инит скрипт init.d/debian/zapret адаптирован под условия новых centos и fedora.
@ -348,8 +353,6 @@ Centos с 7 версии и более-менее новые федоры пос
Эти скрипты будут работать и на других системах на базе systemd при условии, что
уже есть следующие программы :
/usr/lib/lsb/install_initd
/usr/lib/lsb/remove_initd
ipset
curl

@ -17,8 +17,6 @@ exists()
SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT)
LSB_INSTALL=/usr/lib/lsb/install_initd
LSB_REMOVE=/usr/lib/lsb/remove_initd
INIT_SCRIPT_SRC=$EXEDIR/init.d/debian/zapret
INIT_SCRIPT=/etc/init.d/zapret
GET_IPLIST_PREFIX=$EXEDIR/ipset/get_
@ -36,16 +34,16 @@ exitp()
echo \* checking system ...
SYSTEMCTL=$(which systemctl)
[ ! -x "$SYSTEMCTL" ] && {
[ -x "$SYSTEMCTL" ] || {
echo not systemd based system
exitp 5
}
echo \* stopping service and unregistering init script with LSB ...
echo \* stopping service and unregistering init script
"$SYSTEMCTL" disable zapret
"$SYSTEMCTL" stop zapret
[ -f "$INIT_SCRIPT" ] && "$LSB_REMOVE" $INIT_SCRIPT
echo \* removing init script ...