49 lines
589 B
Bash
49 lines
589 B
Bash
#!/bin/sh
|
|
|
|
list_ipset() {
|
|
skip=1
|
|
while read -r line; do
|
|
if [ "$line" = "Members:" ]; then skip=0; continue; fi;
|
|
[ "$skip" = "1" ] && continue
|
|
echo "$line"
|
|
done
|
|
}
|
|
|
|
case "$1" in
|
|
dhcp-leases)
|
|
cat /tmp/dhcp.leases
|
|
;;
|
|
|
|
ipset-add)
|
|
ipset add "$2" "$3"
|
|
;;
|
|
|
|
ipset-del)
|
|
ipset del "$2" "$3"
|
|
;;
|
|
|
|
# ipset_list)
|
|
# ipset list "$2" | list_ipset
|
|
# ;;
|
|
|
|
ipset-list-all)
|
|
shift
|
|
while [ -n "$1" ]; do
|
|
echo ">$1"
|
|
skip=1
|
|
ipset list "$1" | list_ipset
|
|
shift
|
|
done
|
|
;;
|
|
|
|
# rule-show)
|
|
# ;;
|
|
#
|
|
# route-show)
|
|
# ;;
|
|
|
|
*)
|
|
2>&1 echo "error: invalid command"
|
|
exit 1
|
|
;;
|
|
esac |