182 lines
3.7 KiB
Bash
Executable File
182 lines
3.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# /etc/rc.initial
|
|
# part of pfSense by Scott Ullrich
|
|
# Copyright (C) 2004-2011 Scott Ullrich, All rights reserved.
|
|
# originally based on m0n0wall (http://neon1.net/m0n0wall)
|
|
# Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>.
|
|
# All rights reserved.
|
|
|
|
# make sure the user can't kill us by pressing Ctrl-C,
|
|
# ctrl-z, etc.
|
|
#trap : 2
|
|
#trap : 3
|
|
#trap : 4
|
|
|
|
# If recovery console shell option has been specified
|
|
if [ -f "/tmp/donotbootup" ]; then
|
|
/usr/bin/env prompt="%B[%n@%m]%b%/(%h)||RecoveryConsoleShell: " /bin/tcsh
|
|
rm "/tmp/donotbootup"
|
|
echo "Rebooting in 5 seconds... CTRL-C to abort..."
|
|
sleep 5
|
|
/etc/rc.reboot
|
|
exit
|
|
fi
|
|
|
|
if [ -f /etc/rc.local ]; then
|
|
RCLOCALPWD=`ps awux | grep rc.local | grep -v grep | awk '{ print $2 }'`
|
|
if [ "$RCLOCALPWD" = "" ]; then
|
|
echo ">>> Launching rc.local in background..."
|
|
sh /etc/rc.local &
|
|
sleep 1
|
|
sh /etc/rc.local.running &
|
|
else
|
|
if [ -f /etc/rc.local.running ]; then
|
|
echo ">>> Launching rc.local.running in background..."
|
|
sh /etc/rc.local.running &
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
CONFIG="/cf/conf/config.xml"
|
|
WORD="https"
|
|
|
|
# Set our operating platform
|
|
PLATFORM=`cat /etc/platform`
|
|
|
|
if [ "$PLATFORM" = "jail" ]; then
|
|
exit
|
|
fi
|
|
|
|
# endless loop
|
|
while : ; do
|
|
|
|
if [ -f /tmp/ttybug ]; then
|
|
rm /tmp/ttybug
|
|
exit && exit && logout
|
|
fi
|
|
|
|
/etc/rc.banner
|
|
|
|
product=`grep product_name /etc/inc/globals.inc | cut -d'"' -f4`
|
|
hidebanner=`grep hidebanner /etc/inc/globals.inc | cut -d'"' -f4`
|
|
|
|
# Check to see if SSH is running.
|
|
if pgrep -q -a -F /var/run/sshd.pid sshd >/dev/null 2>&1; then
|
|
sshd_option="14) Disable Secure Shell (sshd)";
|
|
else
|
|
sshd_option="14) Enable Secure Shell (sshd)";
|
|
fi
|
|
|
|
for i in /var/db/pfi/capable_*; do
|
|
if [ -f $i -a ! -L /cf/conf ]; then
|
|
option98="98) Move configuration file to removable device"
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ "$PLATFORM" = "cdrom" ]; then
|
|
option99="99) Install ${product} to a hard drive, etc."
|
|
fi
|
|
|
|
# display a cheap menu
|
|
echo ""
|
|
echo " 0) Logout (SSH only) 9) pfTop"
|
|
echo " 1) Assign Interfaces 10) Filter Logs"
|
|
echo " 2) Set interface(s) IP address 11) Restart webConfigurator"
|
|
echo " 3) Reset webConfigurator password 12) ${product} Developer Shell"
|
|
echo " 4) Reset to factory defaults 13) Upgrade from console"
|
|
echo " 5) Reboot system ${sshd_option}"
|
|
echo " 6) Halt system 15) Restore recent configuration"
|
|
echo " 7) Ping host 16) Restart PHP-FPM"
|
|
echo " 8) Shell"
|
|
echo " ${option98} "
|
|
|
|
if [ "${option99}" != "" ]; then
|
|
/bin/echo "${option99}"
|
|
fi
|
|
|
|
echo
|
|
read -p "Enter an option: " opmode
|
|
echo
|
|
|
|
# see what the user has chosen
|
|
case ${opmode} in
|
|
0)
|
|
exit && exit && logout
|
|
;;
|
|
1)
|
|
/etc/rc.initial.setports
|
|
;;
|
|
2)
|
|
/etc/rc.initial.setlanip
|
|
;;
|
|
3)
|
|
/etc/rc.initial.password
|
|
;;
|
|
4)
|
|
/etc/rc.initial.defaults
|
|
;;
|
|
5)
|
|
/etc/rc.initial.reboot
|
|
;;
|
|
6)
|
|
/etc/rc.initial.halt
|
|
;;
|
|
7)
|
|
/etc/rc.initial.ping
|
|
;;
|
|
8)
|
|
/bin/tcsh
|
|
;;
|
|
9)
|
|
/usr/local/sbin/pftop
|
|
;;
|
|
10)
|
|
/usr/sbin/tcpdump -s 256 -v -S -l -n -e -ttt -i pflog0
|
|
;;
|
|
11 | 111)
|
|
/etc/rc.restart_webgui
|
|
;;
|
|
12)
|
|
/usr/local/sbin/pfSsh.php
|
|
;;
|
|
13)
|
|
php -f /etc/rc.initial.firmware_update
|
|
;;
|
|
14)
|
|
php -f /etc/rc.initial.toggle_sshd
|
|
;;
|
|
15)
|
|
/etc/rc.restore_config_backup
|
|
;;
|
|
16)
|
|
/etc/rc.php-fpm_restart
|
|
;;
|
|
98)
|
|
if [ ! -f /tmp/config_moved ]; then
|
|
/etc/rc.initial.store_config_to_removable_device
|
|
fi
|
|
;;
|
|
99)
|
|
if [ -e /dev/ukbd0 ]; then
|
|
env TERM=cons25 /scripts/lua_installer
|
|
else
|
|
/scripts/lua_installer
|
|
fi
|
|
;;
|
|
100)
|
|
if grep "$WORD" "$CONFIG"; then
|
|
links "https://localhost"
|
|
else
|
|
links "http://localhost"
|
|
fi
|
|
;;
|
|
"")
|
|
kill $PPID ; exit
|
|
;;
|
|
esac
|
|
|
|
done
|
|
|