mirror of
https://github.com/pi-hole/pi-hole.git
synced 2024-12-01 02:23:21 +00:00
34ff9b309a
Why? For the glory of satan of course... Also, many people tends to use their PIs for multiple purposes. As mail servers, webpage hosting etc. Usually in that cases nginx is used as far more powerful alternative to lighttpd, and fair more lighter than apache. This patch allows them to unleash the power of pi-hole without too much hacking. Also, I'm the one of those people, and needed it ;).
81 lines
2.7 KiB
Bash
81 lines
2.7 KiB
Bash
#!/usr/bin/env bash
|
|
# Completely uninstalls the Pi-hole
|
|
# (c) 2015 by Jacob Salmela
|
|
# This file is part of Pi-hole.
|
|
#
|
|
# Pi-hole is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# Must be root to uninstall
|
|
if [[ $EUID -eq 0 ]];then
|
|
echo "You are root."
|
|
else
|
|
echo "sudo will be used for the install."
|
|
# Check if it is actually installed
|
|
# If it isn't, exit because the unnstall cannot complete
|
|
if [[ $(dpkg-query -s sudo) ]];then
|
|
export SUDO="sudo"
|
|
else
|
|
echo "Please install sudo or run this as root."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
|
|
######### SCRIPT ###########
|
|
if [ $(dpkg-query -W -f='${Status}' lighttpd 2>/dev/null | grep -c "ok installed") -eq 1 ]; then
|
|
$SUDO apt-get -y remove --purge lighttpd php5-cli
|
|
fi
|
|
if [ $(dpkg-query -W -f='${Status}' nginx 2>/dev/null | grep -c "ok installed") -eq 1 ]; then
|
|
$SUDO apt-get -y remove --purge nginx php5-fpm
|
|
fi
|
|
|
|
$SUDO apt-get -y remove --purge dnsutils bc toilet
|
|
$SUDO apt-get -y remove --purge dnsmasq
|
|
$SUDO apt-get -y remove --purge php5-common php5
|
|
$SUDO apt-get -y autoremove --purge
|
|
|
|
# Only web directories/files that are created by pihole should be removed.
|
|
echo "Removing the Pi-hole Web server files..."
|
|
$SUDO rm -rf /var/www/html/admin
|
|
$SUDO rm -rf /var/www/html/pihole
|
|
$SUDO rm /var/www/html/index.lighttpd.orig
|
|
$SUDO rm /var/www/html/index.nginx-debian.orig
|
|
|
|
# If the web directory is empty after removing these files, then the parent html folder can be removed.
|
|
if [[ ! "$(ls -A /var/www/html)" ]]; then
|
|
$SUDO rm -rf /var/www/html
|
|
fi
|
|
|
|
echo "Removing dnsmasq config files..."
|
|
$SUDO rm /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
|
|
|
|
# Attempt to preserve backwards compatibility with older versions
|
|
# to guarantee no additional changes were made to /etc/crontab after
|
|
# the installation of pihole, /etc/crontab.pihole should be permanently
|
|
# preserved.
|
|
if [[ -f /etc/crontab.orig ]]; then
|
|
echo "Initial Pi-hole cron detected. Restoring the default system cron..."
|
|
$SUDO mv /etc/crontab /etc/crontab.pihole
|
|
$SUDO mv /etc/crontab.orig /etc/crontab
|
|
$SUDO service cron restart
|
|
fi
|
|
|
|
# Attempt to preserve backwards compatibility with older versions
|
|
if [[ -f /etc/cron.d/pihole ]];then
|
|
echo "Removing cron.d/pihole..."
|
|
$SUDO rm /etc/cron.d/pihole
|
|
fi
|
|
|
|
echo "Removing config files and scripts..."
|
|
$SUDO rm /etc/dnsmasq.conf
|
|
$SUDO rm -rf /etc/lighttpd/
|
|
$SUDO rm -rf /etc/nginx/
|
|
$SUDO rm /var/log/pihole.log
|
|
$SUDO rm /usr/local/bin/gravity.sh
|
|
$SUDO rm /usr/local/bin/chronometer.sh
|
|
$SUDO rm /usr/local/bin/whitelist.sh
|
|
$SUDO rm /usr/local/bin/piholeLogFlush.sh
|
|
$SUDO rm -rf /etc/pihole/
|