end
+--[[
+A simple template element
+]]--
+Template = class(Node)
+
+function Template.__init__(self, template)
+ Node.__init__(self)
+ self.template = template
+end
+
+
--[[
Map - A map describing a configuration file
]]--
<div class="clear"></div>
</div></div>
-<div class="separator magenta bold">FFLuCI 0.2 - Freifunk Lua Configuration Interface</div>
+<div class="separator magenta bold"><a href="http://luci.freifunk-halle.net">FFLuCI 0.2 - Freifunk Lua Configuration Interface</a></div>
</body>
</html>
\ No newline at end of file
require("ffluci.model.uci")
require("ffluci.sys")
-m = Map("dhcp", "DHCP")
+m = Map("dhcp", "DHCP", [[Mit Hilfe von DHCP können Netzteilnehmer automatisch
+ihre Netzwerkkonfiguration (IP-Adresse, Netzmaske, DNS-Server, DHCP, ...) beziehen.]])
s = m:section(TypedSection, "dhcp")
s.addremove = true
end
end
-s:option(Value, "start", "Start").rmempty = true
+s:option(Value, "start", "Start", "Erste vergebene Adresse (letztes Oktett)").rmempty = true
-s:option(Value, "limit", "Limit").rmempty = true
+s:option(Value, "limit", "Limit", "Letzte vergebene Adresse (letztes Oktett)").rmempty = true
s:option(Flag, "dynamicdhcp", "Dynamisches DHCP").rmempty = true
s:option(Value, "name", "Name").optional = true
-s:option(Flag, "ignore", "Schnittstelle ignorieren").optional = true
+s:option(Flag, "ignore", "Schnittstelle ignorieren", "DHCP für dieses Netzwerk deaktivieren").optional = true
s:option(Value, "netmask", "Netzmaske").optional = true
-- ToDo: Translate, Add descriptions and help texts
-m = Map("luci_fw", "Firewall")
+m = Map("luci_fw", "Firewall", [[Mit Hilfe der Firewall können Zugriffe auf das Netzwerk
+erlaubt, verboten oder umgeleitet werden.]])
s = m:section(TypedSection, "rule")
s.addremove = true
-- ToDo: Translate, Add descriptions and help texts
-m = Map("network", "Schnittstellen")
+m = Map("network", "Schnittstellen", [[An dieser Stelle können die einzelnen Schnittstellen
+des Netzwerkes konfiguriert werden. Es können mehrere Schnittstellen zu einer Brücke zusammengefasst werden,
+indem diese durch Leerzeichen getrennt aufgezählt werden und ein entsprechender Haken im Feld Netzwerkbrücke
+gesetzt wird. Es können VLANs in der Notation SCHNITTSTELLE.VLANNR (z.B.: eth0.1) oder
+Aliase über die Notation SCHNITTSTELLE:ALIASNR (z.B.: eth0:1) verwendet werden.]])
s = m:section(TypedSection, "interface")
s.addremove = true
-- ToDo: Translate, Add descriptions and help texts
require("ffluci.sys")
-m = Map("luci_fw", "Portweiterleitung")
+m = Map("luci_fw", "Portweiterleitung", [[Portweiterleitungen ermöglichen es interne
+Netzwerkdienste von einem anderen externen Netzwerk aus erreichbar zu machen.]])
s = m:section(TypedSection, "portfw")
s.addremove = true
proto = s:option(ListValue, "proto", "Protokoll")
proto:value("tcp", "TCP")
proto:value("udp", "UDP")
-proto:value("tcpudp", "TCP+UDP")
+proto:value("tcpudp", "TCP + UDP")
dport = s:option(Value, "dport", "Externer Port", "Port[:Endport]")
-- ToDo: Translate, Add descriptions and help texts
-m = Map("network", "Punkt-zu-Punkt Verbindungen")
+m = Map("network", "Punkt-zu-Punkt Verbindungen", [[Punkt-zu-Punkt Verbindungen
+über PPPoE oder PPTP werden häufig dazu verwendet, um über DSL o.ä. Techniken eine
+Verbindung zum Internetgateway eines Internetzugangsanbieters aufzubauen.]])
s = m:section(TypedSection, "interface")
s.addremove = true
s:option(Value, "username", "Benutzername")
s:option(Value, "password", "Passwort")
-s:option(Value, "keepalive", "Keep-Alive").optional = true
+s:option(Value, "keepalive", "Keep-Alive", "Bei einer Verbindungstrennung automatisch neu verbinden").optional = true
-s:option(Value, "demand", "Dial on Demand (idle time)").optional = true
+s:option(Value, "demand", "Dial on Demand (idle time)", "Zeit nach der die Verbindung bei Inaktivität getrennt wird").optional = true
srv = s:option(Value, "server", "PPTP-Server")
srv:depends("proto", "pptp")
-- ToDo: Translate, Add descriptions and help texts
-m = Map("network", "Statische Routen")
+m = Map("network", "Statische Routen", [[Statische Routen geben an,
+über welche Schnittstelle und welches Gateway ein bestimmter Host
+oder ein bestimmtes Netzwerk erreicht werden kann.]])
s = m:section(TypedSection, "route")
s.addremove = true
-- ToDo: Autodetect things, maybe use MultiValue instead, Translate, Add descriptions
-m = Map("network", "VLAN", "Konfguriert den Switch des Routers.")
+m = Map("network", "VLAN", [[Die Netzwerkschnittstellen am Router
+können zu verschienden VLANs zusammengefasst werden, in denen Geräte miteinander direkt
+kommunizieren können. VLANs werden auch häufig dazu genutzt, um Netzwerke voneiander zu trennen.
+So ist oftmals eine Schnittstelle als Uplink zu einem größerem Netz, wie dem Internet vorkonfiguriert
+und die anderen Schnittstellen bilden ein VLAN für das lokale Netzwerk.]])
-s = m:section(TypedSection, "switch")
+s = m:section(TypedSection, "switch", nil, [[Die zu einem VLAN gehörenden Schnittstellen
+werden durch Leerzeichen getrennt. Die Schnittstelle mit der höchsten Nummer (meistens 5) bildet
+in der Regel die Verbindung zur internen Netzschnittstelle des Routers. Bei Geräten mit 5 Schnittstellen
+ist in der Regel die Schnittstelle mit der niedrigsten Nummer (0) die standardmäßige Uplinkschnittstelle des Routers.]])
for i = 0, 15 do
s:option(Value, "vlan"..i, "vlan"..i).optional = true
-m = Map("dhcp", "Dnsmasq")
+m = Map("dhcp", "Dnsmasq", "Dnsmasq ist ein kombinierter DHCP-Server und DNS-Forwarder für NAT-Firewalls.")
s = m:section(TypedSection, "dnsmasq", "Einstellungen")
s.anonymous = true
-- ToDo: Translate, Add descriptions
-m = Map("dropbear", "SSH-Server")
+m = Map("dropbear", "SSH-Server", [[Der SSH-Server ermöglicht Shell-Zugriff
+über das Netzwerk und bietet einen integrierten SCP-Dienst.]])
s = m:section(TypedSection, "dropbear")
s.anonymous = true
port = s:option(Value, "Port", "Port")
port.isinteger = true
-pwauth = s:option(Flag, "PasswordAuth", "Passwortanmeldung")
+pwauth = s:option(Flag, "PasswordAuth", "Passwortanmeldung", "Erlaube Anmeldung per Passwort")
pwauth.enabled = 'on'
pwauth.disabled = 'off'
-- ToDo: Translate, Add descriptions
-m = Map("httpd", "HTTP-Server")
+m = Map("httpd", "HTTP-Server", "Der HTTP-Server ist u.a. für die Bereitstellung dieser Obefläche zuständig.")
s = m:section(TypedSection, "httpd")
s.anonymous = true
config = s:option(Value, "c_file", "Konfigurationsdatei", "/etc/httpd.conf wenn leer")
config.rmempty = true
-realm = s:option(Value, "realm", "Anmeldeaufforderung")
+realm = s:option(Value, "realm", "Anmeldeaufforderung", "Aufforderungstext zum Anmelden im Administrationsbereich")
realm.rmempty = true
return m
\ No newline at end of file
-- ToDo: Autodetect things, Translate, Add descriptions
require("ffluci.fs")
-m = Map("olsr", "OLSR")
+m = Map("olsr", "OLSR", [[OLSR ist ein flexibles Routingprotokoll,
+dass den Aufbau von mobilen Ad-Hoc Netzen unterstützt.]])
s = m:section(NamedSection, "general", "olsr", "Allgemeine Einstellungen")
-- ToDo: Translate, Add descriptions and help texts
-m = Map("wireless", "Geräte")
+m = Map("wireless", "Geräte", [[An dieser Stelle können eingebaute WLAN-Geräte konfiguriert werden.]])
s = m:section(TypedSection, "wifi-device")
--s.addremove = true
-- ToDo: Translate, Add descriptions and help texts
-m = Map("wireless", "Netze")
+m = Map("wireless", "Netze", [[Pro WLAN-Gerät können mehrere Netze bereitgestellt werden.
+Es sollte beachtet werden, dass es hardware- / treiberspezifische Einschränkungen gibt.
+So kann pro WLAN-Gerät in der Regel entweder 1 Ad-Hoc-Zugang ODER bis zu 3 Access-Point und 1 Client-Zugang
+gleichzeitig erstellt werden.]])
s = m:section(TypedSection, "wifi-iface")
s.addremove = true
end
end
-network = s:option(ListValue, "network", "Netzwerk")
+network = s:option(ListValue, "network", "Netzwerk", "WLAN-Netz zu Netzwerk hinzufügen")
network:value("")
for k, v in pairs(ffluci.model.uci.show("network").network) do
if v[".type"] == "interface" and k ~= "loopback" then
s:option(Value, "txpower", "Sendeleistung", "dbm").rmempty = true
+s:option(Flag, "frameburst", "Broadcom-Frameburst").optional = true
+s:option(Flag, "bursting", "Atheros-Frameburst").optional = true
+
+
encr = s:option(ListValue, "encryption", "Verschlüsselung")
encr:value("none", "keine")
encr:value("wep", "WEP")
+++ /dev/null
-<%+header%>
-<%+footer%>
\ No newline at end of file
<%+header%>
+<h1><%:network Netzwerk%></h1>
+<p><%:network1 In diesem Bereich finden sich alle netzwerkbezogenen Einstellungen.%></p>
+<p><%:network2 Der Netzwerkswitch kann bei den meisten Routern frei konfiguriert
+und in mehrere VLANs aufgeteilt werden. %></p>
+<p><%:network3 Schnittstellen und PPPoE/PPTP-Einstellungen ermöglichen
+die freie Organisation des Netzwerks und die Anbindung an ein WAN.%></p>
+<p><%:network4 DHCP ermöglichst die automatische Netzwerkkonfiguration von Rechnern im (W)LAN.%></p>
+<p><%:network5 Portweiterleitung und Firewall erlauben eine effektive Absicherung des Netzes, bei gleichzeitiger
+Bereitstellung von externen Diensten.%></p>
<%+footer%>
\ No newline at end of file
<%+header%>
+<h1><%:services Dienste%></h1>
+<p><%:services1 Dienste und Dämonen stellen bestimmte Funktionalitäten auf dem Router zur Verfügung.%></p>
+<p><%:services2 Es handelt sich hierbei meist um Netzwerkserver, die verschiedene Aufgaben auf dem Router erfüllen,
+beispielsweise Shell-Zugang ermöglichen oder diese Weboberfläche per HTTP anbieten.%></p>
+<p><%:servcies3 In diesen Bereich fallen auch die Meshnetzwerkdienste wie OLSR und BATMAN, die dabei helfen,
+ein autarkes Ad-Hoc Netzwerk aufzubauen.%></p>
<%+footer%>
\ No newline at end of file
<%+header%>
+<h1><%:wifi Drahtlos%></h1>
+<p><%:wifi1 Hier finden sich Konfiugrationsmöglichkeiten für Drahtlos-Netzwerke nach dem WLAN-Standard.%></p>
+<p><%:wifi2 802.11b/g/a/n-Geräte können so einfach in das bestehende physische Netzwerk integriert werden.
+Die Unterstützung von virtuellen Adaptern ermöglicht auch den Einsatz als Wireless-Repeater oder von
+mehreren Netzwerken gleichzeitig auf einem Gerät.%></p>
+<p><%:wifi3 Es werden Managed, Client, Ad-Hoc und WDS-Modus unterstützt sowie WPA und WPA2-Verschlüsselung zur gesicherten
+Kommunikation.%></p>
<%+footer%>
\ No newline at end of file
margin: 0%;
}
+.cbi-section-descr {
+ padding-bottom: 1em;
+}
+
.cbi-value-description {
font-style: italic;
font-size: 0.8em;