3 # Supplementary MOTD script with information about the network / router settings
5 # Version 0.5 written by Monter, modified by Shibby
7 MOTD_ON
=`/bin/nvram get sshd_motd`
10 if /usr
/bin
/[ "$MOTD_ON" == "1" ]; then
13 if /usr
/bin
/[ "$PROFILE" == "init" ]; then
14 sed -i "/mymotd/d" /root
/.profile
15 /bin
/echo "/usr/sbin/mymotd" >> /root
/.profile
18 # Function calculates number of bit in a netmask
34 *) /bin
/echo "Error: $dec is not recognised"; exit 1
40 LAN1
=`/bin/nvram get lan1_ipaddr | /usr/bin/wc -w`
41 LAN2
=`/bin/nvram get lan2_ipaddr | /usr/bin/wc -w`
42 LAN3
=`/bin/nvram get lan3_ipaddr | /usr/bin/wc -w`
43 DUAL
=`/bin/nvram get landevs | /bin/grep wl1 | /usr/bin/wc -l`
45 WAN_MASK
=`/bin/nvram get wan_netmask`
46 WAN_NUMBITS
=$
(mask2cidr
$WAN_MASK)
48 LAN_MASK
=`/bin/nvram get lan_netmask`
49 LAN_NUMBITS
=$
(mask2cidr
$LAN_MASK)
51 /bin
/echo -e "\033[1;34m ======================================================== \033[0m"
52 /bin
/echo -e "\033[1;32m Welcome to the `/bin/nvram get t_model_name` [`/bin/nvram get router_name`]\033[0m"
53 /bin
/echo -e "\033[1;31m Uptime: `/usr/bin/uptime | /bin/sed -e 's/, load/\n Load/'`\033[0m"
54 MEMBUFF
=`/bin/nvram get t_cafree`
55 if /usr
/bin
/[ "$MEMBUFF" == 1 ]; then
56 /usr
/bin
/awk '/MemTotal:/{total=$2} \
58 /Buffers:/{buffers=$2} \
59 /^Cached:/{cached=$2} \
61 printf " Mem usage: %0.1f", ((total-free-buffers-cached)*100/total); printf "%c", 37; \
62 printf " (used %0.2f", (total-free-buffers-cached)/1024; printf " of %0.2f", total/1024; printf " MB)\n"; \
64 if /usr
/bin
/[ `cat /proc/meminfo | /bin/grep SwapTotal | /usr/bin/awk '{ print $2 }'` -gt 0 ]; then
65 /usr
/bin
/awk '/SwapTotal:/{stotal=$2} \
66 /SwapFree:/{sfree=$2} \
67 /SwapCached:/{scached=$2} \
69 printf " Swap usage: %0.1f", ((stotal-sfree-scached)*100/stotal); printf "%c", 37; \
70 printf " (used %0.2f", (stotal-sfree-scached)/1024; printf " of %0.2f", stotal/1024; printf " MB)\n"; \
74 /usr
/bin
/awk '/MemTotal:/{total=$2} \
77 printf " Mem : used %0.1f", ((total-free)*100/total); printf "%c", 37; \
78 printf " (%0.2f", (total-free)/1024; printf " of %0.2f", total/1024; printf " MB)\n"; \
80 if /usr
/bin
/[ `cat /proc/meminfo | /bin/grep SwapTotal | /usr/bin/awk '{ print $2 }'` -gt 0 ]; then
81 /usr
/bin
/awk '/SwapTotal:/{stotal=$2} \
82 /SwapFree:/{sfree=$2} \
84 printf " Swap usage: %0.1f", ((stotal-sfree)*100/stotal); printf "%c", 37; \
85 printf " (used %0.2f", (stotal-sfree)/1024; printf " of %0.2f", stotal/1024; printf " MB)\n"; \
89 /bin
/echo " WAN : `/bin/nvram get wan_ipaddr`/$WAN_NUMBITS @ `/bin/nvram get wan_hwaddr`"
90 /bin
/echo " LAN : `/bin/nvram get lan_ipaddr`/$LAN_NUMBITS @ DHCP: `/bin/nvram get dhcpd_startip` - `/bin/nvram get dhcpd_endip`"
91 if /usr
/bin
/[ "$LAN1" == "1" ]; then
92 LAN1_MASK
=`/bin/nvram get lan1_netmask`
93 LAN1_NUMBITS
=$
(mask2cidr
$LAN1_MASK)
94 /bin
/echo " LAN1: `/bin/nvram get lan1_ipaddr`/$LAN1_NUMBITS @ DHCP: `/bin/nvram get dhcpd1_startip` - `/bin/nvram get dhcpd1_endip`";
96 if /usr
/bin
/[ "$LAN2" == "1" ]; then
97 LAN2_MASK
=`/bin/nvram get lan2_netmask`
98 LAN2_NUMBITS
=$
(mask2cidr
$LAN2_MASK)
99 /bin
/echo " LAN2: `/bin/nvram get lan2_ipaddr`/$LAN2_NUMBITS @ DHCP: `/bin/nvram get dhcpd2_startip` - `/bin/nvram get dhcpd2_endip`";
101 if /usr
/bin
/[ "$LAN3" == "1" ]; then
102 LAN3_MASK
=`/bin/nvram get lan3_netmask`
103 LAN3_NUMBITS
=$
(mask2cidr
$LAN3_MASK)
104 /bin
/echo " LAN3: `/bin/nvram get lan3_ipaddr`/$LAN3_NUMBITS @ DHCP: `/bin/nvram get dhcpd3_startip` - `/bin/nvram get dhcpd3_endip`";
106 GETCH24
=`/bin/nvram get wl0_channel`
107 if /usr
/bin
/[ "$GETCH24" == 0 ]; then CH24
="auto"; else CH24
=$GETCH24; fi
108 /bin
/echo " WL0 : `/bin/nvram get wl0_ssid` @ channel: `/bin/nvram get wl0_country`$CH24 @ `/bin/nvram get wl0_hwaddr`"
109 if /usr
/bin
/[ "$DUAL" == "1" ]; then
110 GETCH50
=`/bin/nvram get wl1_channel`
111 if /usr
/bin
/[ "$GETCH50" == 0 ]; then CH50
="auto"; else CH50
=$GETCH50; fi
112 /bin
/echo " WL1 : `/bin/nvram get wl1_ssid` @ channel: `/bin/nvram get wl1_country`$CH50 @ `/bin/nvram get wl1_hwaddr`"
114 STHMD_ISENABLED
=`/usr/sbin/cru l | /bin/grep "perm_on" | /usr/bin/wc -l`
115 STHMD_SUNENABLED
=`/usr/sbin/cru l | /bin/grep "sun_on" | /usr/bin/wc -l`
116 STHMD_SUNSET
=`/usr/sbin/cru l | /bin/grep "stealthsunset" | /usr/bin/awk '{ print $2" "$1 }'`
117 STHMD_SUNRISE
=`/usr/sbin/cru l | /bin/grep "stealthsunrise" | /usr/bin/awk '{ print $2" "$1 }'`
118 STHMD_SCHON
=`/usr/sbin/cru l | /bin/grep "stealthsheduleon" | /usr/bin/awk '{ print $2" "$1 }'`
119 STHMD_SCHOFF
=`/usr/sbin/cru l | /bin/grep "stealthsheduleoff" | /usr/bin/awk '{ print $2" "$1 }'`
120 STHMD_SCHONC
=`/bin/echo $STHMD_SCHON | /usr/bin/wc -c`
121 STHMD_SCHOFFC
=`/bin/echo $STHMD_SCHOFF | /usr/bin/wc -c`
122 if /usr
/bin
/[ $STHMD_ISENABLED -gt 0 -o $STHMD_SUNENABLED -gt 0 -o $STHMD_SCHONC -gt 1 -o $STHMD_SCHOFFC -gt 1 ]; then
123 /bin
/echo " -------------------------------------------------------- "
124 if /usr
/bin
/[ $STHMD_ISENABLED -gt 0 ]; then
125 /bin
/echo " Detected the presence of stealthMode which is now active"
127 if /usr
/bin
/[ $STHMD_SUNENABLED -gt 0 ]; then
128 /bin
/echo -e " stealthMode Sunset mode is currently active and is set\n for sunset at $( /bin/echo $STHMD_SUNSET | /usr/bin/awk '{$1=sprintf("%02d
", $1);$2=sprintf("%02d
", $2); print $1":"$2 }' ) and sunrise at $( /bin/echo $STHMD_SUNRISE | /usr/bin/awk '{$1=sprintf("%02d
", $1);$2=sprintf("%02d
", $2); print $1":"$2 }' )"
130 if /usr
/bin
/[ $STHMD_SCHONC -gt 1 -a $STHMD_SCHOFFC -gt 1 ]; then
131 /bin
/echo -e " stealthMode Scheduled mode is currently active and is\n set for sunset at $( /bin/echo $STHMD_SCHON | /usr/bin/awk '{$1=sprintf("%02d
", $1);$2=sprintf("%02d
", $2); print $1":"$2 }' ) and sunrise at $( /bin/echo $STHMD_SCHOFF | /usr/bin/awk '{$1=sprintf("%02d
", $1);$2=sprintf("%02d
", $2); print $1":"$2 }' )"
134 /bin
/echo -e "\033[1;34m ======================================================== \033[0m"