26 lines
843 B
Bash
Executable File
26 lines
843 B
Bash
Executable File
#!/bin/sh
|
|
|
|
. ./dns-functions.sh
|
|
|
|
IncludeFile="$1"
|
|
RemoteLocation="$2"
|
|
|
|
rm -f "$IncludeFile"
|
|
|
|
InstalledRoutes="$(echo "dump" | nc ::1 33123 | \
|
|
sed -e '/\(add route .* installed yes\|add xroute\)/!d')"
|
|
PublicSubs="$(echo "$InstalledRoutes" | \
|
|
sed -e '/\( from ::\/0\| from 0\.0\.0\.0\/0\)/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 "$InstalledRoutes" | \
|
|
sed -e '/\( from ::\/0\| from 0\.0\.0\.0\/0\)/!d;s/.* prefix \(\S\+\) .*/\1/g;'" \
|
|
"'/^'"$PrivatePrefix"'/d;/^\(0\.\|::\|64:ff9b::\)/d;s/^/\t/g;s/$/;/g')"
|
|
|
|
{
|
|
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" |