fff-web-ui: Make public page usable for layer 3 variante #250

Open
ChristianD wants to merge 2 commits from ChristianD/firmware:webuineu into master
Member

The public WebUi was made for the node variante.

With this patch, only show Batman-adv infos on the public web-ui if batctl exists. If babeld or bird exist, show infos about babel and count all clients from the router on the bridge and not from batctl.

The public WebUi was made for the node variante. With this patch, only show Batman-adv infos on the public web-ui if batctl exists. If babeld or bird exist, show infos about babel and count all clients from the router on the bridge and not from batctl.
rohammer reviewed 2022-04-17 00:54:45 +02:00
@ -57,6 +57,7 @@ contact="$(uci -q get "fff.system.contact")"
</table>
</fieldset>
</td><td>
<% if [ -f /usr/sbin/batctl ] ; then %>
Member

Hi Christian,
grossartig, dass du dich dem web-ui annimmst!

So absolute Pfade koennen ganz schnell zu Stolperfallen werden. Dieses Skript verwendet batctl ohne Pfad. Dann sollte man auch mit which entlang von $PATH suchen.

Hi Christian, grossartig, dass du dich dem web-ui annimmst! So absolute Pfade koennen ganz schnell zu Stolperfallen werden. Dieses Skript verwendet batctl ohne Pfad. Dann sollte man auch mit which entlang von $PATH suchen.
Author
Member

Habs mal mit dem command -v von lemmi gemacht. Sorry für den doppelten Push, ich habs mal wieder vermasselt auf Anhieb (ich werde mich nie mit git anfreunden...)

Habs mal mit dem command -v von lemmi gemacht. Sorry für den doppelten Push, ich habs mal wieder vermasselt auf Anhieb (ich werde mich nie mit git anfreunden...)
ChristianD marked this conversation as resolved
Owner

An der Stelle noch mal der Hinweis auf Debian's which hunt. POSIX kennt kein which. Mit command -v hat man aber eine Alternative.

An der Stelle noch mal der Hinweis auf [Debian's which hunt](https://lwn.net/Articles/874049/). POSIX kennt kein `which`. Mit `command -v` hat man aber eine Alternative.
ChristianD force-pushed webuineu from 91fe4f1500 to b3384b1d0e 2022-04-17 07:43:05 +02:00 Compare
ChristianD force-pushed webuineu from b3384b1d0e to a6f7d34e6c 2022-04-17 07:47:49 +02:00 Compare
fbl added this to the next-feature milestone 2022-04-18 21:21:14 +02:00
fbl added the
feature
label 2022-04-18 21:21:34 +02:00
rohammer reviewed 2022-04-18 21:46:58 +02:00
@ -69,0 +87,4 @@
fi
if
pgrep babeld >/dev/null; then
neighbours="$(echo dump | nc ::1 33123 | grep '^add neighbour' |
Member

War da nicht was mit dem babeld dump? Bekommt man da nicht von aussen die Kisten ganz leicht kaputt.
509846fa0b

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
Author
Member

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 ;)
ChristianD marked this conversation as resolved
fbl modified the milestone from next-feature to 20220814 2022-04-21 13:12:34 +02:00
ChristianD force-pushed webuineu from a6f7d34e6c to ec17108880 2022-04-23 08:16:57 +02:00 Compare
ChristianD force-pushed webuineu from ec17108880 to d1adf5cbdd 2022-04-23 08:34:30 +02:00 Compare
ChristianD force-pushed webuineu from d1adf5cbdd to 230c258ca6 2022-04-23 09:02:00 +02:00 Compare
fbl modified the milestone from 20220814 to next-feature 2022-08-15 23:19:20 +02:00
fbl requested changes 2023-12-26 21:58:59 +01:00
@ -69,0 +73,4 @@
<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)
Owner

Das mesh_interface sollte aus dem UCI kommen: uci get nodewatcher.@network[0].mesh_interface (siehe 50-clients.sh im Paket fff-network).

Kann bridge fdb mit mehreren Argumenten hinter brport umgehen? Ich fürchte das geht so nicht wenn mehr als ein Interface gelistet ist.

Das mesh_interface sollte aus dem UCI kommen: `uci get nodewatcher.@network[0].mesh_interface` (siehe `50-clients.sh` im Paket `fff-network`). Kann `bridge fdb` mit mehreren Argumenten hinter `brport` umgehen? Ich fürchte das geht so nicht wenn mehr als ein Interface gelistet ist.
@ -69,0 +88,4 @@
if
pgrep babeld >/dev/null; then
lockfile="/tmp/fff-web-ui.babel.lock"
if [ -e $lockfile ] && [ 30 -gt $(( $(date +%s) - $(date -r $lockfile +%s) )) ] ; then
Owner

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.

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.
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
Sign in to join this conversation.
No description provided.