fff-web-ui: Make public page usable for layer 3 variante #250
|
@ -67,6 +67,47 @@ contact="$(uci -q get "fff.system.contact")"
|
|||
<tr><th>Lokale Clients:</th><td><% echo -n $(batctl tl -H 2> /dev/null | grep -c 'W') %></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<% fi
|
||||
if birdc show status >/dev/null 2>&1 || pgrep babeld >/dev/null; then %>
|
||||
<fieldset style="min-height: 15em;">
|
||||
<legend>Status</legend>
|
||||
<table>
|
||||
<% #Count Clients
|
||||
client_count=$(bridge fdb show br br_client brport $(ls "/sys/class/net/br-client/brif" | grep -v '^bat') | grep -v self | grep -v permanent -c)
|
||||
|
||||
%>
|
||||
<tr><th>Lokale Clients:</th><td><% echo $client_count %></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset style="min-height: 15em;">
|
||||
<legend>Babel Status</legend>
|
||||
<table>
|
||||
<tr><th>IP</th><th>Interface</th><th>Kosten</th></tr>
|
||||
<% if birdc show status >/dev/null 2>&1; then
|
||||
neighbours="$(birdc -r show babel neighbors | tail -n +5 | awk '{ printf "<tr><td>%s</td><td>%s</td><td>%s</td></tr>", $1, $2, $3 }')"
|
||||
fi
|
||||
if
|
||||
pgrep babeld >/dev/null; then
|
||||
lockfile="/tmp/fff-web-ui.babel.lock"
|
||||
ChristianD marked this conversation as resolved
Outdated
rohammer
commented
War da nicht was mit dem babeld dump? Bekommt man da nicht von aussen die Kisten ganz leicht kaputt. War da nicht was mit dem babeld dump? Bekommt man da nicht von aussen die Kisten ganz leicht kaputt.
https://git.freifunk-franken.de/freifunk-franken/simple-babelweb/commit/509846fa0b9e27f7adec0895dcf351795814d7f4
ChristianD
commented
da war was... Ich hab mal bisschen was aus simple babelweb geklaut und noch etwas verbessert ;) da war was... Ich hab mal bisschen was aus simple babelweb geklaut und noch etwas verbessert ;)
|
||||
if [ -e $lockfile ] && [ 30 -gt $(( $(date +%s) - $(date -r $lockfile +%s) )) ] ; then
|
||||
fbl
commented
Wäre das nicht sinnvoll das für bird ebenfalls zu machen? An sich benötigen wir hier kein extra Lockfile. Es genügt das Änderungsdatum der Inhaltsdatei ( Vom Codefluss her wird es möglicherweise schöner, wenn man einfach immer den Inhalt der Datei anzeigt, und kurz darüber per lockfile-check den Dateiinhalt aktualisiert, wenn er schon älter als eine gewisse Zeit ist. Wäre das nicht sinnvoll das für bird ebenfalls zu machen?
An sich benötigen wir hier kein extra Lockfile. Es genügt das Änderungsdatum der Inhaltsdatei (`fff-web-ui.babel`) zu prüfen.
Vom Codefluss her wird es möglicherweise schöner, wenn man einfach immer den Inhalt der Datei anzeigt, und kurz darüber per lockfile-check den Dateiinhalt aktualisiert, wenn er schon älter als eine gewisse Zeit ist.
|
||||
neighbours=$(cat /tmp/fff-web-ui.babel)
|
||||
else
|
||||
neighbours="$(echo dump | nc ::1 33123 | grep '^add neighbour' |
|
||||
awk '{
|
||||
for (i=2; i < NF; i += 2) {
|
||||
vars[$i] = $(i+1)
|
||||
}
|
||||
}
|
||||
{
|
||||
printf "<tr><td>%s</td><td>%s</td><td>%s</td></tr>", vars["address"], vars["if"], vars["cost"]
|
||||
}')"
|
||||
echo "$neighbours" > /tmp/fff-web-ui.babel
|
||||
touch $lockfile
|
||||
fi
|
||||
fi
|
||||
echo -n "$neighbours"
|
||||
%>
|
||||
</table>
|
||||
</fieldset>
|
||||
<% fi %>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
|
Loading…
Reference in New Issue
Das mesh_interface sollte aus dem UCI kommen:
uci get nodewatcher.@network[0].mesh_interface
(siehe50-clients.sh
im Paketfff-network
).Kann
bridge fdb
mit mehreren Argumenten hinterbrport
umgehen? Ich fürchte das geht so nicht wenn mehr als ein Interface gelistet ist.