1#!/bin/sh 2# use STUN to find the external IP. 3 4servers="default stun.l.google.com:19302 stun.iptel.org" 5prefixes="wan0_ wan1_" 6 7which ministun >/dev/null || exit 1 8 9for prefix in $prefixes; do 10 primary=$(nvram get ${prefix}primary) 11 [ "$primary" = "1" ] && break 12done 13[ "$primary" = "1" ] || exit 1 14 15for server in $servers; do 16 [ "$server" = "default" ] && server= 17 result=$(ministun -t 1000 -c 1 $server 2>/dev/null) 18 [ $? -eq 0 ] && break 19 result= 20done 21[ -z "$result" ] && state=1 || state=2 22nvram set ${prefix}realip_state=$state 23nvram set ${prefix}realip_ip=$result 24 25[ -z "$result" ] && echo "Failed." || echo "External IP is $result." 26