mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-19 07:23:03 +02:00
70 lines
1.2 KiB
Bash
70 lines
1.2 KiB
Bash
#!/bin/sh
|
|
########################################################################
|
|
# Begin $rc_base/init.d/miniupnpd
|
|
#
|
|
# Description : Miniupnp daemon
|
|
#
|
|
# Authors : Michael Tremer <michael.tremer@ipfire.org>
|
|
#
|
|
########################################################################
|
|
|
|
. /etc/sysconfig/rc
|
|
. ${rc_functions}
|
|
|
|
if [ ! -e /etc/miniupnpd/id ]; then
|
|
uuidgen > /etc/miniupnpd/id
|
|
fi
|
|
|
|
UUID=$(cat /etc/miniupnpd/id)
|
|
|
|
EXT_DEV=$(cat /var/ipfire/red/iface)
|
|
EXT_IP4=$(cat /var/ipfire/red/local-ipaddress)
|
|
|
|
. /var/ipfire/ethernet/settings
|
|
|
|
for i in GREEN_ADDRESS BLUE_ADDRESS; do
|
|
[ -n "${!i}" ] && LISTEN_IP="${LISTEN_IP} -a ${!i}"
|
|
done
|
|
|
|
function flush_iptables() {
|
|
# Flush iptables to remove all entries that were left
|
|
iptables -F UPNPFW
|
|
iptables -t nat -F UPNPFW
|
|
}
|
|
|
|
case "${1}" in
|
|
start)
|
|
boot_mesg "Starting miniupnpd..."
|
|
|
|
flush_iptables
|
|
|
|
loadproc miniupnpd -f /etc/miniupnpd/miniupnpd.conf \
|
|
-i ${EXT_DEV} -o ${EXT_IP4} ${LISTEN_IP} \
|
|
-u ${UUID}
|
|
;;
|
|
|
|
stop)
|
|
boot_mesg "Stopping miniupnpd..."
|
|
killproc miniupnpd
|
|
|
|
flush_iptables
|
|
;;
|
|
|
|
restart)
|
|
${0} stop
|
|
sleep 1
|
|
${0} start
|
|
;;
|
|
|
|
status)
|
|
statusproc miniupnpd
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: ${0} {start|stop|restart|status}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# End $rc_base/init.d/miniupnpd
|