#!/bin/sh
lanDnsFile=''
routerDns=''
piDns=''
routerIsDNS=-1
piIsDNS=-1
findLanDns () {
lanDnsFile='/etc/init.d/net-lan'
routerDns='option dns $($CONFIG get lan_ipaddr)'
piDns='option dns 10.1.1.2'
dnsFuncArg='option dns'
grep -q "$routerDns" "$lanDnsFile"
routerIsDNS=$?
grep -q "$piDns" "$lanDnsFile"
piIsDNS=$?
grep -q "$dnsFuncArg" "$lanDnsFile"
isFuncArg=$?
}
changeLanDns () {
local currentDns="$1"
local newDns="$2"
sed -i '1,/'"$currentDns"'/s/'"$currentDns"'.*/'"$newDns"'/' "$lanDnsFile"
}
echo -e "\n \xC2\xBB Select An Option To Set As LAN DNS Server [1|2|3]"
echo -e " 1 \xE2\xAE\x9E RP4"
echo -e " 2 \xE2\xAE\x9E R7800"
echo -e " 3 \xE2\xAE\x9E Exit"
read -p " " argument;
findLanDns
case $argument in
1)
if [ $routerIsDNS -eq 0 ]; then
changeLanDns "$routerDns" "$piDns"
echo -e " \xC2\xBB |RP4| Set As New Lan Dns Server \xC2\xBB Reboot Router\n"
elif [ $piIsDNS -eq 0 ]; then
echo -e " \xC2\xBB RP4 Is Already Lan Dns Server\n"
elif [ $isFuncArg -eq 0 ]; then
changeLanDns "$dnsFuncArg" "$piDns"
echo -e " \xC2\xBB |RP4| Set As New Lan Dns Server \xC2\xBB Reboot Router\n"
else
echo -e " \xC2\xBB Issue in |/etc/init.d/net-lan| \xC2\xBB Unable To Set |option dns ...|\n"
fi
;;
2)
if [ $piIsDNS -eq 0 ]; then
changeLanDns "$piDns" "$routerDns"
echo -e " \xC2\xBB |R7800| Set As New Lan Dns Server \xC2\xBB Reboot Router\n"
elif [ $routerIsDNS -eq 0 ]; then
echo -e " \xC2\xBB R7800 Is Already Lan Dns Server\n"
elif [ $isFuncArg -eq 0 ]; then
changeLanDns "$dnsFuncArg" "$routerDns"
echo -e " \xC2\xBB |R7800| Set As New Lan Dns Server \xC2\xBB Reboot Router\n"
else
echo -e " \xC2\xBB Issue in |/etc/init.d/net-lan| \xC2\xBB Unable To Set |option dns ...|\n"
fi
;;
3)
echo -e " \xC2\xBB Nothing Changed \xC2\xBB Exiting ...\n"
exit 1
;;
*)
echo -e " \xC2\xBB Invalid Option \xC2\xBB Exiting ...\n"
exit 1
esac