simple-babelweb/babel.html

143 lines
3.1 KiB
HTML
Executable File

#!/usr/bin/haserl
<%
echo -en "Content-Type: text/html\r\n\r\n"
HOSTNAME="$(uci -q get "fff.system.hostname")"
lockfile="/tmp/simple.babelweb.lock"
if [ -e $lockfile ];then
if [ 30 -gt $(( $(date +%s) - $(date -r $lockfile +%s) )) ];then
echo "only one access per minute!!" && exit
fi
fi
data=$(echo "dump" | nc ::1 33123)
touch $lockfile
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><%= ${HOSTNAME} %></title>
<link href="/style.css" rel="stylesheet" type="text/css" media="screen" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="0" />
<style>
table {
font-family: monospace, sans-serif;
border-collapse: collapse;
}
td, th {
border: 1px solid #fddddd;
text-align: left;
padding: 1px;
padding-right: 10px;
}
tr:nth-child(even) {
background-color: #dddddd;
}
</style>
</head>
<body>
<h1>Simple Babelweb</h1>
<br />
<form action="babel.html" method="get">
<button type="submit" name="" value="">home</button>
<button type="submit" name="routes" value="1">show all babel routes</button>
<button type="submit" name="v4table" value="1">show import/export table ipv4</button>
<button type="submit" name="v6table" value="1">show import/export table ipv6</button>
<input type="text" size="17" name="ip">
<button type="submit" name="weg" value="1">Wege zur IP Adresse</button>
</form>
<br />
<H2>Babel information</H2>
<table>
<tr>
<td><% echo "$data" | head -n 1 %> </td>
</tr>
<tr>
<td><% echo "$data" | head -n 2 | tail -n 1 %> </td>
</tr>
<tr>
<td><% echo "$data" | head -n 3 | tail -n 1 %> </td>
</tr>
<tr>
<td><% echo "$data" | head -n 4 | tail -n 1 %> </td>
</tr>
</table>
<br />
<%
if ! [ ${GET_routes} ] && ! [ ${GET_v4table} ] && ! [ ${GET_v6table} ] && ! [ ${GET_weg} ] ; then
%>
<H2>Interfaces</H2>
<%
echo "$data" | grep interface | while read line ; do
echo "$line"
echo "<br>"
done
%>
<br />
<H2>Neighbours</H2>
<%
echo "$data" | grep neighbour | while read line ; do
echo $line
echo "<br>"
done
%>
<br />
<H2>Redistributed routes</H2>
<%
echo "$data" | grep xroute | while read line ; do
echo $line
echo "<br>"
done
%>
<%
fi
echo "<table>"
if [ ${GET_routes} ]; then
%>
<H2>All routes</H2>
<%
echo "$data" | grep -w route | while read line ; do
echo "<tr><td>$line</td></tr>"
done
fi
if [ ${GET_v4table} ]; then
%>
<H2>Show IPv6 Routing Tabele</H2>
<%
v4routen=$(ip ro sh tab 10)
echo "$v4routen" | while read line ; do
echo "<tr><td>$line</td></tr>"
done
fi
if [ ${GET_v6table} ]; then
%>
<H2>Show IPv6 Routing Tabele</H2>
<%
v6routen=$(ip -6 ro sh tab 10)
echo "$v6routen" | while read line ; do
echo "<tr><td>$line</td></tr>"
done
fi
if [ ${GET_weg} ]; then
%>
<H2>Wege zu <%# echo ${GET_ip} %></H2>
<%
echo "$data" | grep -w route | grep "${GET_ip}" | while read line ; do
echo "<tr><td>$line</td></tr>"
done
fi
%>
</table>
</body>
</html>