mirror of
https://github.com/bol-van/zapret.git
synced 2025-04-19 21:42:59 +03:00
easy install on debian/ubuntu for dummies
This commit is contained in:
parent
35774c04c6
commit
5f3c334453
119
install_debian_easy.sh
Normal file
119
install_debian_easy.sh
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# automated script for easy installing zapret on debian or ubuntu based system
|
||||||
|
# system must use apt as package manager and systemd
|
||||||
|
|
||||||
|
[ $(id -u) -ne "0" ] && {
|
||||||
|
echo root is required
|
||||||
|
exec sudo $0
|
||||||
|
}
|
||||||
|
|
||||||
|
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=$EXEDIR/ipset/get_antizapret.sh
|
||||||
|
GET_IPLIST_PREFIX=$EXEDIR/ipset/get_
|
||||||
|
|
||||||
|
echo \* checking system ...
|
||||||
|
|
||||||
|
APTGET=$(which apt-get)
|
||||||
|
SYSTEMCTL=$(which systemctl)
|
||||||
|
[ ! -x "$APTGET" ] || [ ! -x "$SYSTEMCTL" ] && {
|
||||||
|
echo not debian-like system
|
||||||
|
exit 5
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo \* installing prerequisites ...
|
||||||
|
|
||||||
|
"$APTGET" update
|
||||||
|
"$APTGET" install -y --no-install-recommends ipset curl lsb-core dnsutils || {
|
||||||
|
echo could not install prerequisites
|
||||||
|
exit 6
|
||||||
|
}
|
||||||
|
|
||||||
|
[ ! -x "$LSB_INSTALL" ] || [ ! -x "$LSB_REMOVE" ] && {
|
||||||
|
echo lsb install scripts not found
|
||||||
|
exit 7
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo \* installing binaries ...
|
||||||
|
|
||||||
|
"$EXEDIR/install_bin.sh"
|
||||||
|
|
||||||
|
|
||||||
|
echo \* installing init script ...
|
||||||
|
|
||||||
|
"$SYSTEMCTL" stop zapret 2>/dev/null
|
||||||
|
|
||||||
|
script_mode=Y
|
||||||
|
[ -f "$INIT_SCRIPT" ] &&
|
||||||
|
{
|
||||||
|
cmp -s $INIT_SCRIPT $INIT_SCRIPT_SRC ||
|
||||||
|
{
|
||||||
|
echo $INIT_SCRIPT already exists and differs from $INIT_SCRIPT_SRC
|
||||||
|
echo Y = overwrite with new version
|
||||||
|
echo N = exit
|
||||||
|
echo L = leave current version and continue
|
||||||
|
read script_mode
|
||||||
|
case "${script_mode}" in
|
||||||
|
Y|y|L|l)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo aborted
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$script_mode" = "Y" ] || [ "$script_mode" = "y" ]; then
|
||||||
|
echo -n "copying : "
|
||||||
|
cp -vf $INIT_SCRIPT_SRC $INIT_SCRIPT
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo \* registering init script ...
|
||||||
|
|
||||||
|
"$LSB_REMOVE" $INIT_SCRIPT
|
||||||
|
"$LSB_INSTALL" $INIT_SCRIPT || {
|
||||||
|
echo could not register $INIT_SCRIPT with LSB
|
||||||
|
exit 20
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo \* downloading blocked ip list ...
|
||||||
|
|
||||||
|
"$GET_IPLIST" || {
|
||||||
|
echo could not download ip list
|
||||||
|
exit 25
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo \* adding crontab entry ...
|
||||||
|
|
||||||
|
CRONTMP=/tmp/cron.tmp
|
||||||
|
crontab -l >$CRONTMP
|
||||||
|
if grep -q "$GET_IPLIST_PREFIX" $CRONTMP; then
|
||||||
|
echo some entries already exist in crontab. check if this is corrent :
|
||||||
|
grep "$GET_IPLIST_PREFIX" $CRONTMP
|
||||||
|
else
|
||||||
|
echo "0 12 * * */2 $GET_IPLIST" >>$CRONTMP
|
||||||
|
crontab $CRONTMP
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f $CRONTMP
|
||||||
|
|
||||||
|
|
||||||
|
echo \* starting zapret service ...
|
||||||
|
|
||||||
|
systemctl start zapret || {
|
||||||
|
echo could not start zapret service
|
||||||
|
exit 30
|
||||||
|
}
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
25
readme.txt
25
readme.txt
@ -245,7 +245,7 @@ TPWS_OPT="--hostspell=HOST --split-http-req=method"
|
|||||||
название внутреннего сетевого интерфейса (LAN).
|
название внутреннего сетевого интерфейса (LAN).
|
||||||
|
|
||||||
Зарегистрировать init скрипт в systemd :
|
Зарегистрировать init скрипт в systemd :
|
||||||
/usr/lib/lsb/install_initd zapret
|
/usr/lib/lsb/install_initd /etc/init.d/zapret
|
||||||
|
|
||||||
Вручную первый раз получить новый список ip адресов (кроме hostlist) :
|
Вручную первый раз получить новый список ip адресов (кроме hostlist) :
|
||||||
/opt/zapret/ipset/get_antizapret.sh
|
/opt/zapret/ipset/get_antizapret.sh
|
||||||
@ -286,6 +286,29 @@ stop : systemctl stop zapret
|
|||||||
status, output messages : systemctl status zapret
|
status, output messages : systemctl status zapret
|
||||||
После изменения /etc/init.d/zapret : systemctl daemon-reload
|
После изменения /etc/init.d/zapret : systemctl daemon-reload
|
||||||
|
|
||||||
|
Пример установки на debian 8,9 ubuntu 16,18 для чайников
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
Ты простой юзер ? Не хочешь ни во что вникать, а хочешь нажать и чтобы сразу заработало ?
|
||||||
|
Пользуешься ubuntu или debian ? Тогда этот вариант для тебя.
|
||||||
|
Есть шансы, что оно заработает с минимумом усилий. Запусти терминал и в нем вбивай команды :
|
||||||
|
|
||||||
|
# sudo apt-get update
|
||||||
|
# sudo apt-get install git
|
||||||
|
# cd /opt
|
||||||
|
# sudo git clone https://github.com/bol-van/zapret
|
||||||
|
# zapret/install_debian_easy.sh
|
||||||
|
|
||||||
|
sudo попросит пароль текущего юзера для получения рута
|
||||||
|
|
||||||
|
Надоело ?
|
||||||
|
|
||||||
|
# /opt/zapret/uninstall_debian_easy.sh
|
||||||
|
# sudo rm -r /opt/zapret
|
||||||
|
|
||||||
|
Скрипты простой установки могут быть удобны и для нечайников для первоначальной установки,
|
||||||
|
после которой можно поправить настройки вручную. Так устанавливать быстрее.
|
||||||
|
|
||||||
Другие linux системы
|
Другие linux системы
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
66
uninstall_debian_easy.sh
Normal file
66
uninstall_debian_easy.sh
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# automated script for easy installing zapret on debian or ubuntu based system
|
||||||
|
# system must use apt as package manager and systemd
|
||||||
|
|
||||||
|
[ $(id -u) -ne "0" ] && {
|
||||||
|
echo root is required
|
||||||
|
exec sudo $0
|
||||||
|
}
|
||||||
|
|
||||||
|
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_
|
||||||
|
|
||||||
|
echo \* checking system ...
|
||||||
|
|
||||||
|
APTGET=$(which apt-get)
|
||||||
|
SYSTEMCTL=$(which systemctl)
|
||||||
|
[ ! -x "$APTGET" ] || [ ! -x "$SYSTEMCTL" ] && {
|
||||||
|
echo not debian-like system
|
||||||
|
exit 5
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo \* stopping service and unregistering init script with LSB ...
|
||||||
|
|
||||||
|
"$SYSTEMCTL" stop zapret
|
||||||
|
[ -f "$INIT_SCRIPT" ] && "$LSB_REMOVE" $INIT_SCRIPT
|
||||||
|
|
||||||
|
echo \* removing init script ...
|
||||||
|
|
||||||
|
script_mode=Y
|
||||||
|
[ -f "$INIT_SCRIPT" ] &&
|
||||||
|
{
|
||||||
|
cmp -s $INIT_SCRIPT $INIT_SCRIPT_SRC ||
|
||||||
|
{
|
||||||
|
echo $INIT_SCRIPT already exists and differs from $INIT_SCRIPT_SRC
|
||||||
|
echo Y = remove it
|
||||||
|
echo L = leave it
|
||||||
|
read script_mode
|
||||||
|
}
|
||||||
|
if [ "$script_mode" = "Y" ] || [ "$script_mode" = "y" ]; then
|
||||||
|
rm -vf $INIT_SCRIPT
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo \* removing crontab entry ...
|
||||||
|
|
||||||
|
CRONTMP=/tmp/cron.tmp
|
||||||
|
crontab -l >$CRONTMP
|
||||||
|
if grep -q "$GET_IPLIST_PREFIX" $CRONTMP; then
|
||||||
|
echo removing following entries from crontab :
|
||||||
|
grep "$GET_IPLIST_PREFIX" $CRONTMP
|
||||||
|
grep -v "$GET_IPLIST_PREFIX" $CRONTMP >$CRONTMP.2
|
||||||
|
crontab $CRONTMP.2
|
||||||
|
rm -f $CRONTMP 2
|
||||||
|
fi
|
||||||
|
rm -f $CRONTMP
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user