mirror of
https://github.com/bol-van/zapret.git
synced 2024-12-22 14:26:03 +00:00
114 lines
1.9 KiB
Bash
Executable File
114 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# automated script for easy uninstalling zapret
|
|
|
|
EXEDIR="$(dirname "$0")"
|
|
EXEDIR="$(cd "$EXEDIR"; pwd)"
|
|
ZAPRET_BASE=${ZAPRET_BASE:-"$EXEDIR"}
|
|
ZAPRET_RW=${ZAPRET_RW:-"$ZAPRET_BASE"}
|
|
ZAPRET_CONFIG=${ZAPRET_CONFIG:-"$ZAPRET_RW/config"}
|
|
ZAPRET_CONFIG_DEFAULT="$ZAPRET_BASE/config.default"
|
|
IPSET_DIR="$ZAPRET_BASE/ipset"
|
|
|
|
[ -f "$ZAPRET_CONFIG" ] || {
|
|
ZAPRET_CONFIG_DIR="$(dirname "$ZAPRET_CONFIG")"
|
|
[ -d "$ZAPRET_CONFIG_DIR" ] || mkdir -p "$ZAPRET_CONFIG_DIR"
|
|
cp "$ZAPRET_CONFIG_DEFAULT" "$ZAPRET_CONFIG"
|
|
}
|
|
|
|
. "$ZAPRET_CONFIG"
|
|
. "$ZAPRET_BASE/common/base.sh"
|
|
. "$ZAPRET_BASE/common/elevate.sh"
|
|
. "$ZAPRET_BASE/common/fwtype.sh"
|
|
. "$ZAPRET_BASE/common/dialog.sh"
|
|
. "$ZAPRET_BASE/common/ipt.sh"
|
|
. "$ZAPRET_BASE/common/nft.sh"
|
|
. "$ZAPRET_BASE/common/pf.sh"
|
|
. "$ZAPRET_BASE/common/installer.sh"
|
|
|
|
remove_systemd()
|
|
{
|
|
clear_ipset
|
|
service_stop_systemd
|
|
service_remove_systemd
|
|
timer_remove_systemd
|
|
nft_del_table
|
|
crontab_del
|
|
}
|
|
|
|
remove_openrc()
|
|
{
|
|
clear_ipset
|
|
service_remove_openrc
|
|
nft_del_table
|
|
crontab_del
|
|
}
|
|
|
|
remove_linux()
|
|
{
|
|
INIT_SCRIPT_SRC="$EXEDIR/init.d/sysv/zapret"
|
|
|
|
clear_ipset
|
|
|
|
echo \* executing sysv init stop
|
|
"$INIT_SCRIPT_SRC" stop
|
|
|
|
nft_del_table
|
|
crontab_del
|
|
|
|
echo
|
|
echo '!!! WARNING. YOUR UNINSTALL IS INCOMPLETE !!!'
|
|
echo 'you must manually remove zapret auto start from your system'
|
|
}
|
|
|
|
remove_openwrt()
|
|
{
|
|
OPENWRT_FW_INCLUDE=/etc/firewall.zapret
|
|
|
|
clear_ipset
|
|
service_remove_sysv
|
|
remove_openwrt_firewall
|
|
remove_openwrt_iface_hook
|
|
nft_del_table
|
|
restart_openwrt_firewall
|
|
crontab_del
|
|
remove_extra_pkgs_openwrt
|
|
echo
|
|
echo to fully remove zapret : rm -r \"$ZAPRET_BASE\"
|
|
}
|
|
|
|
remove_macos()
|
|
{
|
|
remove_macos_firewall
|
|
service_remove_macos
|
|
crontab_del
|
|
}
|
|
|
|
|
|
fix_sbin_path
|
|
check_system
|
|
require_root
|
|
|
|
[ "$SYSTEM" = "macos" ] && . "$EXEDIR/init.d/macos/functions"
|
|
|
|
case $SYSTEM in
|
|
systemd)
|
|
remove_systemd
|
|
;;
|
|
openrc)
|
|
remove_openrc
|
|
;;
|
|
linux)
|
|
remove_linux
|
|
;;
|
|
openwrt)
|
|
remove_openwrt
|
|
;;
|
|
macos)
|
|
remove_macos
|
|
;;
|
|
esac
|
|
|
|
|
|
exitp 0
|