Firewall-SOSDG/tools/configure-firewall

69 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# By Brielle Bruns <bruns@2mbit.com>
# URL: http://www.sosdg.org/freestuff/firewall
# License: GPLv3
#
# Copyright (C) 2009 - 2010 Brielle Bruns
# Copyright (C) 2009 - 2010 The Summit Open Source Development Group
#
# This program 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 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
CONFIGTOOL_VER="0.1"
WHIPTAIL="/usr/bin/whiptail"
TMPCONFIG=`mktemp`
WHICH="/usr/bin/which"
AUTOCONFIG_BIN="iptables:IPTABLES ip6tables:IP6TABLES modprobe:MODPROBE"
# These are string variables
WELCOME_HEAD="Welcome to the Firewall/SOSDG Config Tool v${CONFIGTOOL_VER}"
WELCOME_BODY="This tool is a quick way to do a basic setup of the firewall script.\nThe results of this tool will be output to a file of your choosing at the end of configuration.\nContinue?"
AUTOCONFIG_PATHS="Would you like to try to configure paths of important programs automatically?"
if [ ! -x $WHIPTAIL ]; then
echo "Error: please make sure you have whiptail installed, and the WHIPTAIL variable
is set correctly in the tool."
rm -f "$TMPCONFIG"
exit 1
fi
if ! ( $WHIPTAIL --yesno "${WELCOME_HEAD}\n${WELCOME_BODY}" 12 70 --no-button "Quit" ); then
echo "Quitting config tool."
rm -f "$TMPCONFIG"
exit 1
fi
if [ -w $TMPCONFIG ]; then
echo "# Automatically generated config file, please check before actually using." >"${TMPCONFIG}"
else
echo "Error: could not write tmp file for config generation!"
exit 1
fi
if ( $WHIPTAIL --yesno "${AUTOCONFIG_PATHS}" 5 40 ); then
for i in $AUTOCONFIG_BIN; do
IFS_OLD=${IFS};IFS=:
BIN_PATH=($i)
IFS=${IFS_OLD}
if ( $WHICH $BIN_PATH[0] ); then
BIN_FULL="`${WHICH} ${BIN_PATH[0]}`"
echo "${BIN_PATH[1]}="${BIN_PATH[0]}" >>${TMPCONFIG}
fi
done
#
#else
fi