#!/bin/sh
display=""
rules=""
nat=""
tables=""
while [ -n "${1}" ]
do
case "${1}" in
r*)
rules="YES"
;;
n*)
nat="YES"
;;
t*)
tables="YES"
;;
a*)
rules="YES"
nat="YES"
tables="YES"
;;
*)
# meow
;;
esac
shift
done
if [ -n "${rules}" -o -n "${nat}" ]
then
echo -n "=> "
[ -n "${nat}" ] && echo -n "NAT"
[ -n "${nat}" -a -n "${rules}" ] && echo -n "/"
[ -n "${rules}" ] && echo -n "Rules"
echo " <="
for anchor in $(pfctl -vvsAnchor)
do
echo "==> ${anchor}"
[ -n "${nat}" ] && pfctl -a ${anchor} -s nat
[ -n "${rules}" ] && pfctl -a ${anchor} -s rules
echo ""
done
fi
if [ -n "${tables}" ]
then
echo "=> Tables <="
for table in $(pfctl -sTable)
do
echo "==> ${table}"
pfctl -t ${table} -T show
echo ""
done
fi
exit 0
echo "=> NAT/Rules <="
for anchor in $(pfctl -vvsAnchor)
do
echo "==> ${anchor}"
pfctl -a${anchor} -snat
pfctl -a${anchor} -srules
echo ""
done
echo ""
echo "=> Tables <="
for table in $(pfctl -sTable)
do
echo "==> ${table}"
pfctl -t ${table} -T show
echo ""
done