123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/bin/sh
- echo Content-type: text/html
- echo
- cat<<EOF
- <HTML>
- <HEAD>
- <TITLE>OLSR-VIZ Data</TITLE>
- <META CONTENT="text/html; charset=iso-8859-1" HTTP-EQUIV="Content-Type">
- <META CONTENT="no-cache" HTTP-EQUIV="cache-control">
- </HEAD>
- <BODY>
- <script language='JavaScript1.2' type='text/javascript'>
- EOF
- # sed + txtinfo plugin
- re_ip='[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}'
- re_sep='[[:space:]]\{1,\}'
- re_nosep='[^[:space:]]\{1,\}'
- wget http://127.0.0.1:2006/all -qO - | sed -n "
- /^Table: Links$/,/^$/ {
- s# # - #g
- s#\($re_ip\)$re_sep\($re_ip\)\($re_sep$re_nosep\)\{3\}$re_sep\($re_nosep\)#parent.touch_edge(parent.touch_node('\1').set_metric(1).update(),parent.touch_node('\2').set_metric(1).update(),'\4');#p
- }
- /^Table: Topology$/,/^$/ {
- s#\($re_ip\)$re_sep\($re_ip\)\($re_sep$re_nosep\)\{2\}$re_sep\($re_nosep\)#parent.touch_edge(parent.touch_node('\1').update(),parent.touch_node('\2').update(),'\4');#p
- }
- /^Table: HNA$/,/^$/ {
- s#\($re_ip\)/\([0-9]\{1,\}\)$re_sep\($re_ip\)#parent.touch_hna(parent.touch_node('\3'),'\1','\2');#p
- }
- /^Table: Routes$/,/^$/ {
- s#\($re_ip\)/32$re_sep$re_nosep$re_sep\($re_nosep\).*#parent.touch_node('\1').set_metric('\2').update();#p
- }
- "
- hosts=$(uci show olsrd|grep hosts_file|cut -d "=" -f 2)
- if [ -n $hosts ]; then
- sed -n "
- s#\($re_ip\)$re_sep\($re_nosep\)$re_sep.*#parent.touch_node('\1').set_desc('\2');#p
- " < $hosts
- fi
- cat<<EOF
- parent.viz_callback();
- </script>
- </BODY></HTML>
- EOF
|