packages/fff: Add package fff-web-l3config #12
|
@ -19,6 +19,7 @@ define Package/fff-layer3
|
|||
+fff-layer3-config \
|
||||
+fff-network \
|
||||
+fff-ra \
|
||||
+fff-web-l3config \
|
||||
+fff-wireguard \
|
||||
+arptables \
|
||||
+bmon \
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-web-l3config
|
||||
PKG_RELEASE:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
ChristianD marked this conversation as resolved
Outdated
|
||||
|
||||
define Package/fff-web-l3config
|
||||
SECTION:=base
|
||||
CATEGORY:=Freifunk
|
||||
TITLE:=Freifunk-Franken layer3 config webui
|
||||
URL:=http://www.freifunk-franken.de
|
||||
DEPENDS:= \
|
||||
+fff-layer3-config \
|
||||
+fff-web-ui
|
||||
endef
|
||||
|
||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
Da du das eh nochmal änderst, würde ich gleich alphabetisch sortieren... Da du das eh nochmal änderst, würde ich gleich alphabetisch sortieren...
|
||||
define Package/fff-web-l3config/description
|
||||
Configure a layer3 router via a web UI
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
"Configure a layer3 router via a web UI" "Configure a layer3 router via a web UI"
|
||||
# nothing
|
||||
endef
|
||||
|
||||
define Package/fff-web-l3config/install
|
||||
$(CP) ./files/* $(1)/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,fff-web-l3config))
|
||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
Prepare und Configure können weg. Prepare und Configure können weg.
|
|
@ -0,0 +1 @@
|
|||
l3settings,Layer 3
|
||||
ChristianD marked this conversation as resolved
fbl
commented
wir haben überall den Link komplett ausgeschrieben, daher würde ich auch hier 'layer3' statt 'l3settings' bevorzugen. wir haben überall den Link komplett ausgeschrieben, daher würde ich auch hier 'layer3' statt 'l3settings' bevorzugen.
Wenn noch weitere Layer-3 Seiten geplant sind, dann sollte etwas in der Art l3settings/l3config beibehalten werden und stattdessen der Name der Seite ("Layer 3") angepasst werden.
|
|
@ -0,0 +1,88 @@
|
|||
#!/usr/bin/haserl
|
||||
|
||||
<%in /www/include/header %>
|
||||
<%in /www/include/helpers %>
|
||||
<% show_msg %>
|
||||
|
||||
<fieldset style="min-height: 7em;" class="smallinput">
|
||||
<legend>Status</legend>
|
||||
<table><tr><td>
|
||||
<textarea name="status" rows="7" cols="100" readonly>
|
||||
ChristianD marked this conversation as resolved
fbl
commented
Die Einrückung in dieser Datei hat noch Verbesserungspotential. Die Einrückung in dieser Datei hat noch Verbesserungspotential.
|
||||
<%
|
||||
# write
|
||||
if [ "$REQUEST_METHOD" = "POST" ] && [ -n "${POST_writeconfig}" ] ; then
|
||||
ChristianD marked this conversation as resolved
Outdated
adschm
commented
Ich persönlich hab da immer lieber ein "-n" anstatt direkt die Variable als bool zu prüfen. Praktisch sollte es aber egal sein. Ein paar weitere Fälle darunter. Ich persönlich hab da immer lieber ein "-n" anstatt direkt die Variable als bool zu prüfen. Praktisch sollte es aber egal sein. Ein paar weitere Fälle darunter.
ChristianD
commented
Ich hab mir das von hier geklaut, so ist es wenigstens überall im WebUI gleich https://git.freifunk-franken.de/freifunk-franken/firmware/src/branch/master/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html#L5
Ich hab mir das von hier geklaut, so ist es wenigstens überall im WebUI gleich
adschm
commented
Ich meine nicht Ich meine Ich meine _nicht_ `[ "$REQUEST_METHOD" = "POST" ]`, das ist ein Vergleich und okay.
Ich meine `[ "${POST_writeconfig}" ]`, wo der string aus der Variable direkt gegen bool geprüft wird.
ChristianD
commented
ah ok, ja ist vielleicht schöner, habs mal überarbeitet ah ok, ja ist vielleicht schöner, habs mal überarbeitet
|
||||
echo "${POST_l3config}" > /etc/config/gateway
|
||||
echo "Konfiguration wurde gespeichert. Bitte nun Konfiguration schreiben"
|
||||
fi
|
||||
|
||||
if [ -n "${POST_loadconfig}" ] ; then
|
||||
yes | configure-layer3 -c
|
||||
ChristianD marked this conversation as resolved
fbl
commented
configure ist ein Schritt, der im WebUI einzeln nur wenig Sinn ergibt. Ich würde das configure stattdessen eher mit in die "testen" und "anwenden" Aktionen packen, so dass es für den Nutzer nur noch zwei Möglichkeiten gibt. Wenn configure-layer3 einen Exitstatus != 0 hat, dann abbrechen und Fehler anzeigen. configure ist ein Schritt, der im WebUI einzeln nur wenig Sinn ergibt. Ich würde das configure stattdessen eher mit in die "testen" und "anwenden" Aktionen packen, so dass es für den Nutzer nur noch zwei Möglichkeiten gibt. Wenn configure-layer3 einen Exitstatus != 0 hat, dann abbrechen und Fehler anzeigen.
|
||||
fi
|
||||
|
||||
if [ -n "${POST_testconfig}" ] ; then
|
||||
configure-layer3 -t &
|
||||
# we need a sleep, because configure-layer3 -t need some time
|
||||
sleep 1;
|
||||
echo "Konfigurationstest läuft, bitte innerhalb von 200 Sekunden abbrechen ansonsten wird die Konfiguration zurück gesetzt"
|
||||
fi
|
||||
|
||||
if [ -n "${POST_testconfigcancel}" ] ; then
|
||||
configure-layer3 -k 1>&2
|
||||
echo "Testmodus abgebrochen, Konfiguration bleibt gespeichert. Zum endgültigen Übernehmen auf 'Konfiguration Übernehmen' klicken"
|
||||
fi
|
||||
|
||||
if [ -n "${POST_applyconfig}" ] ; then
|
||||
configure-layer3 -a
|
||||
echo "Konfiguration wurde komplett gespeichert und ist nun rebootfest"
|
||||
fi
|
||||
|
||||
if [ -f /tmp/configure-layer3-pid ] ; then
|
||||
echo "Testmodus aktiv"
|
||||
fi
|
||||
|
||||
if [ -n "${POST_loadvlandefault}" ] ; then
|
||||
yes | loadvlandefault 1>&2
|
||||
echo "VLAN Defaults wurden geladen"
|
||||
fi
|
||||
%>
|
||||
</textarea>
|
||||
<p>
|
||||
<form method="post"><input type="submit" name="loadconfig" value="Router konfigurieren" style="margin-top: 5px; margin-left: 3px;" />
|
||||
<%
|
||||
if [ -f /tmp/configure-layer3-pid ] ; then
|
||||
echo "<input type=\"submit\" name=\"testconfigcancel\" value=\"Test beenden\" style=\"margin-top: 5px; margin-left: 3px;\" />"
|
||||
else
|
||||
echo "<input type=\"submit\" name=\"testconfig\" value=\"Konfiguration testen\" style=\"margin-top: 5px; margin-left: 3px;\" />"
|
||||
fi
|
||||
%>
|
||||
<input type="submit" name="applyconfig" value="Konfiguration übernehmen" style="margin-top: 5px; margin-left: 3px;" /></form>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
* Erstelle zuerst unten eine Konfiguration und speichere diese ab</br>
|
||||
ChristianD marked this conversation as resolved
fbl
commented
Passiv verwenden. "Zuerst muss eine Konfiguration [..]" Passiv verwenden. "Zuerst muss eine Konfiguration [..]"
|
||||
* Klicke danach auf 'Router konfigurieren' um diese Konfiguration in die Routereinstellungen zu schreiben</br>
|
||||
* Danach kannst du mit Konfiguration testen, die Konfiguration testen. Sollte alles funktionieren musst du diesen Test mit Test beenden beenden ansonsten werden nach 200 Sekunden die Einstellungen zurüruck gesetzt. Sollte die Konfiguration fehlerhaft sein, warte einfach 200 Sekunden und du kommst auf den alten Weg wieder auf das Gerät. Ein manueller Neustart setzt auch die komplette Konfiguriation züruck</br>
|
||||
* Wenn die Einstellungen funktionieren klicke auf Konfiguration übernehmen, erst dann ist die Konfiguration auch rebootfest.</br>
|
||||
ChristianD marked this conversation as resolved
fbl
commented
Bitte HTML Aufzählungen (ul/li) verwenden. Noch besser: Als eigenen Block umsetzen. Bitte HTML Aufzählungen (ul/li) verwenden.
Noch besser: Als eigenen Block umsetzen.
|
||||
</td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<%
|
||||
# read
|
||||
l3config=$(cat /etc/config/gateway)
|
||||
%>
|
||||
|
||||
<form method="post">
|
||||
<table style="width: 100%;">
|
||||
<tr><td>
|
||||
<fieldset style="min-height: 13em;">
|
||||
<legend>Konfigurationsdatei</legend>
|
||||
ChristianD marked this conversation as resolved
fbl
commented
Ein Verweis auf den Dateipfad wäre hier vermutlich nicht schlecht, dann weiß man was man da editiert. Ein Verweis auf den Dateipfad wäre hier vermutlich nicht schlecht, dann weiß man was man da editiert.
|
||||
<textarea name="l3config" rows="25" cols="100"><% echo "$l3config" %></textarea>
|
||||
</fieldset>
|
||||
<p><input type="submit" name="writeconfig" value="Konfigurationdatei speichern" style="margin-top: 5px; margin-left: 3px;" />
|
||||
<input type="submit" onclick="return confirm('Achtung: Es werden alle VLAN Einstellungen zurück gesetzt und die Standarteinstellungen gelanden. Willst du dies wirklich?')" name="loadvlandefault" value="VLAN default laden" style="margin-top: 5px; margin-left: 3px;" /></p>
|
||||
ChristianD marked this conversation as resolved
fbl
commented
Typo: Standard Ich würde das ganze "Auf Standard(einstellungen) zurücksetzen" oder "Standardkonfiguration laden" nennen. Die Buttons mit in das fieldset der Konfigurationsdatei. Typo: Standard
Ich würde das ganze "Auf Standard(einstellungen) zurücksetzen" oder "Standardkonfiguration laden" nennen.
Die Buttons mit in das fieldset der Konfigurationsdatei.
|
||||
</td><td>
|
||||
</form>
|
||||
</table>
|
||||
|
||||
<%in /www/include/footer %>
|
PKG_BUILD_DIR kann weg, siehe #25