#!/bin/sh . ./dns-functions.sh IncludeFile="$1" RemoteLocation="$2" Tables="$3" rm -f "$IncludeFile" Installed4Routes="" Installed6Routes="" for Table in $Tables; do Installed4Routes="$(echo "$Installed4Routes" && ip -4 ro sh ta "$Table")" Installed6Routes="$(echo "$Installed6Routes" && ip -6 ro sh ta "$Table")" done PublicSubs="$(echo "$Installed6Routes" | \ sed -e '/^default from/!d;s/.* from \(\S\+\).*/\t\1;/g')" PrivatePrefix="\(192\.168\.\|172\.\(1[6-9]\|2[0-9]\|3[01]\)\.\|10\.\|[fF][cCdD][0-9a-fA-F]\{2\}:\)" PublicSingles="$(echo "$Installed4Routes" | \ sed -e 's/^\(\S\+\)\s.*/\t\1;/g;/^\t'"$PrivatePrefix"'\|^\t\(default\|0\.\)\|^$/d' \ && echo "$Installed6Routes" | \ sed -e 's/^\(\S\+\)\s.*/\t\1;/g;/^\t'"$PrivatePrefix"'\|^\t\(default\|::\|64:ff9b::\)\|^$/d')" { echo "acl icvpnrange {" echo " icvpnlocal;" echo "$PublicSubs" echo "$(curl -s -S -f "$RemoteLocation""external.dnsserverips" | sed -e 's/^/\t/g;s/$/;/g')" echo "$PublicSingles" echo "};" } > "$IncludeFile"