#!/bin/sh . /www/cgi-bin/functions.sh lock_cgiwait #totalnum=$(ls /tmp/configs/static_router* | wc -l) totalnum=`nvram show | grep ^static_router | wc -l` select_editnum=$($nvram get router_eidtnum) info_get_wanproto=$($nvram get wan_proto) info_get_wanip="0.0.0.0" info_get_wanmask="0.0.0.0" wan_hwifname=$($nvram get wan_hwifname) if [ "$info_get_wanproto" = "dhcp" ];then info_get_wanip=$($nvram get wan_dhcp_ipaddr) info_get_wanmask=$($nvram get wan_dhcp_netmask) elif [ "$info_get_wanproto" = "static" ];then info_get_wanip=$($nvram get wan_ipaddr) info_get_wanmask=$($nvram get wan_netmask) elif [ "$info_get_wanproto" = "bigpond" ];then info_get_wanip=$($nvram get wan_dhcp_ipaddr) info_get_wanmask=$($nvram get wan_dhcp_netmask) elif [ "$info_get_wanproto" = "pptp" ];then pptp_status=/tmp/ppp/ppp0-status pptp_get_wan_assign=$($nvram get wan_pptp_wan_assign) pptp_alive=0 if [ -f $pptp_status ]; then status=$(cat $pptp_status) if [ "x$status" = "x1" ]; then pptp_alive=1 fi fi eth1_value=`ifconfig | grep ^$wan_hwifname` if [ "x$eth1_value" != "x" ];then pptp_eth1_wanip=`ifconfig $wan_hwifname | sed 2p -n | awk '/inet/{print $2}' | awk -F: '{print $2}'` pptp_eth1_wanmask=`ifconfig $wan_hwifname | sed 2p -n | awk '/inet/{print $4}' | awk -F: '{print $2}'` else pptp_eth1_wanip="0.0.0.0" pptp_eth1_wanmask="0.0.0.0" fi if [ "$pptp_alive" = "1" ];then ppp0_value=`ifconfig | grep ^ppp0` if [ "x$ppp0_value" != "x" ];then info_get_wanip=`ifconfig ppp0 | sed 2p -n | awk '/inet/{print $2}' | awk -F: '{print $2}'` info_get_wanmask="255.255.255.255" elif [ "$pptp_get_wan_assign" = "0" ];then info_get_wanip="0.0.0.0" info_get_wanmask="0.0.0.0" else info_get_wanip=$($nvram get wan_pptp_local_ip) info_get_wanmask="0.0.0.0" fi else info_get_wanip="0.0.0.0" info_get_wanmask="0.0.0.0" fi elif [ "$info_get_wanproto" = "pppoe" ];then pppoe_status=/tmp/ppp/ppp0-status pppoe_get_wan_assign=$($nvram get wan_pppoe_wan_assign) pppoe_alive=0 pppoe_eth1_wanmask="0.0.0.0" if [ "$pppoe_netmask" != "0.0.0.0" ] && [ "$pppoe_netmask" != "..." ]; then dyn_pppoe=1 fi if [ -f $pppoe_status ]; then status=$(cat $pppoe_status) if [ "x$status" = "x1" ]; then pppoe_alive=1 fi fi if [ "$dyn_pppoe" = "1" ]; then eth1_value=`ifconfig | grep ^$wan_hwifname` if [ "x$eth1_value" != "x" ];then pppoe_eth1_wanip=`ifconfig $wan_hwifname | sed 2p -n | awk '/inet/{print $2}' | awk -F: '{print $2}'` pppoe_eth1_wanmask=`ifconfig $wan_hwifname | sed 2p -n | awk '/inet/{print $4}' | awk -F: '{print $2}'` fi fi if [ "$pppoe_alive" = "1" ];then ppp0_value=`ifconfig | grep ^ppp0` if [ "x$ppp0_value" != "x" ];then info_get_wanip=`ifconfig ppp0 | sed 2p -n | awk '/inet/{print $2}' | awk -F: '{print $2}'` info_get_wanmask="255.255.255.255" elif [ "$pppoe_get_wan_assign" = "0" ];then info_get_wanip="0.0.0.0" info_get_wanmask="0.0.0.0" else info_get_wanip=$($nvram get wan_pppoe_ip) info_get_wanmask="255.255.255.255" fi elif [ "$pppoe_get_wan_assign" = "1" ];then info_get_wanip=$($nvram get wan_pppoe_ip) info_get_wanmask="255.255.255.255" else info_get_wanip="0.0.0.0" info_get_wanmask="0.0.0.0" fi fi info_get_lanip=$($nvram get lan_ipaddr) info_get_lanmask=$($nvram get lan_netmask) print_cgi_header print_http_header "/funcs.js" "/str_router.js" print_body_header "_STR_routes" "STR_router.html" "st_router_edit" print_table_header "" echo "" cat < var totalnum=$totalnum; var select_editnum=$select_editnum; function loadvalue() { var routerArray=routerArray$select_editnum; var cf=document.forms[0]; if(totalnum!=0) { var each_info=routerArray.split(' '); cf.route_name.value=each_info[0].replace(/↔/g," ");; var private=each_info[1]; if( private == 1) cf.SRoutePrivate.checked = true; else cf.SRoutePrivate.checked = false; var active=each_info[2]; if( active == 1) cf.SRouteActive.checked = true; else cf.SRouteActive.checked = false; var dest_array=each_info[3].split('.'); cf.dest_ip1.value=dest_array[0]; cf.dest_ip2.value=dest_array[1]; cf.dest_ip3.value=dest_array[2]; cf.dest_ip4.value=dest_array[3]; var mask_array=each_info[4].split('.'); cf.mask1.value=mask_array[0]; cf.mask2.value=mask_array[1]; cf.mask3.value=mask_array[2]; cf.mask4.value=mask_array[3]; var gtw_array=each_info[5].split('.'); cf.gtw_ip1.value=gtw_array[0]; cf.gtw_ip2.value=gtw_array[1]; cf.gtw_ip3.value=gtw_array[2]; cf.gtw_ip4.value=gtw_array[3]; cf.route_metric.value=each_info[6]; } } var wan_proto="$info_get_wanproto"; if ( wan_proto == "pptp" ) { var pptp_eth1_wanip="$pptp_eth1_wanip"; var pptp_eth1_wanmask="$pptp_eth1_wanmask"; } var dyn_pppoe="$dyn_pppoe"; if ( wan_proto == 'pppoe' && dyn_pppoe == 1) { var pppoe_eth1_wanip="$pppoe_eth1_wanip"; var pppoe_eth1_wanmask="$pppoe_eth1_wanmask"; } if ( "$info_get_wanip" == "") { var wan_ip="0.0.0.0" var wan_mask="0.0.0.0" } else { var wan_ip="$info_get_wanip"; var wan_mask="$info_get_wanmask"; } if( "$info_get_lanip" == "" ) { var lan_ip="0.0.0.0"; var lan_mask="0.0.0.0"; } else { var lan_ip="$info_get_lanip" var lan_mask="$info_get_lanmask" } . . . . . . . . . EOF print_http_footer